Creating Associations to Connectors

119 views
Skip to first unread message

Ray J

unread,
Sep 25, 2009, 1:58:09 PM9/25/09
to SysML Forum
OK, in the SysML spec and Sandy's book, I can find examples on how to
associate a block with connector (see pages 58, 59, and 73 for some
examples). But in using the tools (I'm trying this in both Sparx EA
and IBM Rhapsody), I have been unsuccesful to associate a block with
the connector - to declare that the connector is not just a line/
relationship on the drawing, but is associated with a real world
object - like a pipe or cable.

I figured out how to allocate the Item Flow to the connector (like the
Fuel or Water flowing on the pipe). I just can't figure out how to
associate the physical pipe with the connector line on the drawing!

Anyone have any suggestions on the sequence of steps to make this work
in the tools?

Thanks!
Ray J.

Paul Ebert

unread,
Sep 28, 2009, 10:46:51 AM9/28/09
to SysML Forum
Couldn't you use an association class? The class would include the
attributes and operations of the physical pipe.

Or, am I not understanding the question...

Ray J

unread,
Sep 29, 2009, 9:27:13 AM9/29/09
to SysML Forum
That was my first inclination. However, the tools will not allow ypu
to create an Association from a Block to a Connector. So, I'm trying
to figure out how that might work. Someone else on the Rhapsody forum
has suggested using an "Anchor" relationship, but I have't found that
one yet.
> > Ray J.- Hide quoted text -
>
> - Show quoted text -

b...@emailias.com

unread,
Sep 30, 2009, 1:43:45 AM9/30/09
to sysml...@googlegroups.com
An associative class (UML 1.x) became just an association in UML 2 (as I recall) and association can have attributes and operations. Commonly they don't but they can, and when they do they are usually refered to as association classes. However, a connector is not an association; rather it is a contextualized link that is realized by an association instance (link) at run-time. 

If you want to relate a block, such as Pipe to a connector to indicate a physical realization, then indeed an anchor is one way of doing that. Anchors are in the Common Shapes toolbar in Rhapsody. A dependency is another way.

Alternatively, you can use actual associations (instead of connectors) between blocks and then use an association class.

Another perhaps more common way to show that a Pipe intervenes between two blocks is to create a block that represents the Pipe and connect the two original blocks to the Pipe block with standard connectors. This makes some sense if you add ports such as IntakePort and OutputPort on the Pipe block to represent the physical connection points. If you make these all flow ports that you can represent the conduits of physical flow, which I'm guessing is your intent.

I hope this helps.

- Bruce

On Sep 29, 2009, Ray J (rwjo...@rockwellcollins.com) (Emailias: REPLY-MASKED) <reply-106630-e310-grbounce-xztydguaaaceo-7lbszvbqlf8rnddvlp==bpd==emailias.com=-googlegr...@emailias.com> wrote:

Original Sender: <grbounce-xztydguaaaceo-7lbszvbqlf8rnddvlp=bpd=emaili...@googlegroups.com>
Given To: Generic
http://www.emailias.com/mailclick/?id=106630
<--------------------end emailias header-------------------->

Paul Ebert

unread,
Oct 5, 2009, 3:47:00 PM10/5/09
to sysml...@googlegroups.com
On page 112 of "A Practical Guide...", Sandford presents association blocks. It seems like these are another means to accomplish this.  I cannot, however, figure out how to create them in EA.
 
Paul

Kritsana U

unread,
Oct 5, 2009, 10:38:35 PM10/5/09
to SysML Forum
The pictures in the SysML Specification and Sandy's book present the
association and association block. When all properties which are the
memberEnd of the association are navigable with aggregation = none,
then the association will look like the connector.

The connector cannot be used to connect between Class or Block. The
connector consists of the connector ends. From the UML Superstructure
Specification, the role of the connector end is the ConnectableElement
(which generalize from TypedElement). Class (Block) is not a kind of
ConnectableElement. Therefore, it cannot be connected with the
connector.


From my opinion, the connector shouldn't be used in the definition
level. It should be used in the usage level to show the connection
between parts of the same block (internal structure).

Regards

Kritsana U.

Ray J

unread,
Oct 7, 2009, 8:38:52 AM10/7/09
to SysML Forum
And the Anchor relationship doesn't work either. (I have this same
request in to both Sparx EA and IBM Rhapsody teams, and so far no
answer - so, I suspect the tools do not support these concepts, yet.
> > - Show quoted text -- Hide quoted text -

Ralph N Hains

unread,
Oct 13, 2009, 6:58:57 AM10/13/09
to sysml...@googlegroups.com
I would model this as an association block, and I know that Artisan Studio
supports this, but if the tools you are using don't then a workaround I have
used in the past is to use two ideas already suggested by others, in
combination. Have a connector that goes direct between the two block parts,
and another path that consists a connector, block part (typed by block
"pipe"), and another connector. A dependency (probably best a SysML
allocation) can then be made from the (single) connector to the block part
(and optionally two more from the single connector to the two other
connectors, as strictly it is the set of three -
connector-pipepart-connector that lie "under" the single connector).

Okay, so this is extra work (to model and to maintain) but such is the
nature of workarounds - this does at least allow (like use of an association
block) diagrams both showing and hiding the detail.

You do need to be careful with such an approach as the two representations
are (as well as I can express it) half an abstraction level away from each
other (the linking elements are different abstractions but the elements
linked are not).

Also the workaround is predicated on the modeling tools in question allowing
(and providing a usable mechanism to) make a dependency (allocation?)
between a connector and a block part - and I don't know whether those you
mention do in fact support this.

Cheers,

Ralph

Dragos DOBRE

unread,
Oct 23, 2009, 4:38:49 PM10/23/09
to sysml...@googlegroups.com
Hello Ray,

As a matter of fact what you want to do is possible with Artisan Studio (see
Artisan Studio Uno for a free version). You should read the SysML tutorial
from Artisan
(http://www.artisansoftwaretools.com/download-center/product-guide/artisan-s
ysml-tutorial/) where it is very well explained the different SysML diagrams
(using Artisan Studio, of course).

Regards,

Dragos DOBRE
Doctorant - Nancy Université - Université Henri Poincaré
Centre de Recherche en Automatique de Nancy - CRAN
Faculté des Sciences, BP 70239
54506 Vandoeuvre-lès-Nancy
Tél: +33 (0) 3.83.68.40.00 P81450
Fax: +33 (0) 3.83.68.44.59



-----Original Message-----
From: sysml...@googlegroups.com [mailto:sysml...@googlegroups.com] On
Behalf Of Kritsana U
Sent: mardi 6 octobre 2009 04:39
To: SysML Forum
Subject: [SysML Forum] Re: Creating Associations to Connectors


Reply all
Reply to author
Forward
0 new messages