Why isn't there a Classifier for "Link" in UML?

19 views
Skip to first unread message

Alper Kocatas

unread,
Apr 21, 2020, 9:43:17 PM4/21/20
to UML Forum
Hi, 
My question is a little bit theoretical. 
Currently, I am trying to do some research about Connectors and Associations in UML (UML 2.5.1) and I am confused about which classifier is used to represent Links in UML (since there is no classifier named Link).

In the UML specification, a Link is described as: the following: 

Page 160: .. an InstanceSpecifiction whose classifier is an Association describes a link of that Association.

Page 199: "Not all links need to be classified by an Association."

Page 241: "A link is a tuple with one value for each memberEnd of the Association, where each value is an instance whose type conforms to or implements the type at the end."

From above statements and all the phrases which include the word "link" in UML specification, I could not understand which classifier is used in UML to represent the links.

Let's think about a UML tool. For example, when you are drawing an object diagram or a composite structure diagram, you can add a Link between objects, and you can specify the association, which types the link. At that point, which classifier in the UML is used to represent the link? Is it:
  • an instance specification?
  • just a tuple, which contains the connected ends, and a reference to the association?
  • something else?
And let's also not forget that links are not only specified by associations, but they can also be specified by connectors. Now, in this case, again? which classifier is used to represent the links?

I have also looked at all of the classifiers in the UML2 plugin of eclipse, and also could not figure it out from there.

Thanks.
Alper



Tom Pender

unread,
Apr 22, 2020, 2:17:47 AM4/22/20
to umlf...@googlegroups.com

A Link is an IinstanceSpecification for an association.

In tool such as MagicDraw, you create a Class Diagram with the relevant associations.

The Object Diagram displays InstanceSpecifications for Classes called Objects and InstanceSpecifications for Associations called Links.

In some tools, after you have created a Class Diagram you can add the classes and the valid links will by offered for you to choose from.

I hope this helps.

Tom Pender

--
--
You received this message because you are subscribed to the Google
Groups "UML Forum" group.
Public website: www.umlforum.com
To post to this group, send email to umlf...@googlegroups.com
To unsubscribe from this group, send email to
umlforum+u...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/umlforum?hl=en?hl=en
---
You received this message because you are subscribed to the Google Groups "UML Forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email to umlforum+u...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/umlforum/41d81e0e-b8e5-40a9-a1a5-4fe734250304%40googlegroups.com.

Alper Kocatas

unread,
May 13, 2020, 3:47:48 AM5/13/20
to UML Forum

Thanks for the answer, that mostly resolved my confusion. I have downloaded MagicDraw and tried, and seen that it even calls the link as an Instance Specification in the drawing toolbar. 

 

Now, this fills the gap in cases where links are  instances of associations. On the other hand, for the aforementioned links, which are specified by “Connectors”, there’s still some confusion. 

 

The problem can be described as the following: Let’s take an EncapsulatedClassifier, which is also a StructuredClassifier. Normally in StructuredClassifiers, we connect the parts/roles in a StructuredClassifier using a “Connector”. These connectors can also connect these parts via ports. 

 

In UML Specification, in various places, these connectors are are also mentioned to specify “Links”. However, while the links specified by associations are concretely modeled using InstanceSpecifications as you have mentioned, I could not find a way to model the “links” specified by “connectors” which connect two ports. 

 

The closest mechanism I could find was to model a collaboration which models instances connected with a link. Then, we can model a “CollaborationUse” inside the EncapsulatedClassifier and use “RoleBindings” to relate the connected parts to the connected instances in the collaboration. 

 

However, since we cannot display the ports in an instance specification, that link in the Collaboration is indeed is really not an instantiation of the connector in the EncapsulatedClassifier. This is because the connector connects two parts via ports, but the link in the collaboration connects the parts using the instances. 

 

By the way, I have learnt about the inability of displaying ports in instances in another forum, and checked existing tools and really could not find to show them. I believe the restriction is true. In that case, can we say that UML specification is a bit lacking on this manner? Or am I missing something? 

 

I have attached a drawing of the above scenario if that could help. 

 

Regards, 

Alper Kocatas


4E61C2BE-9FC2-4F8B-B8C7-5154BB068152.jpeg


For more options, visit this group at
http://groups.google.com/group/umlforum?hl=en?hl=en
---
You received this message because you are subscribed to the Google Groups "UML Forum" group.

To unsubscribe from this group and stop receiving emails from it, send an email to umlf...@googlegroups.com.

Reply all
Reply to author
Forward
0 new messages