2. About the Author
Gregor Polančič is an assistant professor at the University of Maribor, Slovenia. He received his PhD in 2008 in the fields of software
engineering and information systems. He has a decade of experience in BPMN, starting to investigate and actively use BPMN since its
first version in 2004. He has participated in the development of one of the first BPMN modeling utilities - a package of plugins for Visio,
which were introduced in 2004 and is the main author of the first BPMN poster, which has been translated into several languages and
already exceeded 50.000 downloads. In 2008, he was one of the first authors who published an article, dedicated to the experiences and
practical use of BPMN. The article was published in ‘BPM and Workflow Handbook’ in association with the Workflow Management
Coalition (WfMC). Gregor Polančič is teaching BPMN and BPM since 2005 in several undergraduate and postgraduate courses and has
been an invited BPMN lecturer on several Universities. He has participated in several BPMN related local and international workshops
and projects and is currently researching BPMN from different technological and user aspects. Gregor Polančič is also owner of the
international certificate Certified Business Process Professional for Higher Education Institutions. Gregor Polančič is periodically authoring
for Orbus Software and blogging as well preparing learning materials for Good e-learning.
http://www.linkedin.com/in/gregorpolancic
gregor.polancic@gmail.com
This work is licensed under a Creative Commons Attribution-Non
Commercial-No Derivatives 4.0 International License.
For commercial use or services, please contact the author.
3. Content
• The basics of business processes and BPMN
• Basic set of process modeling elements
• Full set of process modeling elements
• BPMN beyond process modeling
3
4. THE BASICS OF BUSINESS
PROCESSES AND BPMN
Business Process Modeling with BPMN 2.0
4
5. What is a Business Process?
• A business process consist of a set of activities that are performed in coordination in an
organizational and technical environment. These activities jointly realize a business goal
(product or service).
• Each business process is enacted by a single organization, but it may interact with
business processes performed by other organizations.
Realizes
Product or service
Business process
5(Weske 2012)
6. Should you Care about Business Processes?
• Yes, because each organization produces something
or services somebody.
• So, each company runs processes, however
only some companies are aware of them. Don’t
agree? Try to find a counterexample!
• Did you know that business processes are
organizational assets that are central to creating
value for customers?
Customer service
Engineering
Manufacturing
Marketing
Packaging
Quality assuranceSales
Shipping
Examples of business processes
6
7. What Kind of Assets are Business Processes?
7
Tangible assets Intangible assets
Material,
Machines,
Infrastructure,
Money,…
Knowledge,
Relationships,
Processes,
Information,…
These are organization’s resources. These are organization’s capabilities.
Resources can be acquired. Capabilities CANNOT be acquired.
They have to be evolved.
• The product or service of an organization depends mainly on how capabilities use
(develop, deploy and coordinate) resources.
(Orand 2011)
8. Are you Aware of Business Processes?
Process AWARE company
• A simple approach to evolve (i.e.
improve) processes:
1. If you are aware of processes you can
identify them.
2. If you can identify processes you
can analyze them.
3. If you can analyze processes, you
can evolve (i.e. improve) them.
Process UNAWARE company
• Any ideas how to evolve processes?
8
Deming (PDCA) circle
?
9. How Can we Work with Processes? With Modeling.
• Can we ‘touch’ a process? No, it actually exists only in our minds.
• So, we have to indirectly work with a process.
• The best way of working with a process is to model it.
9
Help desk center in a real world Help desk process model
Transformation of a real-
world business process
into a process model.
10. Benefits of Process Modeling
• Representation of processes.
• Analysis of processes.
• Continuous improvement of processes.
• A basis for IT support.
• A solid basis for process management.
Plan: model
processes
Do: perform
processes
Check: monitor
processes
Act: adjust
processes
10
Deming (PDCA) circle
11. Which „Modeling Language“ Should be Used?
• Process models are commonly used for communication between co-workers, customers
or business partners.
• Besides, processes are commonly modeled, performed on computers in a collaborative
environment.
• These requires a common - standardized modeling language.
11
Computers and humans can effectively communicate and collaborate in case of a
common (process modeling) language.
12. What We Have Learned so Far …
• Each company runs business processes.
• Business processes are organizational assets that are central to creating value for
customers.
• In order to stay competitive, a company needs to continuously improve the processes.
• Processes are intangible, so we cannot manage them directly. An effective way to work
with processes is to model them.
• To take the full potential out of process modeling, a standardized process modeling
language should be used. This enables interoperability, communication and
collaboration.
12
= BPMN
13. What is BPMN?
• Business Process Model and Notation
– Business Process - A collection of related, structured
activities or tasks that produce a specific service or
product for a particular customer.
– Model –a representation of a business process.
• Visual proces model – process diagram
• Non-visual proces model (e.g. executable process model)
– Notation – a set of elements (language) + rules used for
representing a business process in a business process
model (diagram).
13
Customer request
Business process
Process outcome
Task Task Task
Task
Content for the model
‚Alphabet‘ for the model
The current BPMN version is 2.0.2, released in January 2014.
14. Why BPMN?
Standardized. The de-facto & ISO/IEC
19510:2013 standard in process modeling.
Open. Created and controlled in an open and
fair process.
Simple & complete. Can be used in a simple
or detailed way.
Learnable. Based on previous notations.
Interchangeable. Capable of being
interchanged between IT solutions.
Executable. Capable of being automated.
14
Standardization
enables
communication.
Openness enables
transparency and
democracy.
Simplicity and
learnability enable
acceptance and
popularity.
Interoperability
enables humans and IT
collaboration.
Automation improves
process’s efficiency
and consistency.
15. Primary Goal of BPMN
• “The primary goal of BPMN is to provide a notation that is readily understandable
by all business users /…/. Thus, BPMN creates a standardized bridge for the gap
between the business process design and process implementation.”
15
BPMN model
Real-world business process
New request
Receive
request
Analyze
request
Approve
request
Reject
request
RejectApprove
Request
approved
Request
rejected
Process
modeler
Process
owner
Process
participants
IT engineer
BPMN 2.0
Page 1
16. In Scope of BPMN
Business process modeling
• Diagrams (e.g. process diagrams,
collaboration diagrams).
• Syntax, semantics and visual appearance
for process elements
(e.g. events, activities and gateways).
• Attributes and properties of the semantic
elements represented by the graphical
process elements.
• Formats for exchanging diagrams.
Business process execution
• Execution semantics.
• Formats for exchanging executable
models.
• Support for BPMN and BPEL process
engines.
16
BPMN 2.0
Page 1-12
Focus of these slides
Introduced in these slides
17. Out-of-Scope of BPMN
• BPMN is constrained to support only the concepts of
modeling that are applicable to business processes.
• Out of scope, but related domains are:
– Definition of organizational models and resources.
– Modeling of functional breakdowns.
– Data and information models.
– Modeling of strategy.
– Business rules models.
17
BPMN 2.0
Page 22
Business rules
Data models
Organizational structures
18. Purposes of BPMN Use
18
Conformance type Diagram types Diagram elements Execution
Process modeling Process, collaboration,
conversation.
Full process modeling
conformance.
Not available.
Process execution
with BPMN
Not available. Not available. Process diagrams.
Process execution
with BPEL
Not available. Not available. Process diagrams.
Choreography Choreography and
collaboration (partially).
Choreography diagram elements
and some basic process elements.
Choreography.
BPMN Conformance types define formal purposes of the use of BPMN and the corresponding software
implementations. These slides focus on process modeling conformance.
BPMN 2.0
Page 12
Focus of
these slides
19. What is a BPMN Diagram?
• A BPMN diagram is actually a visual sentence expressed in BPMN notation. Similar to natural
languages a notation (i.e. visual language) consists of a vocabulary, syntax and semantics.
19
BPMN
notation
BPMN
vocabulary
BPMN
syntax
BPMN
semantics
Expressed in
BPMN 2.0
diagram
Set of BPMN
(visual) elements
(i.e. symbols).
Set of BPMN
rules for
combining
BPMN elements.
The meaning of
BPMN elements
and their
combinations.
20. BPMN Diagram Types
• BPMN is designed to cover many types of modeling and allows the creation of ‚end-to-
end‘ business processes.
• There are three basic types of sub-models within an ‚end-to-end‘ BPMN model:
– Processes
– Choreographies (not part of process modeling conformance)
– Collaborations
20
The majority of examples
on the following slides is
related to online store
processes.
BPMN 2.0
Page 22-23
21. BPMN Process Diagrams
• In BPMN a process is depicted as a graph of flow elements (i.e. activities, events,
gateways) and sequence flows that define finite execution semantics.
21
Private (internal)
processes -
represent a specific
process
(orchestration) in
an organization.
Can be executable
or non-executable
Public process - represents interactions between a private
business process and another process or participant.
BPMN 2.0
Page 23,150
An executable process is modeled
for the purpose of being executed.
A non-executable process modeled
for the purpose of documenting
process behavior at a modeler-
defined level of detail.
Start
shopping
Complete order
online
Order ready
notification
Type of
delivery?
Takeover
Delivery
Request
takeover
Request
delivery
Customer goes to
the store at his
convenience
Shopping
complete
Order
delivered
Start
shopping
Complete order
online
Order ready
notification
Type of
delivery?
Takeover
Delivery
Request
takeover
Request
delivery
Customer goes to
the store at his
convenience
Shopping
complete
Order
delivered
Store
Order request
Order available
Takeover
Delivery
Order
delivery
Ready for
takeover
Processes can be defined at any level: from enterprise-wide
processes to processes performed by a single person.
Only those activities that are used to communicate to other
participants are included in the public process.
22. BPMN Collaboration Diagrams
• A collaboration represents the
interactions between two or more
business entities (e.g. processes).
• A collaboration usually contains two
or more pools (black-box or white-
box), representing the participants in
the collaboration.
• The message exchange between the
participants is shown by a message
flow that connects two pools (or the
elements within the pools).
22
BPMN 2.0
Page 24
Home
Store
Distribution center
Order Product request Product deliveryOrder delivery
Collaboration model
with white-box pools
(i.e. visible details)
Collaboration model with
black-box pools (i.e. hidden
details)
HomeStoreDistributioncenter
Start
shopping
Complete order
online
Order request
New order
received
Check product
availability
All producs in
stock?
YES
Send order
availability
notification
NO
Contact
distribution
center
Products
available
Deliver order
Hold order
Deliver order
Complete
transaction
Order ready
notification
Type of
delivery?
Takeover
Delivery
Request
takeover
Request
delivery
Delivery
Takeover
Customer goes to
the store at his
convenience
Shopping
complete
Order available
New product
requested
Transfer product to
store
Product
delivered
Delivery notification
Transaction
completed
Order delivery
Order
delivered
Ready
for takeover
Customer at
the store
Request product
23. BPMN Collaboration Diagram Example
23
A customer starts shopping and completes order
online. The order is sent to Store. Then the customer
waits for a notification that the product is ready. Based
on preferred type of delivery (takeover or delivery) the
customer receives or gets the desired product.
When the store receives a new order it checks for
products availability. In case a product is not in stock, it
contacts distribution center. When all order‘s products
are available the customer is notified that the product
is ready. Based on preferred type of delivery, the
product is delivered to customer and the transaction
completes.
In case of a new product request, the desired product is
delivered to requesting store.
Message flows are used for between-process
interactions and synchronization.
CustomerStoreDistributioncenter
Start
shopping
Complete order
online
Order request
New order
received
Check product
availability
All producs in
stock?
YES
Send order
availability
notification
NO
Contact
distribution
center
Products
available
Deliver order
Hold order
Deliver order
Complete
transaction
Order ready
notification
Type of
delivery?
Takeover
Delivery
Request
takeover
Request
delivery
Delivery
Takeover
Customer goes to
the store at his
convenience
Shopping
complete
Order available
New product
requested
Transfer product to
store
Product
delivered
Delivery notification
Transaction
completed
Order delivery
Order
delivered
Ready
for takeover
Customer at
the store
Request product
24. BPMN Conversation Diagrams
• A conversation diagram provides
an overview of which partners of a
certain domain co-operate on
which tasks.
• Conversation diagrams represent a
specific (i.e. top level) ‘view’ of
collaboration diagrams.
• Conversation diagrams use simple
notation: participants, conversation
nodes (hexagons) and conversation
links (i.e. a series of message
exchanges).
24
BPMN 2.0
Page 26
Conversation nodes
and links are used
only in conversation
diagrams.
Conversation nodes (i.e.
topic of conversation) are
actually collections of
message flows.
Conversation
participant.
25. BPMN Choreography Diagrams
• Choreography models are NOT part of
process modelling conformance.
• Choreographies are new in BPMN 2.0
and focus on between-processes
interactions and message flows.
• A choreography diagram can be used
to analyse how participants exchange
information to coordinate their
interactions.
• Another way to look at choreography
is to view it as a type of business
‘contract’ between two or more
organizations.
25
BPMN 2.0
Page 25
Complete order
online
Start
shopping
Check product
availability
Type of
delivery
Takeover
Delivery
Go to the store
Deliver order
Complete
transaction
Shopping
complete
Customer Customer
Customer
Customer
Store Store
Store
StoreCustomer
Store
Order
Order availability statusOrder confirmation
Order complete confirmation
Order sent
Order received
confirmation
Choreographies exist
between pools (e.g.
participants,
organizations).
Choreography tasks
are used only in
choreography
diagrams.
26. Common Use of Different BPMN Diagrams
26
Choreography model
within Process 1 – Process
2 collaboration model.
Process model for Process 1.
Collaboration between
Process 1 and Participant 1.
Conversation model
between Participant 1 and
2.
Message exchanges in
Process 1 - Process 3
collaboration.
Conversation link to
Process 1 event.
Black-box process 2.
Conversation between
Participant 2 and Process 1.
Process model for Process
3.
BPMN 2.0
Page 133, 138
Process1
Task 1 Task 2
Participant 1
Conversation 1Conversation 2
Participant 2
Process 2
Task 1 Task 2
Process3
Task
27. BPMN Process Modeling Elements
• BPMN diagrams are ‘graphs’ of BPMN elements.
• BPMN elements have defined:
– Syntax – rules about how to use BPMN elements in BPMN diagrams.
– Semantics – meaning of BPMN elements.
• BPMN elements may have:
– Visual representation.
– Visual and non-visual attributes.
27
Categories of
(visual) BPMN
elements
Data Connections Flow objects
Events Activities Gateways
Swimlanes Artifacts
Comment
BPMN 2.0
Page 27-28
28. Visible elements and
attributes
Non-visible elements
and attributes
Classes of BPMN Elements
• The full set of BPMN process modeling elements is
additionally divided into three subclasses:
– Descriptive subclass of elements is concerned with visible
elements and attributes used in high-level modeling. It
should be comfortable for majority of process analysts.
– Analytic subclass of elements is concerned with visible
elements and attributes used in detailed process
modeling. Includes all elements from the descriptive level
and about half of all process modeling elements.
– Common executable subclass of elements focuses on what
is needed for executable process models. The palette of
elements is between descriptive and analytical, but
includes attributes related to executable details.
28
BPMN 2.0
Page 2
(Silver 2011)
Full class
Analytical
subclass
Common executable subclass
Descriptive
subclass
29. BPMN in a Process Architecture
• A process architecture represent a hierarchically (i.e. process abstraction levels) and
horizontally (i.e. relationships between processes) organized system of an organization’s
business process models.
29
Process landscape
diagrams
Strategic process
diagrams
Operational process diagrams
Used for representing an overview of organizational processes
and their relationships. Partially supported by BPMN (i.e.
Conversation diagrams).
Used for a conceptual overview of individual business
processes. Supported by BPMN with the use of descriptive set
of BPMN elements.
Used for detailed business process descriptions (i.e. workflows)
intended for (technical or human) operation. Supported by
BPMN with the use of the full set of BPMN elements.
Process architecture levels
30. BASIC SET OF PROCESS
MODELING ELEMENTS
Business Process Modeling with BPMN 2.0
30
31. Descriptive Subclass of Process Modeling Elements
• Used to create process diagrams
which are readily understood by
almost any business person and
supported by almost all BPMN tools.
• Suited for high-level process
modeling.
• Should be comfortable for analyst
that have used “flowcharts”.
POOL
LANELANE
Task Task Task
Sub Process
Sub Process
(expanded)
Call
Activity
Text
<group>
Descriptive subclass of BPMN elements
32. Onlinestore
ITsystemEmployees
Technical
support
Customer
service
Customer
Product order Product delivery
Swimlanes and Message Flows
• A swimlane is a graphical container for
partitioning a set of activities from other
activities.
– A pool is a container for partitioning a Process
from other Processes or Participants.
– Lanes are used to organize and categorize
activities within a Pool.
• Between pools communication is modeled
with message flows.
• Pools are used in process and collaboration
diagrams.
32
Lanes can be
nested.
Lanes are sub-
partitions of a pool.
A pool represents a participant in a
collaboration.
A black-box
pool.
BPMN 2.0
Page 29-30
Between pool
communication is
performed with
message flows.
33. Complete order online
Select
product
Complete order online
Checkout
Activities and Sequence Flows
• An activity is a generic type of work that an individual or company performs.
• An activity can be:
– Atomic (task) or
– Compound (process, sub-process) – uses a “+” sign.
• The sequence of activities is represented with sequence flow connections.
33
Bpmn 2.0
Page 29
A collapsed sub-process
with hidden details.
An expanded sub-process
has visible details.
A task is an atomic
activity.
Sub-processes
can be nested.
Sequence flow is
represented with
directed solid lines.
34. Descriptive Subclass of Activities
• Descriptive subclass of BPMN
elements includes following
activities:
– Task (see previous slide)
– User Task
– Service Task
– Expanded sub-process (see previous slide)
– Collapsed sub-process (see previous slide)
– Call Activity (Task and Sub-process)
34
BPMN 2.0
Page 158-184
User Task is a typical “workflow” task
where a human performs a task with
the assistance of a software.
Service Task is a task that uses some
sort of service, which could be a web
service or an automated application.
Call Activity represents a point in the
process where a global process [+] or a
global task is used (i.e. GOTO activity).
Define shipping
address
Convert to local
currency
Validate address
Call activity
has a thick
border.
Credit card
verification
35. Start
shopping
Select a product
Wait for
confirmation
Product is not
available
End shopping
Select an
alternative product
Buy a product
Events
• An event is something that
»happens« during the process.
• Basic (descriptive) events can
start a process, as well, they
occur at the end of a process.
• Icons within the circle shape of
an event can indicate the type
of triggering (e.g. a message,
time condition, rule, etc.).
35
A start event begins a
new process (instance).
An end event indicates the state of a
process when it comes to an end.
An intermediate boundary event reacts
(e.g. interrupts) to the behavior of the
corresponding activity.
Bpmn 2.0
Page 29
An intermediate event stops /
resumes process flow.
A new process flow is started out of
an intermediate boundary event.
A start event can start an
independent process thread (i.e.
event-based sub process).
36. Descriptive Subclass of Events
• Descriptive subclass of BPMN
elements includes following
events:
– Generic start event
– Generic end event
– Message start event
– Message end event
– Timer start event
– Terminate event
36
BPMN 2.0
Page 233-287
A general mechanisms that will instantiate a
particular process. It indicates, where a
particular process will start.
A message arrives from a participant and
triggers the start of a process.
A specific time-date or a specific time interval
can be set that will trigger the start of a
process.
Indicates where a process will end. This type of
end event does not have a defined result.
Indicates that a message is sent to a participant
at the end of a process.
Indicates that all activities (active process
paths) in a process should be immediately
ended.
Begin
shopping
New order
received
8.00 am
Shopping
completed
Product
shipped
Shutdown
online store
37. Choose
payment
Start
checkout
process
Credit card
PayPal
Proceed to
checkout
Checkout
completed
Checkout
completed
Pay with credit card
Pay with PayPal
Gateways
• A gateway is used to control process flow.
• A gateway determines branching, forking, merging and joining of business
process’s paths.
• Icons within the diamond shape of a gateway indicate the type of flow
control behavior.
37
BPMN 2.0
Page 29, 34
In case of ‚Credit card‘ the process
flow will continue here.
In case of ‚PayPal‘ the process
flow will continue here.
In case Condition A is ‘true’ the
process flow will continue here.
38. Descriptive Subclass of Gateways
• Descriptive subclass of
BPMN elements includes
following Gateways:
– Exclusive (XOR) gateway. It is
used to create alternative paths
within a process flow.
– The Exclusive (XOR) gateway
MAY or MAY NOT use a marker
that is shaped like an “X”.
– Parallel (AND) gateway. It is
used to create parallel flows and
to synchronize (combine)
parallel flows.
38
Joining of
process paths.
(A AND B)
Forking of
process paths.
(A AND B)
Merging of
process paths
(A XOR B).
Branching
(decision) of
process paths
(A XOR B).
BPMN 2.0
Page 287-302
A
B
A B
C
A
B
A B
C
39. New user
Insert user
data
Store user
data
User
registered
User data
Registered
users
Data and Data Associations
• Data objects provide information about
what activities require to be performed
and/or what they produce.
– Local variable in a process level.
• Data store represents persistent data,
which exists outside the scope of the
process.
• Data objects and data store elements are
connected to other process elements (i.e.
activities, events) with data associations
(dotted arrows).
39
A data object holds
information relevant to
activities.
Bpmn 2.0
Page 30, 208
A data store based
information persist
beyond the scope of
the process.
Data association: task
‘insert user data’ ‘writes’
(produces) information to
a data object.
Data association: task
‘store user data’ ‘reads’
(requires) information
from a data object.
40. Artifacts and Associations
• Artifacts are used to provide additional
information about the process to modelers.
• Artifacts DO NOT affect process flow.
• Artifacts are: text annotation, group and
documentation.
– Documentation is not a visible element. It is an
attribute of most elements.
• An association is used to link information and
artifacts with BPMN graphical elements.
40
An association is
commonly used with
text annotation.
Group is a grouping of
graphical elements that are
within the same category.
Text annotation
represents additional
description for any part
of a process diagram.
BPMN 2.0
Page 29,30
Group label.
Select a
product
Proceed to
checkout
Validate order
details
On the online store website
On a local
website
41. Connecting Objects
• Connecting object are visually
represented with different styles of non-
directed or directed lines.
• Sequence flows represent the order of
performed activities.
• Data associations represent information
flows.
• Associations connect artifacts with other
bpmn elements.
• Message flows represent exchange of
messages between pools.
BPMN 2.0
Page 29
PoolA
Pool B
Task 1 Task 2
Data Object
Comment
Data association. Association.
Sequence flow.
Message flow.
42. Descriptive Process Modeling Elements
42
Element
Graphical
representation
Element
Graphical
representation
Element
Graphical
representation
participant (pool) serviceTask startEvent (None)
laneSet
subProcess
(expanded)
endEvent (None)
sequenceFlow
(unconditional)
subProcess
(collapsed)
messageStartEvent
messageFlow CallActivity messageEndEvent
exclusiveGateway DataObject timerStartEvent
parallelGateway TextAnnotation terminateEndEvent
task (None)
association/dataAsso
ciation
Documentation Non-visual element
userTask dataStoreReference Group
POOL
LANELANE
Task
Task
Task
Sub Process
Sub Process
(expanded)
Call
Activity
<group>
BPMN 2.0
Page 3-4
Text
43. FULL SET OF PROCESS
MODELING ELEMENTS
Business Process Modeling with BPMN 2.0
43
44. Full Process Modeling Conformance Elements
• Defines all elements, which can be used in process, collaboration
and conversation diagrams:
– All task types, embedded sub-processes, call activity,
– All gateway types,
– All event types (start, intermediate, and end),
– Lane, participants, data object (including data input and data output),
message, group, text annotation,
– Sequence flow (including conditional and default flows), message flow,
– Conversations (limited to grouping message flow, and associating
correlations), correlation, and association (including compensation
association).
– Markers (loop, multi-instance, transaction, compensation) for tasks and
embedded sub-processes).
• Out of scope: choreography modeling elements (e.g. choreography
task and sub-choreography).
44
BPMN 2.0
Page 2
45. Task 1 Task 2
Task 3
About Process Instances and Tokens
• A process can be executed or performed many times, but each time is
expected to follow the steps defined in the process model. A single process
performance represents a process instance.
• The behavior of a process instance is commonly represented with the flow
of tokens.
45
A process is
instantiated when
one of its Start
events occurs.
End events consume
tokens.
Tokens can be generated also
within processes (e.g. in case
of a parallel gateway).
Task 3 is ready. Task 3 is active. Task 3 is complete.
States of an activity
in relation to the
position of a token.
A new token
represents a
new process
instance.
BPMN 2.0
Page 456
46. Participant
BPMN Process, Pool and Participant
46
Start
shopping
Complete order
online
Order ready
notification
Type of
delivery?
Takeover
Delivery
Request
takeover
Request
delivery
Customer goes to
the store at his
convenience
Shopping
complete
Order
delivered
Bpmn 2.0
Page 112, 145
In BPMN a process is depicted as a
graph of flow elements, which are
a set of activities, events,
gateways, and sequence flows that
define finite execution semantics.
Pool
Person or role Organization
A pool is not required to
contain a process (i.e. it
can be “black box”).
Pool
A participant represents a specific partner
entity or a more general partner role.
A pool may include a process.
Process
A pool can be
positioned
vertically or
horizontally.
Iii
This symbol (III) annotates
that a pool has multiple
participants.
Pool
LaneLane
Lanes are used
to organize and
categorize
activities within
a pool.
47. BPMN Events
• BPMN 2.0 defines 12 different triggers of events: none,
message, timer, error, escalation, cancel, compensation,
conditional, link, signal, terminate, multiple and multiple
parallel.
• An event may ‘catch’ a trigger or ’throw’ it as a result.
• Events may be of the following types:
– Start events, which indicate where a process will start.
• Start events are always of ‘catch’ type.
– End events, which indicate process’s end state.
• End events are always of ‘throw’ type.
– Intermediate events, which indicate where something happens
within a process.
• Intermediate events may be of ‘catch’ or ‘throw’ type.
47
None
Message
Timer
Error
Escalation
Cancel
Compen-
sation
Conditional
Link
Signal
Terminate
Multiple
Multiple
paralel
Start Intermediate
End
Event sub-pr. Boundary
Inter.
Non-
inter.
Inter.
Non.
Inter.
Catc
hing
Thro
wing
BPMN 2.0
Page 233
48. New order
received
Store
Prepare invoice
Maintenance
1.00 am
Perform online
store maintenance
Customer
Check products
availability
1 minute
Restart products
availability service
Send
products
status
Product status
Order
confirmation
received
Order confirmation
New product
received
Distribution center
Product
delivery
notification
Stock update
Send invoice
Invoice
Software update
New update
received
Perform online
store update
BPMN ‘Events by Type’ Example
48
Start events begin
(instantiate) a new
process instance
Intermediate throwing
events ‘produce’ a
new event.
Intermediate
catching events
‘wait’ for a specific
event to continue
with process flow.
End events represent
final process instance
state.
Interrupting event-
based sub process
starting events start
a new process flow.
Non-interrupting event-based
sub process starting events start
a new process flow.
Non-interrupting
boundary events start
a new process flow.
Interrupting boundary
events interrupt
existing and start a
new process flow.
49. BPMN Message Events
• Message events are used for communication between
processes.
• Message events send (i.e. throw) or receive (i.e. catch)
messages
• Message events can be used for modeling:
– Asynchronous process start,
– Waiting,
– Interrupting current work in case a message receives,
– Informing other about process results and process end,
– Start of an asynchronous task, etc.
49
PoolA
Message
sent
PoolB
Message
received
Message
Common use of message
events
BPMN 2.0
Page 240-251
50. BPMN Message Events Example
50
StoreDistributioncenter
Order request
New order
received
Check product
availability
All producs in
stock?
YES
Send order
availability
notification
NO
Contact
distribution
center
Products
available
Deliver order
Order available
New product
requested
Transfer product to
store
Product
delivered
Delivery notification
Transaction
completed
Order delivery
Request product
Customer
Transaction
completed
notification
Software update
New update
received
Perform online
store update
Order
request
changed
Order
Request
update
IT Support
New software update
New process instance
starts with a new
order.
In case of a black-box
pool, a message is
connected to pool’s
boundary.
In case of reaching end
state, the message is
triggered.
This sub-process is
started with a message
and interrupts the
‘main’ process flow.
In case of a white-box
pool, the messages are
connected to events
and activities.
Intermediate throwing
events are source (i.e.
generate, trigger) a
message.
Intermediate catching
events wait for a
message. When
message receives, the
flow continues.
In case a message
receives a boundary
message event start a
new process flow.
51. PoolA
Signal A
thrown
PoolB
Signal A
received
Signal A
thrown
PoolC
Signal B
received
Signal B
thrown
Signal B
received
BPMN Signal Events
• Signals are generated by throwing signal events
and caught by catching signal events.
• A signal differs from a message, since it has no
specific target.
– Throw catch behavior: message events, error events, escalation
events.
– Publish subscribe behavior: signal events.
• Same signals can be thrown or received several
times.
• Signals have within pool and between pools scope.
51
Bpmn 2.0
Page 241
Signal A is thrown
twice.
Signal B is
caught twice.
Signal A is
thrown and
caught in the
same pool.
Signal A is
thrown and
caught in
different pools.
52. Manage ISP maintenances
OnlinestoreDistributioncenter
Internetservice
provider
Maintenance
schedule
Define
maintenance
schedule
ISP
maintenance
notification
Manage ISP maintenances
ISP
maintenance
notification
Notify registered
users about online
store unavailability
ISP
maintenance
notification
Connect to the
secondary ISP
BPMN Signal Events Example
52
In case an Internet Service
Provider (ISP) plans a new
maintenance it published
maintenance notification.
Distribution center is subscribed
to ISP’s notifications. In case a
‘signal’ is received, the
distribution center connects to
the secondary ISP provider.
Online store is subscribed to
ISP’s notifications. In case a
‘signal’ is received, the work
continues, however customers
are notified about the potential
online store unavailability.
Non interrupting event based
sub process signal start event.
Note that signals are NOT
directed to a specific target (i.e.
no connections).
Signal throwing events are similar
to a radio transmitter.
Signal catching events are similar
to radio receivers.
53. BPMN Timer Events
• A timer event occurs by a specific time condition
(e.g. specific time, interval, duration)
• Timer events can only react on the corresponding
condition (i.e. ‘catch type’).
• Timer events can be used for modeling:
– Scheduled process start,
– Waiting,
– Interrupting current activity after the elapsed time,
– Informing about the elapsed time,
– Start of a pre-scheduled job, etc.
53
Do work
8.00 AM
1 hour
10 minutes
1 minute
Inform about
elapsed time
Scheduled
process start.
Inform about
elapsed time
each minute.
Wait 10 minutes.
Interrupt activity
after 1 hour.
BPMN 2.0
Page 253,254
54. Distribution center
database
5.45 AM
New product
request
Check product
availability
1 minute
Restart service
Database backup
Each hour
Backup
Backup
complete
5 minutes
Order
product from
manufacturer
YES
NO
Product
available
notification
Product not
available
notification
Inform IT
expert
Open distribution
center
6.00 am
Service restart
0.00
Restart
service
Service
restarted
Distributioncenter 6 pmClose
distribution
center
BPMN Timer Events Example
54
At 5.45 AM the
distribution center
starts working.
Wait until 6.am.
Each hour, the
database is backed-
up where the
current work
continues
At 0.00, the distribution
center service is
restarted.
In case the service checks
for products more than a
minute, it is restarted.
In case restart takes
more than 5 minutes, IT
expert is contacted.
At 6.00 pm, the
distribution center
stops receiving
requests.
55. BPMN Error Events
• An error (end) event is thrown when an
activity (i.e. task, sub process) does not end
successfully.
– All currently active threads in the particular sub-
process are terminated as a result.
• An exceptional end state can be caught by
an intermediate error event attached to
the boundary of an activity.
– An activity can have several boundary error
events attached (each representing distinct end
exception states).
– Note that an error event always interrupts the
activity to which it is attached.
55
Sub Process
Task Task
Event-based subprocess
An error start event can only start
an event-based sub process.
An
intermediate
error
boundary
event catches
exception
end state exit
from the task
or sub
process.
Exception end state
exit from the task
or sub process.
In this case the catch
exception event will
terminate the process.
End throwing
error event.
BPMN 2.0
Page 247,255
56. StartIntermediate
End
Event
based
sub-
process
Boundary
Interrupting
Non-
interrupting
Interrupting
Non-
interrupting
Catching
Throwing
BPMN Escalation Events
• Escalations events are useful for the
communication between sub-processes
and processes.
– Escalation events enable “throw-catch” behavior (i.E.
In case an escalation happens, the next higher level of
responsibility is involved).
• In concept, escalations are similar to
errors, but are generally less critical.
– In contrast to error events escalation events can be
non-interrupting.
• Escalations events usually represent a
situation where human intervention is
required.
56
BPMN 2.0
Page 247,255
An error event
always interrupts
current activity or
flow.
An escalation
event doesn’t
need to interrupt
current activity or
flow.
Escalation events. Error events.
57. BPMN Error and Escalation Events Example
57
Onlinestore
New order
request
Validate order
Check credit
Check product
availability
Service
unavailable
Service
unavailable
Service
unavailable
Fulfil order
Service
unavailable
Contact IT stuff
Technical
problems
notification
Bad credit
Resolve
issue
Resolve
issue
Contact customer
Deliver order
Service
unavailable
Product
unavailable
Resolve
issue
SalesFinancesWarehouse
Contact
manufacturer
In case an error
event is caught
the corresponding
activity is
interrupted.
Escalation is
commonly
manually resolved
by another role or
department.
In case of bad
credit escalation is
thrown but the sub
process continues.
In case of
unavailability the
sub process cannot
continue normally.
Intermediate
escalation events
can throw
escalations and
then continue.
This end event
represents
successful process
end.
58. Server room
temperature
> 40°C
Check server‘s
CPU temperature
> 50°C
Start emergency
cooling
CPU
temperature
< 40°C
Stop emergency
cooling
Send server
room
temperature
Check
temperature
Check
temperature
BPMN Conditional and Link Events
• A conditional event signifies a continuously monitored condition.
• When condition becomes ‘true’ the event is triggered.
• Link events pair (i.e. throw – catch) is a visual shortcut for a sequence flow.
– Link events may not be used between pools or parent-child process levels.
58
Start
process in
case this
condition is
‘true’.
Begin new
process path if
T > 50°C
Stop cooling
if T < 40°C
Continue
process flow
at ‘Check
temperature’
BPMN 2.0
Page 267-270
59. BPMN Multiple Events
Multiple (OR)
• Start
– There are multiple ways of starting
the process.
• Intermediate / boundary
– Catch / boundary: only one event
definition is required to catch the
trigger.
– Throw: all of the event definitions are
considered and the subclasses will
define which results apply.
• End
– There are multiple consequences of
ending the process.
Parallel multiple (AND)
• Start
– There are multiple triggers
required to start the process.
• Intermediate / boundary
– All of the defined event
definitions are required to
trigger the event.
• Parallel multiple events are
only of type ‘receive’
(catch).
59
StartIntermediate
End
Event
based
sub-
process
Boundary
Interrupting
Non-
interrupting
Interrupting
Non-
interrupting
Catching
Throwing
BPMN 2.0
Page 271-273
60. 0.00 AM OR
request for
restart OR
signal OR >
60°C
Restart online
store‘s server
Status OK
AND 10
minutes
Send server
restarted OR
signal server
restarted5 minutes OR
Error
Inform IT
staff
Multiple Events Example
60
Multiple ways of
starting the
process.
Equivalent
process
with non-
multiple
events
Multiple
‘consequences’ of
ending the process.
Multiple event definitions (i.e. basic
events) are necessary to continue with
the process.
Event definitions
with OR conditions. Restart is interrupted after 5
minutes or after an error is caught.
Restart online
store‘s server
0.00 AM
Request for
restart
Restart signal
Temperature
over 60°C
Server status
OK
10 minutes
Started with message
Started with signal
Send server
restarted
Signal server
restarted
5 minutesError
Inform IT
staff
61. BPMN Activities
• Activities represent points in a process flow
where work is performed. They are the
executable (i.e. manual, automatic) elements
of a BPMN process.
• The types of activities that are a part of a
process are:
– Task (atomic activity)
– Sub-process (compound activity)
– Call activity (allows the inclusion of re-usable
Tasks and Processes in the diagram),
• A process is not a specific graphical object.
Instead, it is a set of graphical objects.
61
BPMN 2.0
Page 151
Sub Process 1Task 1
Task 1.1 Sub Process 1.1 Task 1.2
Task 1.1.1 Task 1.1.2
Process
Sub process 1
Sub process 1.1
62. Types of BPMN Activities
• Special activities (i.e. sub-processes
and tasks)
– Behavior: loop, multiple instance (sequential,
parallel), compensation, call activity.
• Special sub-processes (i.e. compound
activities)
– View: collapsed / expanded
– Type: basic (i.e. embedded), event-based sub
process, transaction, ad-hoc.
• Special tasks (i.e. atomic activities)
– Types: manual, user, service, send, receive, rule,
script.
62
Special task
types.
Special task
and sub-
process types.
Special sub-
process types.
BPMN 2.0
Page 151-152
User Task
Send Task
Rule
Task
Service Task
Receive Task
Script
Parallel multiple
instance
Sequential multiple
instance
Compensation
Global (call) Activity
Sub Process (collapsed)
Event-based Sub Process
Transaction
Sub Process (expanded)
Task Task
Manual Task
Ad-hoc subprocess
Standard Loop
63. BPMN Task Types
• A service task is a task that uses some sort of service, which could be a web service or an
automated application.
• A send task is a simple task that is designed to send a message to an external participant
(relative to the process). Once the message has been sent, the task is completed.
• A receive task is a simple task that is designed to wait for a message to arrive from an external
participant. Once the message has been received, the task is completed.
• A user task is a typical “workflow” task where a human performer performs the task with the
assistance of a software application and is scheduled through a task list manager of some sort.
• A manual task is a task that is expected to be performed without the aid of any business
process execution engine or any application.
• A business rule task provides a mechanism for the process to provide input to a business rules
engine and to get the output of calculations that the business rules engine might provide.
• A script task is executed by a business process engine. The modeler or implementer defines a
script in a language that the engine can interpret. When the task is ready to start, the engine
will execute the script. When the script is completed, the task will also be completed.
63
BPMN 2.0
Page 158-164
Service Task
Send Task
Receive Task
User Task
Manual Task
Business Rule
Script Task
64. New order
received
Store
Prepare invoice
Customer
Check products
availability
Order sent
Order
Order packaging
Evaluate user
rating
Send invoice Receive payment
Invoice Payment
Calculate total
costs
BPMN Task Types Example
64
Service task
symbol indicates
that an (external)
IT solution
(service)
performs a task.
Business rule
symbol indicates
that a business
rule engine
evaluates a task.
Script task symbol indicates that a
task is automatically executed by
a business process engine.
Manual task
symbol indicates
that a task is
performed without
IT support.
Receive task symbol
indicates that a task waits
for a message from
another participant (pool)
in order to be performed.
Send task symbol indicates
that a task sends a
message prior to its end.
65. Start
shopping
Add a product to
the cart
Complete order
Order sent
Until go to checkout
BPMN Activities: Loops
• Loop activity is a repeating activity with
sequential iteration.
– You cannot start second loop iteration until
finishing the first one.
• Loop activity is primary evaluated at the end.
– ‘Do-while’ type of loop.
– When the first iteration starts, the number of
iterations is unknown.
• The activity will loop as long as loop condition
is true.
• A loop marker can be attached to sub-
processes and tasks.
65
Start
shopping Proceed to
checkout
YES
Add a product to
the cart
NO
Complete order
Order sent
A loop activity.
A non-loop activity with gateway-loopback.
Loop condition can be
highlighted in a comment.
(Silver 2011)
BPMN 2.0
Page 189-190
66. BPMN Activities: Multi Instance
• The multi instance activity represents an
activity with several activity instances.
• The instances may execute in parallel or
may be sequential.
• Multi instance activity makes sense when
the process instance data contains some
kind of collection (e.g. items in an order).
• The number of iterations is known in
advance
– ‘For each’ type of loop.
• Can be applied to tasks and sub-processes.
66
New order
received
Check item 1
availability
Check item 2
availability
Check item 3
availability
Check item 4
availability
New order
received
Check order‘s
items availability
For each order item
Number of items
is indicated with
a text annotation.
Multiple
instance
marker
(parallel).
Multiple parallel
instances
realized with an
AND gateway.
Check order‘s
items availability
This marker annotates
sequential execution of
multiple instances.
BPMN 2.0
Page 432, 433
67. BPMN Sub-processes
• A sub-process is a graphical object within a
process, which can be “opened up” to show
a lower-level process.
• Sub-processes define a contextual scope that
can be used for :
– attribute visibility,
– transactional scope,
– for the handling of exceptions or events,
– for compensation.
• A sub process can be in collapsed (i.e. hidden
details) or expanded (i.e. visible details) view.
67
BPMN 2.0
Page 174-175
Repeating
subprocess
Multi instance
(paralel)
subprocess
Multi instance
(sequential)
subprocess
Compensation
subprocess
Compensation ad-
hoc subprocess
Compensation
subprocess
Sub Process (expanded)
Task
1
Task
2
Task
3
An expanded sub-process
with three parallel tasks.
Collapsed sub-
process markers.
68. BPMN Sub-Processes: Ad-hoc
• A specialized type of sub-process in which
activities have no required sequence
relationships.
– The sequence and number of performances for the
activities is determined by their performers.
– Some sequence and data dependencies can be
defined.
• During the execution of the ad-hoc sub-
process, any one or more of the activities may
be active.
• An ad-hoc sub process is complete when a
performed declares it to be complete.
68
BPMN 2.0
Page 180-183
(Silver 2011)
Online shopping
Check Top Sellers Add to card
List a category View an item
Visual marker for an
Ad-hoc sub-process.
Some Activities
may be connected.
Not all of the child
activities must be
performed in order
to complete.
Activities may be
performed
multiple times.
69. BPMN Sub-processes: Event-based
• An event sub-process is not
part of the normal process flow.
– It has no incoming or outgoing
sequence flows.
• When an event sub-process is
triggered the parent process:
– Can be interrupted,
– Can continue its work.
• An event sub-process may
occur zero or many times.
69
BPMN 2.0
Page 176-178
New order
received
Store
Prepare invoice
Backup
1.00 am
Perform online
store back-up
Customer
Check products
availability
Send
products
status
Product status
Order
confirmation
received
Order confirmation
Send invoice
Invoice
Software update
New update
received
Perform online
store update
Event sub-process
interrupting message
event – it interrupts
main process flow.
Event sub-process
non-interrupting
timer event – the
main process flow
continues.
Event sub-process is
bordered with a
dotted line.
70. BPMN Sub-Processes: Transactions
• BPMN provides built-in support for
business transactions.
• A transaction consists of several activities
and might result in following outcomes:
– Successful completion. In this case, all tasks in a
transaction are completed successfully.
– Failed completion (cancel). This scenario occurs if any
of the pre-determined criteria of failure of the
transaction is satisfied or in case an ‘abort’ message is
received from outside of the transaction.
– Hazard (exception). In this case any of the tasks in the
transaction end up not being executed or
compensated.
BPMN 2.0
Page 178-180
Book service
package
Cancel
transaction
Error in
transaction
Successful
completion
Transactional
sub-process.
Consists of at least
two activities.
All activities have
been successfully
finished.
Failed
completition.
Hazard (serious
problem) in
transaction.
71. BPMN Sub-processes: Transactions Example
Book service package
Service
required
Book service item
Book service
Unavailable
Unavailable
Cancel
Dispose item
Cancel service
booking
Request
approoval of
service‘s date
1 hour
Error in
transaction
Resolve
problem
manually
Customer
approves
service‘s date
Disapproval
received
1 day
Purchase service
package
Payment
error
Service
package
confirmed
Undo Book
service
package
Service
package
canceled
Transactional
sub-process.
Transactional
input.
Transactional
successful
completion.
Canceling transaction undoes
finished activities with
compensating activities.
Compensating activity is
activated in case of cancel or
throwing compensation event.
Error in the transaction terminates
the process.
In case of
cancel the
transaction
is repeated
in an hour.
Throw
compensati
on event.
Directed association.
72. BPMN Gateways
• Gateways are used to control how sequence flows
interact as they converge and diverge within a
process.
– Decisions/branching (exclusive, inclusive, and complex), merging,
forking, and joining.
• Gateways are capable of consuming or generating
additional tokens (i.e. AND gateway).
• Gateways have zero effect on the operational
measures of the process being executed
– E.g. process duration, and costs.
• A single gateway could have multiple input and
multiple output flows.
72
Exclusive
XOR
Inclusive
OR
Parallel
Event based
Exclusive
Event-based
start
Parallel
Event-based
start
Complex
BPMN 2.0
Page 287,288
BPMN 2.0 Gateways
73. Choose
payment
method
PayPal
Credit card
Bank debit
Pay with PayPal
Pay with Credit
Card
Pay with Bank
debit
Pay on Delivery
Cash on delivery
Checkout Deliver order
BPMN Gateways: Exclusive (XOR)
• A diverging exclusive gateway (XOR)
is used to create alternative paths
(i.e. decisions) within a process
flow.
– A decision can be thought of as a
question that is asked at a particular
point in the process.
– The question has a defined set of
alternative answers.
• The exclusive gateway may be
represented with or without an x
marker.
73
Branch implemented
with an exclusive
gateway (with X marker).
The token travels only along
one path (sequence flow).
Default flow prevents
deadlocks in case no
Gateway’s conditions are met.
Token.
The
process
continues
from
checkout.
Merging
flows with
XOR.
XOR
Gateway
without X
marker.
BPMN 2.0
Page 290-292
Conditions.
74. BPMN Gateways: Inclusive (OR)
• A diverging inclusive gateway (inclusive
decision) can be used to create alternative
but also parallel paths within a process flow.
• All combinations of the outgoing paths may
be taken, from zero to all.
– A default flow assures at least one active path.
• A converging inclusive gateway is used to
merge a combination of alternative and
parallel paths.
– An or gateway join is like an and gateway join
except that it ignores incoming sequence flows
that are not enabled.
74
Analyze customer‘s
profile
Analyze customer‘s
orders history
Analyze customer‘s
ratings
New customer
Default
Order > 1000 €
Order
received
Prepare
invoice
Branch
implemented
with an
inclusive
gateway.
Several outgoing
paths may be
activated.
BPMN 2.0
Page 292-293
Each condition is
evaluated
independently.
A converging
inclusive
gateway (join).
One token
continues
after OR
join.Inclusive gateway is
semantically equal
to conditional
sequence flow.
Condition
75. BPMN Gateways: Parallel (AND)
• A parallel gateway is used to create
parallel flows and synchronize
(combine) parallel flows.
– A parallel gateway creates parallel paths
without checking any conditions.
– Each outgoing sequence flow receives a
token upon execution of and gateway.
• For incoming flows, the parallel
gateway will wait for all incoming
flows before triggering the flow
through its outgoing sequence flows.
75
Prepare invoice
Prepare package
Deliver order
Payment
conformed
AND gateway
representing
unconditional split.
AND gateway
representing join.
Prepare invoice
Prepare package
Payment
conformed
Unconditional split
without a gateway.
All outgoing
paths become
active.
All incoming paths
need to be active to
proceed.
BPMN 2.0
Page 293-295
76. Order over
10000 €
Validate user‘s
profile
Validate user‘s
ratings
Validate user‘s
credit card
Low risks
Whichever completes first
Report
High risks
Contact user
BPMN Gateways: Complex
• The complex gateway is mainly used to model complex synchronization behavior.
– Text annotation may be used to explain intended behavior.
– Example behavior: three out of five incoming sequence flows are needed to activate the gateway.
• What tokens are produced by the gateway is determined by conditions on the outgoing
sequence flows (similar to inclusive gateway).
• Complex gateway commonly implements discriminator pattern
– It passes the first incoming sequence flow and blocks all the rest.
76
Discriminator pattern
(behavior) disposes the
“slowest” token.
Complex behavior
is defined in a text
annotation.
Branching behavior
is similar to inclusive
gateway.
Complex gateway.
BPMN 2.0
Page 295-296
77. BPMN Gateways: Event Based XOR
• Event-based exclusive gateway is
similar to XOR gateway but the
trigger of the gateway is based on
event instead of data condition.
• Each alterative path must include
a ‘catching flow element’.
– Receive activity may be also used.
• The timer event commonly acts as
a ‘default event’.
– E.g. wait for any messages for a day.
77
BPMN 2.0
Page 297-298
Customer
Store
Takeover
requested
Delivery
requested
1 day
Dispose order
Prepare order for
delivery
Prepare order for
takeover
Takeover
Delivery
Timer event acts
as a default flow.
The decision is
made by another
participant. The first
triggered event
defines the
sequence flow.
Event based
exclusive gateway.
Other tokens are
disposed.
78. BPMN Gateways: Event Based Start
• Event-based start gateways are used to
instantiate a process in case of several
start events.
78
Message A
1 day
X > 100
Message A
X > 100
1 day
=
Message A
1 day
X > 100
Message A
X > 100
1 day
=
The process is instantiated
with the first triggered
event. However other
events are required for the
same process instance.
Parallel event-based gateway
to start a process.
Exclusive event-based
gateway to start a process
In this case triggering of
each new start event
creates a new process
instance.
The process is
instantiated if one of the
corresponding events is
activated.
The behavior is similar to
an XOR gateway, which
merges multiple star
events.
BPMN 2.0
Page 299
79. Task Task
Task Task
Controlled and Uncontrolled Flows
Controlled flows
• Control of sequence flows from one flow
object (i.e. gateway, activity, event) to
another with:
– Gateways
– Conditional sequence flows
Uncontrolled flows
• No control of sequence flows from one
flow object (i.e. gateway, activity, event)
to another.
– Use of (normal) sequence flows.
79
Task
Task
Task
BPMN 2.0
Page 500-503
?
?
?
The execution of these
flows (?) depends on a
condition.
These flows perform
always.
80. Forking Uncontrolled Flows
• BPMN uses the term “fork” to refer to the dividing of a path into two or more parallel
paths (also known as an AND-Split). It is a place in the process where activities can be
performed concurrently, rather than sequentially.
80
Task
Task
Task
Uncontrolled fork realized
with multiple outgoing
flows.
BPMN 2.0
Page 36
These two processes
behaviors are equal.
Task
Task
Task
Controlled fork realized
with a parallel gateway.
81. Task
Task
Task
Merging Uncontrolled Flows
• BPMN uses the term “merge” to refer to the exclusive combining of two or more paths
into one path.
– Uncontrolled merge should be used only if all incoming sequence flows are alternative (exclusive).
81
Uncontrolled merge
realized with multiple
incoming flows.
BPMN 2.0
Page 38
Task
Task
Task
Controlled merge is realized
with an exclusive parallel
gateway.
These two processes
behaviors are equal.
In this case this and the
following tasks will be
performed twice.
82. Items and Data
• Process modeling commonly requires modeling of items, that are
managed (e.g. created, manipulated, stored, sent, received) during
process execution.
• Items may represent:
– Information (e.g. order and invoice) which moves via information flows.
– Physical items (e.g. online store products) which move via material flows.
• BPMN elements, which are capable to manipulate with items, are
called “item aware elements” (i.e. data objects, data object references,
data stores, properties, data inputs and data outputs)
– Properties are not visual BPMN elements, but are part of following flow
elements: processes, activities and events.
– Data object references are a way to reuse data objects in the same diagram.
They can specify different states of the same data object at different points in a
process.
82
An invoice (data) is
an information item
The products of an
order might be
physical items.
BPMN 2.0
Page 203
83. Data Objects
• Data object represents a local instance variable. It is visible only within the
process level in which it is defined and its child levels and the variable is
disposed when the process level instance is complete.
• Data object collection represents an array of data object elements.
– Data object has an optional [state] attribute (e.g. draft, reviewed, released).
• Data inputs (collections) represent the inputs to a top-level process or a
called process.
• Data output (collections) are visually displayed on a top-level process
diagram to show the outputs of the process.
• A data store provides a mechanism for activities to retrieve or update stored
information that will persist beyond the scope of the process.
83
Data Object Data Object
collection
Data input Data input
collection
Data output Data Output
collection
(Silver 2011)
Data Store
BPMN 2.0
Page 203-209
84. Pool
Pool
Task 1 Task 2
Data Object
Comment
Connecting Objects
• In BPMN, different types of connecting objects are necessary to represent different types
of flows in a process diagram.
84
Message Flows are used
to show the flow of
messages between two
participants (i.e. pools)
that are able to send and
receive them.
Sequence Flows are used
to represent the order of
flow elements in a
process.
Data Associations are
used to show the flow of
information between
activities in a business
process.
Associations are used to
link artefacts with other
BPMN (graphical)
elements.
85. Connecting Objects: Sequence Flows
• A sequence flow is used to represent the order of flow elements in a process.
• Each sequence flow has only one source and only one target.
• Sub-types of sequence flows: default sequence flow, conditional sequence flow.
85
New order
received
Store
Prepare invoice
Customer
Order
Check items
availability Allitems
available Send invoice
Invoice
Itemunavailable
Request from
warehouse
Warehouse
Item
available
Solid arrows represent
sequence flows.
Diamond represents
conditional sequence
flow (similar to
inclusive gateway).
Sequence flows may
NOT be used between
Pools (processes).
Default (sequence)
flow is used to prevent
deadlocks in case of
conditional flows or
gateways.
BPMN 2.0
Page 97-98
86. Connecting Objects: Sequence Flow Rules
• Sequence flow may NOT connect to
– A start event, catching link event.
– Artefacts and data objects.
• Sequence flow may not result from
– An end event, throwing link event.
– Artefacts and data objects.
• Sequence flow may not cross:
– Pool’s boundary.
– Process – sub-process boundary.
86
Task
Sub Process
Task
Sub Process
Sequence flows may
connect FROM these
(groups of) elements.
Sequence flows may
connect TO these
(groups of) elements.
Sequence
flows.
BPMN 2.0
Page 42-43
87. Connecting Objects: Message Flows
• A message flow is used to show the flow of
messages between two participants that are
‘capable’ to send and receive them.
– The source of a message flow must be either a
message or multiple end event, or throwing
intermediate event, an activity or black-box pool.
– The target of a message flow must be either a
message or multiple start event, catching (message,
multiple) intermediate event, boundary event, an
activity or a black-box pool.
• A message can be optionally depicted as a
graphical decorator on a message flow.
• To associate a message to a particular process
instance, bpmn uses correlations (non-visible
concept).
(Silver 2011)
Message flows may
connect FROM
these elements.
Message flows may
connect TO these
elements.
Message
flow.
Initiating
message
Message
(non-initiating)
BPMN 2.0
Page 44
Pool
Task
Sub Process
Pool
Task
Sub Process
Task
88. Data Associations
• Data associations are used to represent the
flow of data between item-aware elements
(i.e. data objects, data object references,
data stores, properties, data inputs and data
outputs).
• Tokens do not flow along a data association,
and as a result data associations have no
direct effect on the flow of the process.
88
Data associations
may connect FROM
these elements.
Data associations may
connect TO these elements.
BPMN 2.0
Page 222-225
Data
association
connector.
Pool
Task
Sub Process
Global Activity
Pool
Task
Sub Process
Global Activity
Data Store
Data Object
89. Items availability
New order
received
Store
Prepare invoice
Customer
Order
Check items
availability
Send invoice
Invoice
Warehouse
Validate
customer
User report
Customer‘s
history
[updated]
Items
Customer‘s
history
InvoiceOrder
Data and Data Associations Example
89
For a catch event,
data associations
are used to push
data from the
message received
into data objects
and properties.
For a throw
event, data
associations are
used to fill the
message that is
being thrown.
Data objects
MAY be directly
associated with
a sequence flow
connector.
Data associations
are used to
represent inputs
and outputs of
activities.
Data associations
may cross
process’s (pool)
boundaries.
Two processes
interacting via
data store.
This data output
object has a state
defined [updated].
Data object inputs
and outputs
provide
information for
processes.
90. Full Set of Process Modeling Elements BPMN 2.0
Page 3-4
None
Message
Timer
Error
Escalation
Cancel
Compen-
sation
Conditional
Link
Signal
Terminate
Multiple
Multiple
paralel
Start Intermediate
End
Event sub-pr. Boundary
Inter.
Non-
inter.
Inter.
Non.
Inter.
Catc
hing
Thro
wing
User Task
Send Task
Rule
Task
Service Task
Receive Task
Script
Standard Loop
Parallel multiple
instance
Sequential multiple
instance
Compensation
Ad-hoc
Global (call) Activity
Sub Process (collapsed)
Event-based Sub Process
Transaction
Sub Process (expanded)
Task Task
Manual Task Exclusive
XOR
Inclusive
OR
Parallel
Event based
Exclusive
Event-based
start
Parallel
Event-based
start
Complex
Annotation
Group
Documentation
Sequence flow
Default flow
Conditional flow
Message flow
Association
Directed/data association
Data object
Data
store
Message
Data input
Collection
Data output
Initiating
message
Pool
Lane Lane Lane
Full class
Analytical class
Descriptive
class
91. BPMN Modeling Rules (i.e. BPMN Syntax)
• Address the syntactic quality of
BPMN diagrams.
• Formally defined in BPMN meta-
model
– UML class diagrams.
– Include precise definition of BPMN
elements, their attributes and the
relationships between elements.
• BPMN modeling rules are scattered
over the BPMN specification.
91(Silver 2011)
Excerpts of BPMN 2.0 rules, collected by Bruce Silver:
• All flow objects other than start events, boundary events, and
compensating activities must have an incoming sequence flow, if the
process level includes any start or end events.
• All flow objects other than end events and compensating activities
must have an outgoing sequence flow, if the process level includes any
start or end events.
• A start event cannot have an incoming sequence flow.
• A start event cannot have an outgoing message flow.
• A start event with incoming message flow must have a message trigger.
• A start event cannot have an error trigger.
• A start event in a sub-process must have a none trigger.
• A boundary event must have an outgoing sequence flow.
• A boundary event trigger must be either message, timer, signal, error,
escalation, conditional, cancel, or compensation.
• A boundary event cannot have incoming sequence flow.
• An error boundary event on a sub-process requires a matching error
throw event.
92. BPMN Modeling Style
• Addresses the pragmatic quality of
BPMN diagrams.
• Non-normative conventions used in
BPMN diagrams.
• Out of scope of BPMN 2.0
Specification.
• Useful to create consistent and
unambiguous BPMN diagrams.
• Can be acquired or evolved within
an organization.
92(Silver 2011)
Examples of Bruce Silver’s Style Rules:
1. Use icons and labels to make process logic clear from the printed
diagram.
2. Make models hierarchical, fitting each process level on one page.
3. Use a black-box pool to represent the Customer of other external
requester or service provider.
4. A child-level diagram should not be enclosed in an expanded sub-
process shape.
5. The label of a child-level page should match the name of the sub-
process.
6. Activities should be labeled.
7. Two activities in the same process should not have the same
name. (Use global activity to reuse a single activity in a process.)
8. A Send task should have an outgoing message flow.
9. A Receive task should have an incoming message flow.
10. A Timer start event should be labeled to indicate the process schedule.
11. A start event in a top-level process should be labeled. If a top-level
process contains more than one start event, all should be labeled to
identify the alternative start conditions.
93. BPMN Modeling Method
• BPMN Method – A ‘recipe’ (also
approach or process) about how to
create business process diagrams.
• BPMN Method is out of scope of
BPMN 2.0 Specification.
• Useful to create consistent business
process diagrams across an
organization.
• Can be acquired or evolved within an
organization.
93(Silver 2011)
Bruce silver’s method of hierarchical top-down modeling:
1. Agree on process scope, when it starts and ends, what the instance
represents, and possible end states.
2. Enumerate major activities in a high-level map, ten or fewer, each
aligned with the process instance. Think about possible end states of
each activity.
3. Create top-level bpmn diagram. Arrange high-level map activities as
sub processes in a BPMN process diagram, with one top-level end
event per process end state. Use gateways to show conditional and
concurrent paths.
4. Expand each top-level sub process in a child-level diagram. If sub
process at parent level is followed by a gateway, match sub process
end states to the gateway (or gate) labels.
5. Add business context by drawing message flows between the process
and external requester, service providers, and other internal
processes, drawn as black-box pools. Message flows connecting to
collapsed sub process at parent level should be replicated with same
name in the child-level diagram.
6. Repeat steps 4 and 5 with additional nested levels, if any.
95. BPMN Meta-model
• Meta-model is a formal specification of:
– semantic BPMN elements (most of them have
visual representations) and
– relationships between semantic BPMN
elements.
• Meta-model is represented in UML’s class
diagrams.
– (semantic) BPMN elements are represented as
object classes with defined required and
optional attributes.
• All valid BPMN models must conform to
the specification of the meta-model.
95
M1: Instance of a model
Metadata instances e.g. Mark’s invoice
M2: Model
Metadata Schema
e.g. BPMN data object
representing an Invoice
M2: Meta-model
Schema definition languages
e.g. BPMN Meta-model for
Data Object
M3: Meta-meta-model
Universal modeling language
MOF Meta-Levels Hierarchy(Silver 2011)
96. BPMN Meta-model Example: Data Object
96
BaseElement is the abstract super
class for most BPMN elements. It
provides the attributes id and
documentation, which are inherited
other elements (classes).
Inheritance relationship.
DataObject is an
Item Aware
Element.
DataObject
might have Data
states (e.g. draft,
in review, final).
Each element might have
documentation attached to it.
The DataObject element
inherits the attributes
and model associations
of FlowElement and
ItemAwareElement.
Meta-model defined in UML’s
class diagram notation.
isCollection attribute
defines if the Data
Object represents a
collection of elements.
Data Object References are a
way to reuse Data Objects in
the same diagram.
Classes are organized in
packages (e.g. foundation).
BPMN 2.0
Page 204
97. BPMN Layered Structure
• The BPMN specification is structured
in layers (i.e. packages of classes,
where a class represents a semantic
BPMN element).
– A semantic element might have a visual
representation or not.
• Each layer defines a subset of BPMN
semantic elements and models.
– Each layer builds on top of and extends
lower layers.
• Process modeling with BPMN
includes elements and diagrams,
which belong to all layers except
choreography.
97
BPMN 2.0
Page 2
Basic BPMN elements,
which are common to all
BPMN models.
This layer defines
elements, specific for
Conversation diagrams.
Elements, which belong to
yellow layers are specific
for process diagrams.
Layer of elements,
which are specific for
choreography models.
This layer defines
elements, specific for
Collaboration diagrams.
Choreography layer IS NOT part of
process modeling conformance.
98. BPMN Diagram Interchange (DI)
• BPMN DI describes the location and size of
shapes and connectors as well as the linked
page structure of BPMN diagrams.
– BPMN DI Meta-model is similar to BPMN’s
semantic meta-model.
• The BPMN DI is meant to facilitate
interchange of BPMN diagrams between tools
rather than being used for internal diagram
representation by the tools.
• BPMN diagram consists of
– BPMN DI meta-model information,
– BPMN semantic meta-model information.
98
DI::Labeled Shape
BPMNShape
isHorizontal:boolean [0..1]
isExpanded:boolean [0..1]
isMarkerVisible:boolean [0..1]
isMessageVisible:boolean [0..1]
participantBandKind:participantBandKind
:[0..1]
-memberName
BPMNLabel
BPMN::BaseElement
shape
0..1
label 0..1
shape
*
bpmnElement0..1
1
0..1
Referenced BPMN
element, which
defines the
semantic of BPMN
element.
BPMNShape represents
a depiction of a BPMN
element.
BPMN DI Shape meta-model.
BPMN 2.0
Page 372
BPMNShape
also contains
an optional
label of type
BPMNLabel.
(Silver 2011)
99. BPMN Serialization
• BPMN Meta-models (semantic and DI), which are
represented in class diagrams, are published (i.e.
serialized) in two alternative XML formats:
– OMG’s Metadata interchange (XMI) and
– W3C’s XML Schema Definition (XSD).
• Most BPMN tool vendors use XSD for interchanging models.
• Cannot represent certain relationships of UML class diagrams
(e.g. multiple inheritance).
– Transformations between XSD and XMI exist.
• Defined in XSLT.
• In BPMN XSD, the information concerning the graphical
layout of shapes (e.g. position, size, connection points)
is separated from the semantic model.
– A valid BPMN model may omit the graphical informations of
a BPMN model completely.
99
BPMN20.xsd
Semantic.xsd BPMNDI.xsd
DI.xsd
DC.xsd
BPMN 2.0 schema file structure
Semantics of a
BPMN model.
Graphical
layout of a
BPMN model.
(Silver 2011)
100. BPMN Execution Semantics
• Part of BPMN Process Execution Conformance.
– Not required for BPMN Process Modeling Conformance.
• Describes a clear and precise understanding of the operation of BPMN ‘executable’ elements.
– Common executable subclass of BPMN elements defines basic ‘executable’ BPMN elements.
– Those BPMN elements, capable of being executed on a process engine.
– Non-operational elements examples: manual task, ad-hoc process and abstract task.
• BPMN execution semantics defines:
– Process instantiation and termination,
– Flow elements (activities, gateways, events) behavior,
• Execution semantics includes:
– A description of the operational semantics of the element.
– Exception issues for the element where relevant.
– List of workflow patterns supported by the element where relevant.
100
BPMN 2.0
Page 425
101. BPMN Execution Semantics: Activity Lifecycle
101
BPMN 2.0
Page 428-429
An activity is ready for
execution if the required
number of tokens is available to
activate the activity /…/.
When some data InputSet
becomes available, the Activity
changes from Ready to the
Active state /…/.
An Activity, if Ready or Active,
can be Withdrawn from being
able to complete in the context
of a race condition /…/.
An Activity’s execution is
interrupted if an interrupting
Event is raised or if an
interrupting Event Sub-Process
is initiated. In this case, the
Activity’s state changes to
Failing (in case of an error) or
Terminating (in case any other
interrupting Event).
If an Activity’s execution ends
without anomalies, the
Activity’s state changes to
Completing /…/.
If an Activity fails during
execution, it changes from the
state Active to Failed.
After all completion
dependencies have been
fulfilled, the state of the Activity
changes to Completed /…/.
102. References
• OMG, 2011. Business Process Model and Notation version 2.0. Available at: http://www.omg.org/spec/BPMN/2.0/
[Accessed January 15, 2014].
• Weske, M., 2012. Business process management concepts, languages, architectures, Berlin; New York: Springer.
Available at: http://site.ebrary.com/id/10650313 [Accessed January 14, 2014].
• Orand, B., 2011. Foundations of IT Service Management: The ITIL Foundations Course in a Book 3rd ed. J. Villarreal, ed.,
CreateSpace Independent Publishing Platform.
• Silver, B., 2011. BPMN method and style: a structured approach for business process modeling and implementation
using BPMN 2.0, Aptos: Cody-Cassidy Press.
102