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

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

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

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

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

Each occurrence of a subsequent event starts a new process instance.
Exclusive Event-based Gateway

The occurrence of all subsequent events starts a new process instance.
Parallel Event-based Gateway

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

Swimlanes
Swimlanes manage the Pools of a process.

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.


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

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.

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

Sub-process Marker

Send Task

Loop Marker

Receive Task

Parallel MI Marker

User Task

Sequential MI Marker

Manual Task

Ad Hoc Marker

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.
Conversations

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

A conversation link connects conversations and participants.

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.

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

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

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.

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