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 (events, activities, and gateways)
- Data (objects, inputs, outputs, stores)
- Connecting Objects (sequence flows, message flows, and associations)
- Swimlanes (pools and lanes)
- Artifacts (groups, and annotations)
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.
Element | Description | Notation |
---|---|---|
Activity | An Activity is a task or process performed within a business workflow. | |
Gateway | A Gateway controls the flow of a process based on conditions. | |
Event | An 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.
Element | Description | Notation |
---|---|---|
Task | A Task is an atomic activity within a Process flow. | |
Sub-Process | A Sub-Process is a compound activity that is included within a Process. | |
Call Activity | A 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.
Element | Description | Notation |
---|---|---|
Service Task | A Service Task automates a process step by invoking a system or service. | |
Send Task | A Send Task is an activity that sends a message to a specified recipient. | |
Receive Task | A Receive Task is an activity that waits for and processes incoming messages or signals. | |
User Task | A User Task is an activity performed by a human participant in a process. | |
Manual Task | A Manual Task is an activity performed without automation, requiring human intervention. | |
Business Rule Task | A Business Rule Task automates decision-making by executing business rules within a process. | |
Script Task | A 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 Marker | Description | Notation |
---|---|---|
Loop | This task marker indicates that the task will be repeated until a specific condition is met. | |
Sequential Multi-Instance | This task marker indicates that multiple instances of a task will be executed one after the other, in a specific order. | |
Parallel Multi-Instance | This task marker signifies that multiple instances of a task will be executed simultaneously, allowing for concurrent processing. | |
Compensation | This task marker indicates that a task can be reversed with a compensation process. | |
Ad Hoc | This 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 Type | Description | Notation |
---|---|---|
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 Subprocess | An 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 Subprocess | A 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 Marker | Description | Notation |
---|---|---|
Loop | This subprocess marker indicates that a subprocess will repeat until a specific condition is met. | |
Sequential Multi-Instance | This subprocess marker indicates the subprocess will be executed sequentially. | |
Parallel Multi-Instance | This subprocess marker indicates multiple instances are executed simultaneously. | |
Ad Hoc | This subprocess marker indicates that tasks can be performed in any order. | |
Compensation | This 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.
Element | Description | Notation |
---|---|---|
Call Activity | A 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.
Element | Description | Notation |
---|---|---|
Exclusive Gateway | An Exclusive Gateway routes the process flow to one path based on specific conditions. | |
Inclusive Gateway | An Inclusive Gateway allows one or more paths to be taken based on conditions. | |
Parallel Gateway | A Parallel Gateway is used to synchronize (combine) parallel flows and to create parallel flows. | |
Complex Gateway | A Complex Gateway handles intricate conditions for routing process flows based on multiple criteria. | |
Event-based Gateway | An 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 Events | Throwing Events | |||||||
Start Event | Intermediate Event | End Event | ||||||
Standard | Event Subprocess Interrupting | Event Subprocess Non-Interrupting | Catching | Boundary Interrupting | Boundary Non- Interrupting | Throwing | Standard | |
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.
Element | Description | Notation |
---|---|---|
Data Object | A Data Object represents information used or produced by activities within a BPMN process. | |
Data Inputs | Data Inputs are information required by activities to execute tasks within a business process. | |
Data Outputs | Data Outputs represent information produced by activities at the conclusion of a process. | |
Data Stores | A 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.
Element | Description | Notation |
---|---|---|
Sequence Flow | Sequence Flow indicates the order of activities and events within a BPMN process. | |
Message Flow | Message Flow represents the exchange of messages between different processes or participants in BPMN. | |
Association | An 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.
Element | Description | Notation |
---|---|---|
Normal Flow | Normal flow refers to paths of Sequence Flow that do not start from an Intermediate Event attached to the boundary of an Activity. | |
Uncontrolled Flow | Uncontrolled 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 Flow | A Sequence Flow can have a condition Expression that are evaluated at runtime to determine whether or not the Sequence Flow will be used. | |
Default Flow | For 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.
Element | Description | Notation |
---|---|---|
Pool | A Pool represents a participant in a process, encapsulating its activities and interactions. | |
Lane | A 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.
Element | Description | Notation |
---|---|---|
Group | A Group visually organizes related tasks or activities in a process without affecting flow. | |
Text Annotation | A 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.