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

ElementPurpose
ActionAn atomic action
ActivityComposite behavior
Decision / MergeBranch and merge points (analogous to XOR)
Fork / JoinParallel split and synchronization
Object NodeA data node in the flow
Swimlane / PartitionAn 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