BPMN 2.0

BPMN 2.0

BPMN 2.0 is a widely used standard and graphical language for describing process models.
The symbols are standardized and can be easily understood by analysts, consultants and technicians.

A “BPMN 2.0” process design consists of activities connected by a flow.
The BPMN standard also uses:

gateways to represent alternative paths of a process in a much clearer and more readable way;
functions to manage sub-processes;
additional objects (such as notes and groups);
activities grouped in swimlanes: graphical elements used in flowcharts that visually divide the responsibilities of the sub-processes of a macro-activity. Swimlanes can be structured both horizontally and vertically.



Gateways represent in a clearer and more standardized way the possible paths of a process.

In case of splitting, the sequence flow is routed to exactly one of the outgoing branches. In case of merging, it awaits one incoming branch to finish before proceeding.

Exclusive Gateway

Gateways esclusivo

This symbol is always followed by catching events or receive tasks. The sequence flow is routed to the subsequent task/event which happens first.

Event-based Gateway

Gateways basato su eventi

When used to split the sequence flow, all outgoing branches are activated simultaneously. When merging parallel branches, the flow waits for all incoming branches to be completed before proceeding.

Parallel Gateway

Gateways parallelo

In case of splitting, one or more branches are activated. The flow proceeds only when all branches are complete.

Inclusive Gateway

Gateways inclusivo


Merging and branching actions that are not managed by other gateways.

Complex Gateway

Gateways complesso


Each occurrence of a subsequent event starts a new process instance.

Exclusive Event-based Gateway

Gateways esclusivo basato su eventi

The occurrence of all subsequent events starts a new process instance.

Parallel Event-based Gateway

Gateways parallelo basato su eventi


Events represent the occurrences that impact the process (but are not activities).


Swimlanes manage the Pools of a process.

ordine scambi2

Pools (Participants) and Lanes represent responsibilities for activities in a process.
Pools or lanes can represent organizations, roles or systems.
Lanes subdivide pools or other lanes hierarchically.


The message flow represents the information flow. A message flow can be attached to pools, activities, or message events.


flusso messaggi
ordine scambi


The order of message exchanges can be specified by combining the message flow and the sequence flow.




A Task is a unit of work, the job to be performed.
This symbol indicates a sub-process, i.e. an activiy that can be refined.


A Transaction is a set of activities that that logically belong together. It might follow a specified transaction protocol.


An Event Sub-Process is placed into a Process or Sub-Process. It is activated when its start event gets triggered and can interrupt the higher level process context or run in parallel (non-interrupting) depending on the start event.

call activity

A Call Activity is a wrapper for a globally defined Task or Process reused in the current Process.

Activity markers Markers indicate execution behavior of activities:
Task Types Types specify the nature of the action to be performed:

Sub-process Marker

task invio

Send Task


Loop Marker

task ricezione

Receive Task

esecuzione in parallelo

Parallel MI Marker


User Task

esecuzione sequenziale

Sequential MI Marker

task manuale

Manual Task

ad hoc

Ad Hoc Marker

regole di business

Business Rule Task


Compensation Marker


Service Task


Script Task

Sequence flow

defines the execution
order of activities.

Default flow

is the default branch
to be chosen if all other
conditions evaluate to false.

Conditional flow

has a condition assigned
that defines whether
or not the flow is used.



A conversation defines a set of logically related message exchanges.
When marked with this symbol, it indicates a subconversation, a compound conversation element.

conversation link

A conversation link connects conversations and participants.


A forked conversation link connects conversations and multiple participants.

Conversation Diagram


A Data Input is an external input used for the entire process.
It can be read by an activity.
A Data Output is data result of the entire process.

data input output

A Data Object represents information flowing through the process, such as business documents, e-mails or letters.

data object

A Collection Data Object represents a collection of information, e.g. a list of ordered items.

collection data

A Data Store is a place where the process can read or write data, e.g. a database or a filing cabinet. It persists beyond the lifetime of the process instance.

data store

A Message is used to represent the contents of a conversation between two participants.