BPMN 2.0 Elements

BPMN 2.0 Elements

Comprehensive guide to BPMN 2.0 elements and notations.

Business Process Model and Notation (BPMN) 2.0 is a widely used standard for modelling business processes, visually representing complex workflows.

This article provides a comprehensive reference to BPMN 2.0 elements, explaining the various components that make up process models, including their notations and behaviors.

BPMN Elements 2.0

The basic BPMN modelling elements are very similar to flow diagrams. These elements are grouped into five basic categories namely:

Flow Objects

Flow Objects are the primary elements that define the behavior of a process, consisting of Events, Activities, and Gateways. These elements represent actions, decision points, or occurrences within a business process and are connected through Sequence Flows to model the process’s execution logic.

ElementDescriptionNotation
ActivityAn Activity is a task or process performed within a business workflow.
GatewayA Gateway controls the flow of a process based on conditions.
EventAn Event represents something that occurs during a process flow.

Activity

An Activity represents a task or work that is performed within a business process. It can be either atomic (Task) or compound (Sub-Process), with the latter potentially containing its own internal process flow, enabling more complex process modeling.

ElementDescriptionNotation
TaskA Task is an atomic activity within a Process flow.
Sub-ProcessA Sub-Process is a compound activity that is included within a Process.
Call ActivityA Call Activity is a non-atomic activity that references and invokes an external Process or Global Task.

Tasks

A Task in is the simplest form of activity, representing a single, atomic unit of work that is performed within a business process. It cannot be broken down further and is typically used for actions like sending an email, performing a calculation, or making a decision.

ElementDescriptionNotation
Service TaskA Service Task automates a process step by invoking a system or service.
Send TaskA Send Task is an activity that sends a message to a specified recipient.
Receive TaskA Receive Task is an activity that waits for and processes incoming messages or signals.
User TaskA User Task is an activity performed by a human participant in a process.
Manual TaskA Manual Task is an activity performed without automation, requiring human intervention.
Business Rule TaskA Business Rule Task automates decision-making by executing business rules within a process.
Script TaskA Script Task executes a predefined script or code as part of a process.

Task Markers

Task Markers are visual indicators placed on tasks to denote specific characteristics or behaviors, such as whether a task is a loop, a transaction, or requires user input. These markers enhance the clarity of process models by providing additional context and information about how tasks should be executed.

Task MarkerDescriptionNotation
LoopThis task marker indicates that the task will be repeated until a specific condition is met.
Sequential Multi-InstanceThis task marker indicates that multiple instances of a task will be executed one after the other, in a specific order.
Parallel Multi-InstanceThis task marker signifies that multiple instances of a task will be executed simultaneously, allowing for concurrent processing.
CompensationThis task marker indicates that a task can be reversed with a compensation process.
Ad HocThis task marker indicates that a task can be executed in any order or timing.

Subprocess

A Subprocess is an Activity that encapsulates its internal details using Activities, Gateways, Events, and Sequence Flows, allowing for a clear representation of complex processes. It can be displayed in a collapsed view, hiding its specifics with a distinguishing marker, or in an expanded view, revealing its detailed flow within the containing process, and it defines a contextual scope for attribute visibility, transactional handling, and exception management.

Subprocess TypeDescriptionNotation
Subprocess (Expanded)An Embedded Subprocess (Expanded) displays its internal flow of activities within the parent process.
Subprocess (Collapsed)An Embedded Subprocess (Collapsed) hides its internal details, represented by a single subprocess marker.
Event SubprocessAn Event Subprocess is a specialised subprocess that is used within a Process (or Subprocess). An Event Subprocess is not part of the normal flow of its parent Process—there are no incoming or outgoing Sequence Flows.
Transaction SubprocessA Transaction Subprocess manages a set of tasks that can be compensated if needed.

Subprocess Markers

BPMN specifies five types of standard markers for Subprocesses. The (Collapsed) Subprocess marker can be combined with four other markers: a loop marker or a multi-instance marker, a Compensation marker, and an Ad-Hoc marker. A collapsed Subprocess MAY have one to three of these other markers, in all combinations except that loop and multi-instance cannot be shown at the same time.

Task MarkerDescriptionNotation
LoopThis subprocess marker indicates that a subprocess will repeat until a specific condition is met.
Sequential Multi-InstanceThis subprocess marker indicates the subprocess will be executed sequentially.
Parallel Multi-InstanceThis subprocess marker indicates multiple instances are executed simultaneously.
Ad HocThis subprocess marker indicates that tasks can be performed in any order.
CompensationThis subprocess marker indicates that the subprocess includes compensation logic, meaning the subprocess can be undone or reversed by triggering specific compensation activities.

