Collaboration diagrams depict classifier roles and their interactions, or messages, through their association roles. A classifier role is an instance of a class (or classifier), that is defined only in the context of the collaboration. A classifier can be an object, a multi-object, or an actor. Similarly, an association role can be an instance of an association between the two classes and is the link that carries messages between the two classifier roles. This link is also limited to its purpose in the collaboration. In other words, the classifier and association roles are relevant only for that collaboration. An object can have different classifier roles in different collaborations; classifiers can exchange different sets of messages across different association roles.
In addition, collaboration diagrams display the messages passed across association roles. Messages are generally instances of class operations. They are numbered to indicate sequence order; they can be subnumbered (for example, 1a., 1b., 1.1.2, 1.1.3, 2.3a.1., 2.3a.2., and so on) either to indicate tasks that occur simultaneously or that are subtasks that achieve a larger task.
A numbering system that indicates parallelism might look like the following example:
A numbering system that indicates subtasking might look like the following example:
1.3 Spread jam on bread slices.
Classifier roles, association roles, and messages are not displayed in the browser; however, the underlying classes and operations that they realize are displayed. The following figure shows a collaboration diagram.
