18.13.  Association End

Two or more association ends are associated with each association (see Section 17.5, “ Association ).

Within the UML metamodel, AssociationEnd is a sub-class of ModelElement.

The association end has no direct access on any diagram for binary associations. The ends of an N-ary association may be selected by clicking on the line in the diagram. The stereotype, name and multiplicity are shown at the relevant end of the parent association (see Figure 17.1, “ Typical model elements on a use case diagram.). Where shared or composite aggregation is selected for one association end, the opposite end is shown as a solid diamond (composite aggregation) or hollow diamond (shared aggregation).

[Tip]Tip

Although you can change attributes of association ends when creating a use case model, this is often not necessary. Many of the properties of an association end relate to its use in class diagrams, and are of limited relevance to use cases. The most useful attributes to consider altering are the name (used as the role name) and the multiplicity.

[Note]Note

ArgoUML does not currently support showing qualifiers on the diagram, as described in the UML 1.3 standard.

18.13.1.  Association End Details Tabs

The details tabs that are active for associations are as follows.

ToDoItem

Standard tab.

Properties

See Section 18.13.2, “ Association End Property Toolbar and Section 18.13.3, “ Property Fields For Association End below.

Documentation

Standard tab. See Section 13.4, “ Documentation Tab.

Presentation

Standard tab.

Source

Standard tab. This tab contains a declaration for the association end as an instance of the model element to which it is connected.

Tagged Values

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

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

    [Tip]Tip

    Derived association ends 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 if it is also applied to the parent association.

[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

18.13.2.  Association End Property Toolbar

Go up

Navigate up to the association to which this end belongs.

Go Opposite

This navigates to the other end of the association.

New Qualifier

This creates a new Qualifier for the selected association-end, navigating immediately to the properties tab for that qualifier.

[Warning]Warning

Qualifiers are only partly supported in ArgoUML V0.18. Hence, activating this button creates a qualifier in the model, which is not shown on the diagram. Also, the properties panel for a qualifier equals that of a regular attribute.

New Stereotype

This creates a new Stereotype (see Section 16.6, “ Stereotype) for the selected association-end, navigating immediately to the properties tab for that stereotype.

Delete

This deletes the selected association-end from the model.

[Note]Note

This button is downlighted for binary associations, since an association needs at least two ends. Only for N-ary associations, this button is accessable, and deletes just one end from the association.

18.13.3.  Property Fields For Association End

Name

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

[Note]Note

ArgoUML does not enforce any naming convention for association ends.

Stereotype

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

Navigate Stereotype

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

Association

Text box. Records the parent association for this association end. Button 1 double click on this entry will navigate to that association.

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.

[Tip]Tip

By default ArgoUML will select the class of the model element to which the linkend is connected. However, an association can be moved to another class by selecting another entry here.

Multiplicity

Drop down menu with edit box. The value can be chosen from the drop down box, or a new one can be edited in the text box. Records the multiplicity of this association end (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.

Modifiers

There are 3 modifiers: navigable, ordered and static. All 3 are checkboxes.

  • navigable. Indicates that this end can be navigated to from the other end.

    [Note]Note

    The UML 1.4 standard provides a number of options for how navigation is displayed on an association end. ArgoUML uses option 3, which means that arrow heads are shown at the end of an association, 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.

  • ordered When placed on one end, specifies whether the set of links from the other instance to this instance is ordered. The ordering must be determined and maintained by Operations that add links. It represents additional information not inherent in the objects or links themselves. Possibilities for the checkbox are: Unchecked - The links form a set with no inherent ordering. Checked - A set of ordered links can be scanned in order.

  • Static (To be written)

Specification

List. Designates zero or more Classifiers that specify the Operations that may be applied to an Instance accessed by the AssociationEnd across the Association. These determine the minimum interface that must be realized by the actual Classifier attached to the end to support the intent of the Association. May be an Interface or another Classifier. The type of classifier is indicated by an icon.

Button 1 double click navigates to the selected classifier, button 2 click brings a pop up menu with one entry.

  • Add. Add a new specification classifier. This opens the Add/Remove Specifications dialog box (see figure below), which allows choosing between all possible classifiers, and adding or removing them to the selected list.

    Figure 18.6.  The “Add/Remove Specifications” dialog box

    The Add/Remove Specifications dialog box

Qualifiers

Text box. Records the qualifiers for this association end. Button 1 double click on this entry will navigate to that qualifier. Button 2 click will show a popup menu containing two items: Move Up and Move Down, which allow reordering the qualifiers.

Aggregation

Radio box, with three entries composite, none and aggregate. Indicates whether the relationship with the far end represents some type of loose whole-part relationship ( aggregation) or tight whole-part relationship (composite).

Shared aggregation is shown by a hollow diamond at the “whole” end of the association. Composite aggregation is shown by a solid diamond.

[Note]Note

You may not have aggregation at both ends of an association. ArgoUML does not enforce this constraint.

The “whole” end of a composite aggregation should have a multiplicity of one. ArgoUML does not enforce this constraint.

Changeability

Radio box, with three entries add only, changeable and frozen. Indicates whether instances of this end of the association-end may be: i) created but not deleted after the target instance is created; ii) created and deleted by the source after the target instance is created; or iii) not created or deleted by the source after the target instance is created.

Visibility

Radio box, with four entries public, private, protected, and package. Indicates whether navigation to this end may be by: i) any classifier; ii) only by the source classifier; or iii) only the source classifier and its children.