shared association (open diamond)

327 views
Skip to first unread message

ko_stoel

unread,
Feb 3, 2012, 5:07:19 AM2/3/12
to SysML Forum
Hi,

The 'shared association' (open diamond) in SysML has the same meaning
as an 'association'.
In the version 1.2 spec it says: "..Notational and metamodel support
for n-ary associations and qualified associations has been -excluded-
from SysML. N-ary associations, shown in UML by a large open diamond
with multiple branches, can be modeled by an intermediate block.." .

Still many SysML tools let you use shared associations. In some
presentation I see that it is used for modeling containers and the
containment of materials, like a water tank that can hold water.

Is this OK, is this a good SysML modeling practise?

Or how else could I best model the tank and the water it can contain.
( intuitively I want to make a difference between structural parts
like an engine in a car (closed diamond) and parts (eg. water) that
are ment to change of the whole where they are used)

cheers, ko
[NL]

Remy Fannader

unread,
Feb 3, 2012, 12:10:15 PM2/3/12
to sysml...@googlegroups.com
Three remarks:
Regarding this example, IMO the water should not be represented as an object but as a state variable of the tank.
Regarding diamond connectors,there should be precise guidelines according structural and functional dependencies (see link below).
Finally, a distinction should be made between physical connectors (car and tank) and references between software components (what the car knows about the tank).
http://caminao.wordpress.com/how-to-implement-symbolic-representations/patterns/functional-patterns/connector-patterns/
Remy Fannader

Etienne Brosse

unread,
Feb 3, 2012, 10:30:11 AM2/3/12
to SysML Forum
Hi ko,

The SysML specification says that UML N-ary associations must be
modeled by an intermediate block.
So the UML 'shared association' is still valid for SysML modelling
purpose.

Regards,

etienne

Michael Jesse Chonoles

unread,
Feb 4, 2012, 11:01:32 AM2/4/12
to sysml...@googlegroups.com
The shared association (open diamond) is allowed in SysML, but is generally interpreted as the same as a plan association.

There is a very slight difference, in that, if you have a reflexive assocation (from a block to the same block) the association can allow for any graph structure, but when you use a diamond (either open or closed), you're forcing a dag (directed acyclic graph), that is, your preventing loops.

As an example, if you an employee with an association to itself, you could be modeling something like "works-with", where, e.g.,  A ww B, B ww C, and C ww A

If you use a diamond, you're modeling something like "manages"
A manages  B,  B manages C, but it is not possible that B then manages A

The n-ary association from UML, that uses the large diamond in the middle of the relationship is not related to the above diamonds, and is not part of SysML.

On the 2nd issue, how to model the relationship of a block to a value property (not a part), there is still some open issues in the spec about the best way of doing this. My guess is that any convention would be fine for now if the modeler and reviewers understand the convention.

Michael



From: ko_stoel <kos...@gmail.com>
To: SysML Forum <sysml...@googlegroups.com>
Sent: Friday, February 3, 2012 5:07 AM
Subject: [SysML Forum] shared association (open diamond)
--
You received this message because you are subscribed to the Google
Groups "SysML Forum" group.
Public website: http://www.SysMLforum.com
To post to this group, send email to sysml...@googlegroups.com
To unsubscribe from this group, send email to
sysmlforum+unsub...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/sysmlforum?hl=en_US?hl=en


ko_stoel

unread,
Mar 2, 2012, 7:04:21 AM3/2/12
to sysml...@googlegroups.com
 In Weilkiens book one can find a simple illustration of a shared association (open diamond) . A Room is an essential part of a House, when the instance of a House is destroyed the  Room will be destroyed. A piece of furniture can be missed cq spared and can move to another whole.



Op vrijdag 3 februari 2012 11:07:19 UTC+1 schreef ko_stoel het volgende:
...................... modeling containers and the containment of materials, like a water tank that can hold water.

Is this OK, is this  a good SysML modeling practise?

.......................
cheers, ko
[NL]

Op vrijdag 3 februari 2012 11:07:19 UTC+1 schreef ko_stoel het volgende:
Op vrijdag 3 februari 2012 11:07:19 UTC+1 schreef ko_stoel het volgende:

Stephan Roth

unread,
Mar 3, 2012, 2:41:03 PM3/3/12
to SysML Forum
Hi ko,

yes, an shared association and a normal association (without the non-
filled diamond) have the same semantics. The diamond can be used to
show a whole-part-relationship, whereby the diamond "marks" the block
which acts as the whole.

Regards,
Stephan

Remy Fannader

unread,
Mar 3, 2012, 1:54:09 AM3/3/12
to SysML Forum
A shared association should be used between elements identified
independently, which is not the case of a room vis-a-vis house.
http://caminao.wordpress.com/how-to-implement-symbolic-representations/patterns/functional-patterns/connector-patterns/
Remy

On Mar 2, 2:04 pm, ko_stoel <kost...@gmail.com> wrote:
>  In Weilkiens book one can find a simple illustration of a shared
> association (open diamond) . A Room is an essential part of a House, when
> the instance of a House is destroyed the  Room will be destroyed. A piece
> of furniture can be missed cq spared and can move to another whole.
>
> <https://lh4.googleusercontent.com/-_NKZYFSyLms/T1C12jp5QoI/AAAAAAAAAA...>
Reply all
Reply to author
Forward
0 new messages