21.2.  Classifier Role

A classifier role is a specialization of a classifier, used to show its behavior in a particular context. In the UML metamodel Classifier Role is a sub-class of Classifier. Within a collaboration diagram classifier roles may be used in one of two ways:

In this latter form, classifier roles are identical to the instances used in sequence diagrams (see Chapter 19, Sequence Diagram Model Element Reference ) and a collaboration diagram shows the same information as the sequence diagram, but in a different presentation.

[Caution]Caution

A collaboration diagram should not mix classifier roles used as the specifier level and the instance level.

A classifier role is represented on a sequence diagram in ArgoUML as a plain box labeled with the classifier role name (if any) and classifier, separated by a colon (:).

[Caution]Caution

A classifier role should properly also show object name (if any) preceding the classifier role name and separated from it by a slash (/). This allows classifier roles in a specification level diagram to be distinguished from instances in an instance level diagram.

ArgoUML does show the slash, but there is no way to define the instances.

21.2.1.  Classifier Role Details Tabs

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

ToDoItem

Standard tab.

Properties

See Section 21.2.2, “ Classifier Role Property Toolbar and Section 21.2.3, “ Property Fields For Classifier Role below.

Documentation

Standard tab.

Presentation

Standard tab.

Source

Standard tab, but with no contents.

[Caution]Caution

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

Tagged Values

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

  • persistence (from the superclass, Classifier. Showing the permanence of the state information associated with the classifier role. Values transitory (state is destroyed when the classifier role is destroyed) and persistent (state is preserved when the classifier role is destroyed).

  • semantics (from the superclass, Classifier). The value is a specification of the semantics of the classifier role.

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

    [Note]Note

    Derived classifier roles still have their value in analysis and design 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

21.2.2.  Classifier Role Property Toolbar

Go up

Navigate up through the package structure.

New reception

This creates a new reception, navigating immediately to the properties tab for that reception.

New Stereotype

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

Delete

This deletes the classifier role from the model

[Warning]Warning

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

21.2.3.  Property Fields For Classifier Role

Name

Text box. The name of the classifier role. By convention classifier 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. Classifier Role is provided by default with the UML standard stereotypes for a classifier (metaclass, powertype, process, thread and utility).

Navigate Stereotype

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

Namespace

Text box. Records the namespace for the classifier role, which is always the containing Collaboration.

Button 1 double click on the entry will navigate to the collaboration.

Multiplicity

Editable drop down selector. The default value is *, which means that there are any number of instances of this classifierrole that play a role in the collaboration. The drop down provides some different multiplicities. E.g. 1..1 would mean that only one instance plays a role in this collaboration.

ArgoUML does not restrict you to the predefined ranges for multiplicity. You can edit this field freely.

Base

List. The names of the classifiers of which this is a classifierrole. Button 1 double click navigates to the classifier. Button 2 click gives a pop up menu with the following entries.

  • Add. Allows adding or removeing classifiers to the list. To this end, a dialog box pops up, as shown in the figure below.

    Figure 21.2.  The “add context” dialog box

    The add context dialog box

  • Remove. Allows removeing classifiers to the list, without making use of the dialog box.

Generalizations

Text area. Lists any classifierrole that generalizes this classifierrole.

Button 1 double click navigates to the generalization and opens its property tab.

Specializations

Text box. Lists any specialized classifierrole (i.e. for which this classifierrole is a generalization).

button 1 double click navigates to the generalization and opens its property tab.

Association End Role

Text area. Lists the association-end roles that are linked to this classifier role.

Button 1 double click navigates to the selected entry.

Available Contents

Text area. Lists the subset of modelelements contained in the base classifier which is used in the collaboration.

Button 1 double click navigates to the modelelement and opens its property tab.

Available Features

Text box. Lists the subset of features of the base classifier which is used in the collaboration.

button 1 double click navigates to the feature and opens its property tab.