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 18, Sequence Diagram Artifact 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
( This distinction is not implemented in the current release of ArgoUML. |
The details tabs that are active for classifier roles are as follows.
ToDoItem
Standard tab.
Properties
See Section 20.2.2, “Classifier Role Property Toolbar” and Section 20.2.3, “Property Fields For Classifier Role” below.
Documentation
Standard tab.
Style
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. |
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,
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.
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 15.4, “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
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.
![]() | Caution |
---|---|
ArgoUML restricts you to a number of predefined ranges for multiplicity. There is no way to give a user defined range: typing something different seems to work, but the entered value is not remembered. |
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 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.
![]() | Caution |
---|---|
ArgoUML V0.14 does not seem to provide a way to add anything in the list here. |
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.
![]() | Caution |
---|---|
ArgoUML V0.14 does not seem to provide a way to add anything in the list here. |