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.
ToDoItemStandard tab.
PropertiesSee Section 20.2.2, “Classifier Role Property Toolbar” and Section 20.2.3, “Property Fields For Classifier Role” below.
DocumentationStandard tab.
StyleStandard 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. | |
ConstraintsStandard tab. ArgoUML only supports constraints on Classes and Features (Attributes, Operations, Receptions, and Methods), so this tab is grayed out.
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.
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 15.4, “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.
MultiplicityDrop 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. | |
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 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.
![]() | Caution |
|---|---|
ArgoUML V0.14 does not seem to provide a way to add anything in the list here. | |
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.
![]() | Caution |
|---|---|
ArgoUML V0.14 does not seem to provide a way to add anything in the list here. | |