UML Activity Diagrams
UML activity diagrams for modeling control and data flows, with support for parallelism, partitions and object flows.
History
Activity diagrams appeared as part of the UML 1.0 standard in 1997. In UML 2.0 (2005) the notation was substantially reworked: its semantics were aligned with Petri nets, and the concepts of tokens, object flows and responsibility partitions were added. The current UML 2.5 edition includes a rich set of means for modeling the behavior of software systems.
Applicability
UML activity diagrams are best suited to:
- Modeling business processes in an IT context
- Describing algorithms and use cases
- Specifying API scenarios
- Modeling parallel and asynchronous interactions
Key elements
| Element | Purpose |
|---|---|
| Action | An atomic action |
| Activity | Composite behavior |
| Decision / Merge | Branch and merge points (analogous to XOR) |
| Fork / Join | Parallel split and synchronization |
| Object Node | A data node in the flow |
| Swimlane / Partition | An area of responsibility |
Comparison with BPMN
A common question: how do UML AD and BPMN differ. Both standards support almost the same set of concepts but are positioned differently:
- UML AD was created for software developers — strong in IT projects, weaker at communicating with the business
- BPMN was created for business analysts — better received by a non-technical audience
Large projects often use both: UML AD for the technical documentation of modules, BPMN for process maps.
Strengths
- Deep integration with other UML diagrams (classes, states, sequences)
- Mature tooling support in IDEs
- A direct link to implementation in object-oriented code
Limitations
- Poorly received by a business audience
- Less common in pure BPM projects (BPMN dominates)
- Fewer specialized means for process analytics