This article or section is a stub. It does not yet contain enough information to be considered a real article. In other words, it is a short or insufficient piece of information and requires additions.
Draft
SORRY this page is broken. Had to remove an uml extension for security reasons - Daniel K. Schneider (talk) 16:56, 21 August 2013 (CEST). Some day we could try PlanUML - Daniel K. Schneider (talk) 17:45, 22 April 2016 (CEST)
UML activity diagrams refer to software engineering method modeled with UML to describe work flows, business processes and other procedures.
UML activity diagrams are a kind of behavior diagram, i.e. is a kind of UML behavioral modeling. UML activity diagrams are somewhat similar UML state machine diagrams. Both are somewhat similar to Petri nets.
Activity modeling means to describe sequencing and conditions of actions. Such descriptions commonly are control flow and object flow models.
Simple Activity diagrams consist of:
Initial node.
Activity final node.
Activities in between
Diagrams error (with plantuml command): /bin/bash: line 1: plantuml: command not found
“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 11:08, 4 June 2008 (UTC).
According to Conrad Bock (2003), there there are three kinds of nodes 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. Below, 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
Action nodes
Diagrams error (with plantuml command): /bin/bash: line 1: plantuml: command not found
Represented by a rectangle with rounded corners (drawn in slightly different ways depending on the software used ...)
Action nodes should have a label
Object nodes
Represented by a rectangle with a label (i.e. UML class boxes)
Diagrams error (with plantuml command): /bin/bash: line 1: plantuml: command not found
Decision and merge control node
Represented by a lozange
Diagrams error (with plantuml command): /bin/bash: line 1: plantuml: command not found
Fork and join control node
Forks and joins are represented by a horizonal or vertical line (and incoming and outgoing flows)
One or more activities can fork.
One or more activities can join
Diagrams error (with plantuml command): /bin/bash: line 1: plantuml: command not found
Initial node
Represented by a fat black dot
There can be only one initial (starting) node
Diagrams error (with plantuml command): /bin/bash: line 1: plantuml: command not found
Final nodes
A fat black dot inside a circle (bull's eye symbol)
A circle with an x represents the end of a flow (not the whole activity)
Diagrams error (with plantuml command): /bin/bash: line 1: plantuml: command not found
Below is a complete example (copied June/2008 from the MetaUML website):
User eats until he has had enough. Then he both reads a book and listens to
some music, until he stops.
Diagrams error (with plantuml command): /bin/bash: line 1: plantuml: command not found
Flows (or edges) describe connections between 2 actions. These edges can be drawn with arrows in various ways.
Usually in activity diagrams, actions are simply connected through an unlabelled arrow.
In addition, you also can include an object in the flow. These objects can carry data. Finally,
instead of objects one can use "pins".
The control flow is modeled in terms of tokens. The start node will create a token which then goes to next action. After the action executes, the token will go to the next action. When it encounters a fork, the fork will create a token for each of its outbound flows. The opposite happens for joins. It will produce an outbound token once all inbound tokens arrived.
Simple flows
Simple flows are represented by an arrow from an activity showing parameters with pins from a node to another
Diagrams error (with plantuml command): /bin/bash: line 1: plantuml: command not found
Simple flows with connectors
An arrow to a connector (a small circle with a letter) and then from a same connector to a activity node does the same job as a simple arrow. (not shown here)
Flows with objects
Activity node to object node to activity node (with arrows). Object nodes
Diagrams error (with plantuml command): /bin/bash: line 1: plantuml: command not found
Flows with pins
These are similar to flows with objects. A pin represents data needed and data produced.
The flow is represented by an arrow and a pin is a small rectangle added to an activity rounded rectangle (no picture here)
Decision flows
Outgoing arrows from decision nodes are usually labeled.
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).
Below some more pictures that show that activity diagrams are popular withing the IMS Learning Design community.
The next example shows a diagram for competency-based learning with two major alternatives, advising-then-anticipating and anticipating-then-advising.
(IMS LD Best Practice specification)
Activity Diagram for Competency-based learning. Source: IMS
Unified Modeling Language (UML), version 2.1.2. There are two specifications that comprise the UML 2.1.2 specification: Superstructure and Infrastructure. There are also two specifications that relate to the UML2 specification (Diagram Interchange and Object Constraint Language).