BPMN 2.0
An OMG graphical standard that became the de facto world standard for business process modeling, supporting descriptive, analytical and executable levels.
↓ Download reference poster (PDF, A2)
Introduction
Business Process Model and Notation (BPMN) is a graphical notation for describing business processes, developed by the Business Process Management Initiative (BPMI) and later handed over to the Object Management Group (OMG). The first version, BPMN 1.0, was published in May 2004, and in 2011 version 2.0 was adopted as the international standard ISO/IEC 19510.
The key ambition of BPMN is a notation equally clear to business analysts, developers and technical architects, and at the same time directly executable in BPM engines through transformation to BPEL or direct execution of its XML serialization.
Three levels of modeling
In practice three levels of BPMN use are distinguished:
Descriptive level
A limited set of elements is used — typical tasks, AND/XOR gateways, start and end events, sequence flows and pools. The goal is a clear description of the process for a business audience. At this level the model is not intended for execution.
Analytical level
The full range of gateways, events of every type (messages, timers, errors), choreographies and advanced sub-processes come into play. Used for detailed analysis of a process, finding bottlenecks and preparing for automation.
Executable level
The model contains all the technical attributes needed to run in a BPM engine: process variables, error handlers, script-task specifications, message routing.
Basic elements
BPMN defines 116 elements, but most projects use no more than 30. The main categories:
| Category | Purpose | Key elements |
|---|---|---|
| Flow objects | Actions and decisions | Task, sub-process, gateway, event |
| Connecting objects | Links between elements | Sequence flow, message flow |
| Artifacts | Extra information | Data object, group, annotation |
| Swimlanes | Organizational context | Pool, lane |
Token semantics
The execution of a BPMN process is formally described through a token model. Each process start spawns a token that travels across objects and flows according to the rules of the notation. Gateways can split, merge and route tokens. Understanding this mechanics is critical for correct modeling.
Strengths
- Versatility — it spans everything from clear communication to automation
- Standardization — adopted as an ISO standard, supported by hundreds of tools
- A rich set of expressive means for complex scenarios
- Direct executability in BPM engines without translating to code
Limitations
- A learning curve — full mastery takes months of practice
- The temptation to over-complicate, given the wealth of elements
- Weak support for adaptive processes (CMMN exists for those)