20.4. Association End Role

An association end role is a specialization of an association end, used to describe an association end's behavior in a particular context. In the UML metamodel AssociationEndRole is a sub-class of AssociationEnd.

Two or more association end roles are associated with each association role (see Section 20.3, “Association Role”), although for ArgoUML, the number of ends can only be two.

The association end role has no direct access on any diagram, although its stereotype, name and multiplicity is shown at the relevant end of the parent association role (see Figure 20.1, “Possible artifacts on a collaboration diagram.”), and some of its properties can be directly adjusted with button 2 click. Where shared or composite aggregation is selected for one association end role, the opposite end is shown as a solid diamond (composite aggregation) or hollow diamond (shared aggregation).

[Note]Note

ArgoUML does not currently (V0.14) support qualifiers, as described in the UML 1.3 standard.

[Caution]Caution

An association end role should have the same, or “stricter” attribute values than its base association end. In particular its navigability should be no more general. There is as yet no critic in ArgoUML to offer advice on this rule.

20.4.1. Association End Role Details Tabs

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

ToDoItem

Standard tab.

Properties

See Section 20.4.2, “Association End Role Property Toolbar” and Section 20.4.3, “Property Fields For Association End Role” below.

Documentation

Standard tab.

Source

Standard tab. There is no code generated for an association end role.

Constraints

Standard tab. ArgoUML only supports constraints on Classes and Features (Attributes, Operations, Receptions, and Methods), so this tab is grayed out.

Tagged Values

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

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

    [Tip]Tip

    Derived association end roles still have their value in analysis to introduce useful names or concepts, and in design to avoid re-computation. However the tag only makes sense for an association end role if it is also applied to the parent association role.

[Note]Note

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

20.4.2. Association End Role Property Toolbar

Go up

Navigate up to the association role to which this end role belongs.

Go to other end

This navigates to the other end of the association role.

20.4.3. Property Fields For Association End Role

Name

Text box. The name of the association end role, which provides a role name for this end of the association role. This role name can be used for navigation, and in an implementation context, provides a name by which the source end of an association role can reference the target end.

[Note]Note

ArgoUML does not enforce any naming convention for association end roles.

Stereotype

Drop down selector. Association end role is provided by default with the UML standard stereotypes for AssociationEndRole (association, global, local, parameter, self).

Navigate Stereotype

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

Base

Text field that shows the name of the corresponding association end. Button 1 double click navigates to the association end.

AssociationRole

Text box. Records the parent association role for this association end role. Button 1 double click navigates to the association role.

Type

Drop down selector providing access to all standard UML types provided by ArgoUML and all new classes created within the current model.

This is the type of the entity attached to this end of the association role.

Multiplicity

Drop down text entry. Allows to alter the multiplicity of this association end role (with respect to the other end), i.e. how many instances of this end may be associated with an instance of the other end. The multiplicity is shown on the diagram at that end of the association role.

Navigable

Check box, with a single entry, navigable. Indicates that this end can be navigated to from the other end.

[Note]Note

The UML 1.3 standard provides a number of options for how navigation is displayed on an association end role. ArgoUML uses option 3, which means that arrow heads are shown at the end of an association role, when navigation is enabled at only one end, to indicate the direction in which navigation is possible. This means that the default, with both ends navigable has no arrows. This is an appropriate representation for use cases.

All remaining properties

See Section 17.12.3, “Property Fields For Association End”