Call Activity

A Call Activity is a specialised activity used to invoke a globally defined process or a reusable subprocess from within another process. It serves as a placeholder for the referenced process, enabling reuse and modularity, and can call either a global task or a process that exists outside the current process model.

ElementDescriptionNotation
Call ActivityA Call Activity invokes a reusable process or subprocess within a larger BPMN process.

Gateway

Gateways are used to control the flow of a process by determining branching, merging, and joining of paths based on specified conditions. They represent decision points that can lead to different process paths, allowing for complex logic and flow management within business processes.

ElementDescriptionNotation
Exclusive GatewayAn Exclusive Gateway routes the process flow to one path based on specific conditions.
Inclusive GatewayAn Inclusive Gateway allows one or more paths to be taken based on conditions.
Parallel GatewayA Parallel Gateway is used to synchronize (combine) parallel flows and to create parallel flows.
Complex GatewayA Complex Gateway handles intricate conditions for routing process flows based on multiple criteria.
Event-based GatewayAn Event-Based Gateway routes the process flow based on events occurring in the process.

Event

Events signify occurrences that impact the flow of a business process, such as the start, intermediate, or end of a process. They can trigger actions or represent results, and are classified into different types, including message events, timer events, and error events, providing a comprehensive way to model dynamic process behavior.

Catching EventsThrowing Events
Start EventIntermediate EventEnd Event
StandardEvent Subprocess
Interrupting
Event Subprocess
Non-Interrupting
CatchingBoundary
Interrupting
Boundary Non-
Interrupting
ThrowingStandard
None Event
Message Event
Timer Event
Escalation Event
Conditional Event
Link Event
Error Event
Cancel Event
Compensation Event
Signal Event
Multiple Event
Parallel Multiple Event
Terminate Event

Data

Data represents information that can be used or produced by activities within a process, serving as inputs or outputs. It can take various forms, such as documents, databases, or messages, and is essential for defining the context and requirements of process execution.

ElementDescriptionNotation
Data ObjectA Data Object represents information used or produced by activities within a BPMN process.
Data InputsData Inputs are information required by activities to execute tasks within a business process.
Data OutputsData Outputs represent information produced by activities at the conclusion of a process.
Data StoresA Data Store represents a persistent repository for storing and retrieving process-related data.

Connecting Objects

Connecting Objects are elements that establish relationships between different process components, facilitating the flow of information and control. They include Sequence Flows, Message Flows, and Associations, each serving a specific purpose in linking activities, events, and artifacts within a business process model.

ElementDescriptionNotation
Sequence FlowSequence Flow indicates the order of activities and events within a BPMN process.
Message FlowMessage Flow represents the exchange of messages between different processes or participants in BPMN. 
AssociationAn Association links artifacts to flow elements, providing additional information without affecting process flow. 

Sequence Flow

Sequence Flow indicates the order in which activities and events are executed within a process. It is represented by a solid line with an arrowhead, illustrating the progression of the process from one element to another.

ElementDescriptionNotation
Normal FlowNormal flow refers to paths of Sequence Flow that do not start from an Intermediate Event attached to the boundary of an Activity.
Uncontrolled FlowUncontrolled flow refers to flow that is not affected by any conditions or does not pass through a Gateway. The simplest example of this is a single Sequence Flow connecting two Activities.
Conditional FlowA Sequence Flow can have a condition Expression that are evaluated at runtime to determine whether or not the Sequence Flow will be used.
Default FlowFor Data-Based Exclusive Gateways or Inclusive Gateways, one type of flow is the default condition flow. This flow will be used only if all the other outgoing conditional flow is not true at runtime.

Swimlanes

Swimlanes are visual elements used to organize and categorize activities and tasks within a process diagram, typically representing different participants, roles, or departments involved. They enhance clarity by delineating responsibilities and interactions, allowing viewers to easily identify who is responsible for each part of the process.

ElementDescriptionNotation
PoolA Pool represents a participant in a process, encapsulating its activities and interactions.
LaneA Lane represents a specific participant or role within a Swimlane in a process.

Artifacts

Artifacts are supplementary elements that provide additional information about the process but do not affect the flow. They include Data Objects, Groups, and Annotations, helping to enhance understanding and documentation of the business process by providing context and clarification.

ElementDescriptionNotation
GroupA Group visually organizes related tasks or activities in a process without affecting flow.
Text AnnotationA Text Annotation provides additional explanatory information about elements within a BPMN diagram.

Summary

Congratulations! You have finished the post about BPMN 2.0 Elements. Follow me on any of the different social media platforms and feel free to leave comments.