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.
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 |
---|---|
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 |
---|---|
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 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 |
---|---|
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 |
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 |
---|---|
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.
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.