UML activity diagram
Definition
UML activity diagrams refer to [[software engineering] method modeled with UML to describe work flows, business processes and other procedures.
They are similar to Petri nets.
Architecture of activity diagrams
Simple Activity diagrams consist of:
- Initial node.
- Activity final node.
- Activities in between
“The starting point of the diagram is the initial node, and the activity final node is the ending. An activity diagram can have zero or more activity final nodes. In between activities are represented by rounded rectangles.” ([Wikipedia], retrieved 10:51, 4 June 2008 (UTC).
According to Conrad Bock (2003), there there are three kinds of node in activity models:
- Action nodes operate on control and data values that they receive, and provide control and data to other actions.
- Control nodes route control and data tokens through the graph. These include constructs for choosing between alternative flows (decision points), for proceeding along multiple flows in parallel (forks), and so on.
- Object nodes hold data tokens temporarily as they wait to move through the graph. Figure 3 shows the notation for some of the activity nodes to be discussed. Contrary to the names, control nodes coordinate both data flow and control flow in the graph, and object nodes can hold both objects and data
Elements of the design language:
Nodes
- Activity nodes
- Represented by a rectangle with rounded corners
- Action nodes should have a label
- Object nodes
- Represented by a rectangle with a label
- Decision and merge control node
- Represented by a lozange
- Fork and join control node
- Represented by a line
- One or more activities can join
- One or more activities can fork
- Initial node
- Represented by a fat black dot
- There can be only one
- Final nodes
- A fat black dot inside a circle
- A circle with an x represents the end of a flow (not the whole activity)
Activity edges (links)
- Control edges
These edges can be drawn in various ways:
- Represented by an arrow from an activity node to another
- Represented by an arrow from an activity showing parameters with pins from a node to another
- An arrow to a connector (a small circle with a letter) and then from a same connector to a activity node
- Activity node to object node to activity node (with arrows)
- Object Flow edges
- Represented by an arrow
Subactivities
- Activities can be decomposed into subactivities
- A rake in an action node signals a subactivity
- The subsidiary activity diagram has an input and an output parameter (object nodes)
Partitions
Activity diagrams can be partioned according to roles (e.g. learner A, learner B, group A, teacher)
Signals
Actions in a diagram also can respond to signals (instead of the flow)
- Time signals
- Represented like an hour glass
- Accept signal
- Represented by smashed-in rectangle ;)
Examples
The following example taken from D7.2 UNFOLD outcomes 2 contains the following elements:
- A start node
- An end node
- Two join/break (the fat lines)
- Three activities
In education
Activity diagrams can be used to describe learning designs of CSCL scenarios. A good example are collaborative learning flow pattern (Hernández-Leo et al., 2005b).
Links
- Summaries of UML activity diagrams
- Wikipedia:Unified_Modeling_Language (Wikipedia)
- Activity diagram (Wikipedia)
- Introductions to activity diagrams
- UML 2 Activity Diagrams, and UML 2 Activity Diagram Guidelines by Scott W. Ambler, Ambysoft.
- UML 2 Activity and Action Models by Conrad Bock, U.S. National Institute of Standards and Technology
References
Bock, Conrad (2003). "UML 2 Activity and Action Models", Journal of Object Technology, vol. 2, no. 4, July-August 2003, pp. 43-53. http://www.jot.fm/issues/issue_2003_07/column3
- Fowler, M. (2000). UML distilled (3rd ed.). Upper Saddle River, NJ: Addison-Wesley. ISBN 0321193687
- Hernández-Leo, D., Asensio-Pérez, J.I., Dimitriadis, Y., Bote-Lorenzo, M.L., Jorrín-Abellán, I.M., Villasclaras-Fernández, E.D. (2005b). Reusing IMS-LD Formalized Best Practices in Collaborative Learning Structuring. Advanced Technology for Learning 2(4):223-232. http://dx.doi.org/10.2316/Journal.208.2005.4.208-0865 - PDF