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;
events;
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.

Examples

Gateways

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

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

Swimlanes

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.

 

Tasks

task

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.

transaction.

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

event-sub

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:
simbolo

Sub-process Marker

task invio

Send Task

loop

Loop Marker

task ricezione

Receive Task

esecuzione in parallelo

Parallel MI Marker

utente

User Task

esecuzione sequenziale

Sequential MI Marker

task manuale

Manual Task

ad hoc

Ad Hoc Marker

regole di business

Business Rule Task

compensazione

Compensation Marker

service

Service Task

script

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.

Conversations

comunicazione

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.

forked


A forked conversation link connects conversations and multiple participants.

Conversation Diagram

Data

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.


messaggio