BPMN tutorial

BPMN 2.0 is an international standard for business process modeling. The BPMN specification describes

  • how the elements of a process diagram have to look like (notation),
  • how these can be combined with each other (meta model / syntax),
  • what a diagram means (semantics) and
  • how diagrams can be transferred from one tool to another (XML interchange format).

Process models describe sequences of business activities from start to finish, e.g. Order-to-Cash.

 

Process modeling using BPMN

  • What triggers (start events) a process and what results are produced (end events)?
  • Which steps (tasks, subprocesses) are necessary?
  • Which dependencies exist between activities (sequence flow)?
  • Which alternatives (XOR gateways) are there and where can activities can happen in parallel (AND gateways)?
  • Who is responsible for carrying out an activity (pools, lanes)?
  • Which informationen (data objects) are relevant within a process?
  • Where are interaction points (message flow) with suppliers and customers or with other processes?

The abbreviation BPMN used to stand for “Business Process Modeling Notation”. Meanwhile it stands for “Business Process Model and Notation”.

 

The most important diagram elements of BPMN 2.0

BPMN 2.0 consists of a big number of modeling elements. In practice, it turned out that only a small set of constructs are sufficient for most process models – especially when it is about mapping out processes from a business / organizational perspective.

 

Complete list of all BPMN elements

Name Symbol Description
Task A task is a unit of work – the job to be performed. It is an atomic activity within a process flow.
Collapsed Subprocess A collapsed subprocess is a decomposable activity. It can be linked to another process diagram.
Expanded subprocess An expanded subprocess is a decomposable activity. It contains a valid BPMN diagram.
Collapsed Event-Subprocess An event-subprocess is placed within another subprocess. It becomes active when its start event gets triggered and can interrupt the subprocess context or run in parallel (non-interrupting). It can be linked to another diagram.
Event Subprocess An event-subprocess is placed within another subprocess. It becomes active when its start event gets triggered and can interrupt the Subprocess context or run in parallel (non-interrupting), depending on the start activity.
Data-based exclusive (XOR) gateway     When splitting, it routes the sequence flow to exactly one of the outgoing branches based on conditions. When merging, it awaits one incoming branch to complete before triggering the outgoing flow.
Event-based Gateway     Is always followed by catching events or receiving tasks. Sequence flow is routed to the subsequent event/task which happens first.
Parallel Gateway     When used to split the sequence flow, all outgoing branches are activated simultaneously. When merging parallel branches it waits for all incoming branches to complete before triggering the outgoing flow.
Inclusive Gateway     When splitting, one or more branches are activated based on branching conditions. When merging, it awaits all active incoming branches to complete.
Complex Gateway     It triggers one or more branches based on complex conditions or verbal descriptions. Use it sparingly as the semantics might not be clear.
Pool   Pools and Lanes represent responsibilities for activities in a process. A pool or a lane can be an organization, a role or a system.
Collapsed Pool   Collapsed pools hide all internals of the contained processes (‘black box’).
Lane   Pools and lanes represent responsibilities for activities in a process. A pool or a lane can be an organization, a role or a system. Lanes subdivide pools or other lanes hierarchically.
Group   An arbitrary set of objects can be defined as a Group to show that they logically belong together.
Text Annotation   Any object can be associated with a text annotation to provide additional documentation.
Data Object   A data object represents information flowing through the process, such as business documents, emails or letters.
Data Store   A data store is a place where the process can read or write data, e.g. a database or a filling cabinet. It persists beyond the lifetime of the process instance.
Message    A message is used to depict the contents of a communication between two participants.
Start Event     Untyped start event that triggers a new process instance.
Start Message Event     A process instance is started on receipt of a message.
Start Timer Event     A process instance is started on cyclic timer events, points in time, after time spans or timeouts.
Start Escalation Event     Reacts on an escalation to another role in the organization. This event is only used inside of an event subprocess.
Start Conditional Event     A process instance is started based on changed business conditions or matching business rules (i.e., ‘S&P 500 changes by more than 10% since opening’ or ‘Temperature above 300C’).
Start Error Event     Catches named errors. This event is only used inside of an event-subprocess. An event-subprocess with an error trigger will always interrupt its containing process.
Start Compensation Event     Compensation handling. This event is only used inside of a event subprocess.
Start Signal Event     A process instance is started based on signaling across different processes. (One signal thrown can be caught multiple times)
Start Multiple Event     A process instance is started upon occurence of one out of a set of possible events.
Start Parallel Multiple Event     A process instance is started upon occurence of all possible events.
Intermediate Message Event     This event reacts on the arrival of a message.
Intermediate Timer Event     Process execution is delayed until a certain point in time is reached or a particular duration is over.
Intermediate Escalation Event     This event reacts on the escalation of a case. It needs to be attached to the boundary of an activity.
Intermediate Conditional Event     Process execution is delayed until a changed business condition or business rule matches.
Intermediate Link Event     Off-page connectors. Two corresponding link events correspond to a sequence flow.
Intermediate Error Event     Catches a named error, which was thrown be an inner scope (e.g. subprocess). This event needs to be attached to the boundary of an activity.
Intermediate Cancel Event     Reacts only on a transaction, which was canceled inside an inner scope (e.g. subprocess). This event needs to be attached to the boundary of an activity.
Intermediate Compensation Event     Compensation handling in case of partially failed operations. This event needs to be attached to the boundary of an activity.
Intermediate Signal Event     Process execution is delayed until a particular signal is catched. Signalling can happen across different processes.
Intermediate Multiple Event    Process execution is delayed until one out of a set of possible events is triggered.
Intermediate Parallel Multiple Event     Process execution is delayed until all possible events have been triggered.
Intermediate Event    This event marks the occurrence of a particular business event. Process execution is not delayed.
Intermediate Message Event     The throwing message event sends a message to a communication partner and afterwards continues process execution.
Intermediate Escalation Event     This event triggers the escalation of the case to another role in the organisation. After this, process execution is resumed.
Intermediate Link Event     Off-page connectors. Two corresponding link events correspond to a sequence flow.
Intermediate Compensation Event     Triggers a compensation.
Intermediate Signal Event     The throwing signal event fires up a signal. Afterwards it continues process execution. One signal thrown can be caught multiple times by different catching signal events. Signalling can happen across different processes.
Intermediate Multiple Event     The throwing multiple event throws one out of a set of possible events. Afterwards it continues process execution.
End Event      The untyped end event typically marks the standard end of a process.
End Message Event     At the end of the process, a message is sent.
End Escalation Event     The case is escalated with the end of the process.
End Error Event     The process ends in an error state. As result a named error is thrown.
Cancel End Event     Triggering cancellation of a transaction.
End Compensation Event     Triggering compensation as final process step.
End Signal Event     At the end of the process, a signal is thrown. (One signal thrown can be caught multiple times)
End Multiple Event     At the end of the process, one out of a set of possible events is triggered.
Terminate End Event     Triggering the immediate termination of a process instance. All steps still in execution in parallel branches are terminated.
Sequence Flow   Sequence flow defines the execution order of activities.
Association (undirected)   Attaching a data object with an undirected association to a sequence flow indicates hand-over of information between the activities involved.
Association (unidirectional)   A directed association indicates information flow. A data object can be read at the start of an activity or written upon completion.
Association (bidirectional)   A bidirected association indicates that the data object is modified, i.e. both read and written during the execution of an actvity.
Message Flow   Message flow symbolizes information flow across organizational boundaries. Message flow can be attached to pools, activities or message events. The order of message exchanges can be specified by combining message flow and sequence flow.
Leave a Comment