BPMN Diagram Tutorial

A BPMN diagram offers a graphical representation for process modeling and describing. The processes are presented as flows of tasks, events, and process branches (realized by gateways), organized in swimlanes.

What Is BPMN Diagram?

A BPMN diagram depicts business processes using BPMN. BPMN stands for Business Process Model and Notation. It is a type of diagram similar to flowcharts and UML activity diagrams. The notation provides richer and more specific means of expression for the business process domain than other notations.

There three kinds of BPMN diagrams:

  • BPMN Conversation diagram
  • BPMN Collaboration diagram
  • BPMN Choreography diagram

BPMN Diagram Symbols

The following symbols can be used on BPMN diagrams:

  • Swimlanes - pool and lane
  • Activities - task, transaction, sub-process, event sub-process, call activity
  • Gateways
  • Events
  • Data - data input, data output, data store, data object
  • Flows - sequence flow (default flow, conditional flow), message flow, data association
  • Artifacts - group, text annotation
  • Conversation
  • Choreography task

BPMN Events

Every BPMN event is one of three basic types - start, intermediate, or end depending on its occurrence in the process. The events that occur at the beginning of the process (start events) are depicted using a circle with a standard width line. The intermediate events occur during the process between two process activities. They are depicted as circles with a double line of the standard width. The events that occur at the end of the process are depicted as circles with wide borders.

Boundary BPMN Events - Interrupting and Non-Interrupting

A boundary event is an intermediate event that is attached to the border of a task. A boundary event specifies the event which the activity can respond to. There are two kinds of boundary events:

  • Interrupting - in the case that the specified event occurred, the activity is stopped and the process continues with the flow described by the event.
  • Non-Interrupting - if the non-interrupting event occurs, the activity continues without any interruption. When the activity is completed, the process continues parallelly in two ways - in a standard way, and also in the way that is specified by the event.

Throwing and Catching BPMN Events

An BPMN event may be catching or throwing. A throwing BPMN event triggers an event of a specific type. A catching BPMN event responds to an event triggered by a throwing event.

All Available Combinations of BPMN Event Types

BPMN Events - BPMN Events
BPMN Events - BPMN Events

There are start, intermediate and end events, throwing and catching events, and interrupting and non-interrupting events, but not all combinations are meaningful. The following list shows the possible combination of event types.

Start BPMN Events

  • Compensation Start Event (Interrupting)
  • Conditional Start Event (Interrupting)
  • Conditional Start Event (Non-interrupting)
  • Error Start Event (Interrupting)
  • Escalation Start Event (Interrupting)
  • Escalation Start Event (Non-interrupting)
  • Message Start Event (Interrupting)
  • Message Start Event (Non-interrupting)
  • Multiple Start Event (Interrupting)
  • Multiple Start Event (Non-interrupting)
  • Parallel Multiple Start Event (Interrupting)
  • Parallel Multiple Start Event (Non-interrupting)
  • Signal Start Event (Interrupting)
  • Signal Start Event (Non-interrupting)
  • Timer Start Event (Interrupting)
  • Timer Start Event (Non-interrupting)

Intermediate BPMN Events

  • Catching Message Intermediate Event
  • Interrupting Boundary Catching Message Intermediate Event
  • Non-interrupting Boundary Catching Message Intermediate Event
  • Throwing Message Intermediate Event
  • Catching Timer Intermediate Event
  • Interrupting Boundary Catching Timer Intermediate Event
  • Non-interrupting Boundary Catching Timer Intermediate Event
  • Interrupting Boundary Catching Escalation Intermediate Event
  • Non-interrupting Boundary Catching Escalation Intermediate Event
  • Catching Conditional Intermediate Event
  • Interrupting Boundary Catching Conditional Intermediate Event
  • Non-interrupting Boundary Catching Conditional Intermediate Event
  • Catching Link Intermediate Event
  • Throwing Link Intermediate Event
  • Interrupting Boundary Catching Error Intermediate Event
  • Interrupting Boundary Catching Cancel Intermediate Event
  • Interrupting Boundary Catching Compensation Intermediate Event
  • Throwing Compensation Intermediate Event
  • Catching Signal Intermediate Event
  • Interrupting Boundary Catching Signal Intermediate Event
  • Non-interrupting Boundary Catching Signal Intermediate Event
  • Throwing Signal Intermediate Event
  • Catching Signal Intermediate Event
  • Interrupting Boundary Catching Signal Intermediate Event
  • Non-interrupting Boundary Catching Signal Intermediate Event
  • Throwing Signal Intermediate Event
  • Catching Multiple Intermediate Event
  • Interrupting Boundary Catching Multiple Intermediate Event
  • Non-interrupting Boundary Catching Multiple Intermediate Event
  • Throwing Multiple Intermediate Event
  • Catching Multiple Parallel Intermediate Event
  • Interrupting Boundary Catching Multiple Parallel Intermediate Event
  • Non-interrupting Boundary Catching Multiple Parallel Intermediate Event

End BPMN Events

  • None End Event
  • Message End Event
  • Signal End Event
  • Multiple End Event
  • Escalation End Event
  • Error End Event
  • Compensation End Event
  • Cancel   End Event
  • Terminate End Event

BPMN Gateways

