Activity Diagrams
Purpose
Classes whose operations are considered to be non-trivial, that is, which either have a complex structure that merits description, or which have a multi-threaded aspect that needs to be explained, may be augmented by Activity Diagrams (ACDs).
Example:

Description
In an OO (UML) model, the static representation of the system is a set of Class Diagrams (CDs). Each class may have an associated ACD to show the internal behaviour and/or algorithm for the class. The class ACD shows one or more parallel sequences of possible behaviour, distributed along a timeline, which in turn may have branches and optional synchronisation.
As a Cradle modelling domain (the Essential or Implementation models) can contain any number of UML models, there may be several sets of CDs, each of whose classes may have an ACD.
The ACD can show the sending and receipt of messages, which are the means by which classes communicate, by calling each others’ operations, as shown on the associated CD.
An ACD depicts a set of component activities that are required to accomplish the behaviour of a class. The ACD shows these component activities along a vertical timeline, which may be split into branches and associated synchronisation points to show concurrency. In this sense, the ACD provides some of the semantic capabilities of the Behaviour Diagram (BD) available in the non-OO notations.
Activity diagrams contain a time sequenced representation of the functionality of a class, and correlate with the class’s associated Statechart.
Strengths
Allow a clear representation of parallel, sequential and iterative behaviour, including synchronisation of parallel execution threads.
Weaknesses
Limited to the contents of a single class, and inherently non-hierarchical, and with no opportunities for re-use of functionality other than complex class inheritance.
If the internal behaviour of the class is complex, that is the class is large, then the diagram does not allow the depiction of data or control exchanges.
Recommended Uses
Functionality of classes, if the classes are deemed to be sufficiently complex.
Diagram Conversions
None.
Characteristics
APPEARS IN MODELS: Essential and Implementation
NUMBERING: Same as the class
HIERARCHICAL: No
Linkage:
Symbol |
Name |
Description |
Definition |
Expansion |
|
Comment |
Makes a note anywhere in the diagram. Are always surrounded by * characters. |
None |
None |
|
Initial state |
A condition at the beginning of the life of an object or an interaction during which it satisfies some condition, performs some action, or waits for some event. |
None |
None |
|
Final state |
A condition at the end of the life of an object or an interaction during which it satisfies some condition, performs some action, or waits for some event. |
None |
None |
|
Activity |
A component part of the behaviour of a class. |
None |
None |
|
Decision activity |
An activity that selects between transitions on the basis of guard conditions. |
None |
None |
|
Synchronisation bar |
A synchronisation point for activities. |
None |
None |
|
Send signal |
Sending a message to an instance of another class, calling an operation of another class. |
None |
None |
|
Receive signal |
Receiving a message from another class, a call of one of this class’s operations by another class. |
None |
None |
|
Trigger |
A transition that links activities. |
None |
None |
|
Picture |
Allows you to choose the location of a GIF or JPEG image to be displayed as a diagram symbol or to be embedded in an existing diagram symbol. |
None |
None |
Editing Notes
The send and receive signal symbols are the means to indicate the use of the classes operations.
|