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:
To represent the classifier in a particular behavioral context (the specification level); or
to specify a particular instance of the classifier (the instance level).
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 |
|---|---|
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 |
|---|---|
A classifier role should properly also show object name
(if any) preceding the classifier role name and separated
from it by a slash ( ArgoUML does show the slash, but there is no way to define the instances. |
The details tabs that are active for classifier roles are as follows.
ToDoItemStandard tab.
PropertiesSee Section 21.2.2, “ Classifier Role Property Toolbar ” and Section 21.2.3, “ Property Fields For Classifier Role ” below.
DocumentationStandard tab.
PresentationStandard tab.
SourceStandard tab, but with no contents.
![]() | Caution |
|---|---|
A classifier role should not generate any code, so having this tab active is probably a mistake. |
Tagged ValuesStandard 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 |
|---|---|
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 |
|---|---|
The UML |
Go upNavigate up through the package structure.
New receptionThis creates a new reception, navigating immediately to the properties tab for that reception.
New StereotypeThis creates a new Stereotype (see Section 16.6, “ Stereotype ”) for the selected classifier role, navigating immediately to the properties tab for that stereotype.
DeleteThis deletes the classifier role from the model
![]() | 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 |
NameText 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 |
|---|---|
ArgoUML does not enforce this naming convention. |
StereotypeDrop 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
”).
NamespaceText 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.
MultiplicityEditable 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.
BaseList. 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.
GeneralizationsText area. Lists any classifierrole that generalizes this classifierrole.
Button 1 double click navigates to the generalization and opens its property tab.
SpecializationsText 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 RoleText area. Lists the association-end roles that are linked to this classifier role.
Button 1 double click navigates to the selected entry.
Available ContentsText 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 FeaturesText 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.