21.3.  Association Role

An association role is a specialization of an association, used to describe an associations behavior in a particular context. In the UML metamodel Association Role is a sub-class of Association.

An association role is represented on a collaboration diagram in ArgoUML as a line connecting the instances concerned. However on a sequence diagram the representation is modified to reflect the type of action associated with the stimulus carried on the link (see Section 19.3, “ Stimulus).

The association role is labeled with the association role name (if any).

An association role shows its name and the association name according the following syntax:

/ AssociationRoleName : AssociationName

in the same manner as a classifier role. The more generic syntax is:

I / R : C

which stands for an Instance named I originating from the Classifier C playing the role R.

21.3.1.  Association Role Details Tabs

The details tabs that are active for association roles are as follows.

ToDoItem

Standard tab.

Standard-Register.

Properties

See Section 21.3.2, “ Association Role Property Toolbar and Section 21.3.3, “ Property Fields For Association Role below.

Documentation

Standard tab.

Presentation

Standard tab.

[Note]Note

The values in the "bounds" field of the association role are not editable, since they are determined by the properties of the endpoints of the line.

Source

Standard tab, but with no contents.

[Caution]Caution

An association role should not generate any code, so having this tab active is probably a mistake.

Tagged Values

Standard tab. In the UML metamodel, AssociationRole has the following standard tagged values defined.

  • persistence (from the superclass, Association). Values transitory, indicating state is destroyed when an instance is destroyed or persistent, marking state is preserved when an instance is destroyed.

  • derived (from the superclass, ModelElement). Values true, meaning the association is redundant -it can be formally derived from other elements, or false meaning it cannot.

    [Note]Note

    Derived association roles still have their value in analysis to introduce useful names or concepts, and in design to avoid re-computation.

[Note]Note

The UML Element metaclass from which all other model elements are derived includes the tagged element documentation which is handled by the documentation tab under ArgoUML

Checklist

Standard tab for an Association Role.

21.3.2.  Association Role Property Toolbar

Go up

Navigate up through the package structure.

Delete

This deletes the association role from the model

[Warning]Warning

This is a deletion from the model not just the diagram. To delete an association role from the diagram, but keep it within the model, use the main menu Remove From Diagram (or press the Delete key).

21.3.3.  Property Fields For Association Role

Name

Text box. The name of the association role, which is shown on the diagram. By convention association role names start with a lower case letter and use bumpy caps to divide words within the name.

[Note]Note

ArgoUML does not enforce this naming convention.

Stereotype

Drop down selector. Association role is provided by default with the UML standard stereotype from the superclass Association: implicit.

Navigate Stereotype

icon. If a stereotype has been selected, this will navigate to the stereotype property panel (see Section 18.5, “ Stereotype).

Namespace

Text box. Records the namespace for the association role. This is the package hierarchy.

Button 1 double click on the entry will navigate to the item showm.

Base

Drop down selector. Records the association that is the base for the association role.

The drop down selector shows all associations that exist between the classifiers that correspond with the connected classifier roles.

Association End Roles

Text area. Lists the ends of this association role. An association role can have any number of ends, but two is generally the only useful number (link objects can led to a third end on instance level diagrams, but this is not supported by ArgoUML). For more on association end roles see Section 21.4, “ Association End Role.

The names are listed, unless the association end role has no name, then it is shown as (Unnamed AssociationEndRole).

Button 1 double click on an association end role will navigate to that end.

Messages

Text area. Lists the messages that are associated with this association role.

Button 1 double click navigates to the selected entry