A BPMN gateway is a decision node that creates branches of flows in the process. It controls the workflow depending on its type. Various types affect the process flow in a specific way. There are these types of gateways available:

  • Exclusive Gateway (not marked, empty diamond)
  • Exclusive Gateway (marked, with X symbol)
  • Complex Gateway
  • Event-Based Gateway
  • Inclusive Gateway
  • Parallel Gateway
  • Exclusive Event-Based Gateway
  • Parallel Event-Based Gateway
BPMN Gateways - BPMN Gateways
BPMN Gateways - BPMN Gateways

Exlusive Gateway

An exclusive gateway is a decision point that allows the process to continue in various ways depending on the fulfilled condition. The process can continue with only one flow from the gateway. If a default flow leads out from the gateway, it is used for all the cases that do not meet conditions defined by other flows.

An exclusive gateway may is depicted as an empty diamond or a diamond with an X symbol in the middle. (Both visual representations have exactly the same meaning.) A BPMN exclusive gateway is similar to the decision node from the UML activity diagram.

Event-Based Gateway

An event-based gateway is a decision node similar to the exclusive gateway. Both choose only one of the outcoming flows, but event-based gateway does not evaluate a condition, it controls the process by the occurred event.

An event-based gateway is depicted as a diamond with a circle with a pentagram inside.

Inclusive Gateway

An inclusive gateway allows the process to continue with multiple flows if multiple flow conditions are met.

An inclusive gateway is depicted as a diamond with a circle inside.

Parallel Gateway

A parallel gateway forks the process evaluation into two and more concurrent flows.

A parallel gateway is depicted as a diamond with a plus sign inside.

It is equivalent to fork and join elements in the UML activity diagram.

Parallel Event-Based Gateway

A parallel event-based gateway forks the process evaluation into two and more concurrent flows that are triggered by specific events.

A parallel event-based gateway is depicted as a diamond with a circle with a plus sign inside.

Complex Gateway

A complex gateway is used to model complex decision scenarios that cannot be modeled using other types of gateways. The complexity is defined using the internal parameters. This gateway is used very rarely. A combination of other gateway types is recommended instead of the complex gateway.

A complex gateway is depicted as a diamond with an asterisk inside.

BPMN Tasks

A BPMN task represents a unit of work within a modeled process. It is one of the basic building blocks of a BPMN diagram. It is depicted as a rounded rectangle. The type of task can be distinguished by the icon in the left top corner.

There are these types of BPMN tasks:

  • Abstract Task - is a general task without any specific type.
  • Business Rule Task - is a task that executes one or more business rules.
  • Manual Task - is a task that is performed physically, it is not executed by any software nor system.
  • User Task - is a task performed by a human user independently of any automated process engine. It may also be a task that a person does with a software application.
  • Receive Task - is a task that waits for message arrival. As soon as the message is delivered the task is completed and the process can continue with other tasks.
  • Send Task - is a task that sends a message to an external participant (represented by a lane or pool). When the message is sent, the task is considered completed.
  • Script Task - is a task that contains a script that can be executed by the business process engine. When the script is completed, the task is considered done.
  • Service Task - is a task that uses automated processing defined by service, web service, or an application module.
BPMN Tasks - BPMN Tasks
BPMN Tasks - BPMN Tasks

Subprocesses

  • Sub Process - is a BPMN activity that defines another process. Subprocess may be in a collapsed and expanded state. When it is collapsed, it is annotated with a small plus in a square in the bottom part of the activity node. When it is expanded, it shows the nested process with all its nodes and details.
  • Adhoc Sub Process - specifies a subprocess whose activities may be executed multiple times, in any order, or even completely skipped.
  • Event Sub Process - specifies another subprocess within a parent process. The event subprocess is activated by an event. It may cancel the main process, or be executed in parallel depending on the event type that starts the event subprocess.
  • Transaction - specifies a process grouping that allows the nested processes to succeed or fail together. A transaction may have one of three outcomes: success, error (hazard), or cancellation.

Flows and Connectors

There are four types of connectors in BPMN notation:

  • Sequence Flow
  • Message Flow
  • Association
  • Data Association

Sequence Flow

A sequence flow connects the activities in the process flow. It is depicted as a solid line with an arrowhead. Apart from the standard sequence flow, there are these more specific types of sequence flow:

  • Conditional flow - performs only if a condition is met.
  • Default flow - works as an else branch, it performs when there is no other option to perform.

BPMN Data

  • Data Object - represents a piece of information that is sent between two parts of the system.
  • Data Object Collection - represents a series of information that is sent between two activities.
  • Data Input - represents external data required as an input for a modeled process.
  • Data Input Collection - represents a series of data inputs.
  • Data Output - represents data generated as an output by a modeled process.
  • Data Output Collection - represents a series of data outputs.
  • Data Store - is permanent storage for data that also exists outside the scope and lifetime of the process.

Swimlanes

There are two kinds of swim lane elements in the BPMN - pools and lanes.

A pool represents a major participant in the modeled system. A pool may contain one or more lanes.

A lane allows you to dive a pool and its elements into multiple groups. Lanes can represent different categories or roles within a participant.

Other Elements

BPM notation offers also other artifacts, that help you better organize and describe your diagrams:

  • Group - delimits a group of elements within a diagram.
  • Text Annotation - a note or a comment for a diagram element.

New Comment

Comment