SlideShare a Scribd company logo
Business Process Modeling
with BPMN 2.0
2nd edition
gregor.polancic@gmail.com
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.
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
THE BASICS OF BUSINESS
PROCESSES AND BPMN
Business Process Modeling with BPMN 2.0
4
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)
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
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)
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
?
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.
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
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.
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
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.
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.
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
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
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
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
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.
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
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.
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
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
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.
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.
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
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
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
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
BASIC SET OF PROCESS
MODELING ELEMENTS
Business Process Modeling with BPMN 2.0
30
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
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.
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.
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
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).
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
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.
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
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.
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
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.
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
FULL SET OF PROCESS
MODELING ELEMENTS
Business Process Modeling with BPMN 2.0
43
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
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
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.
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
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.
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
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.
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.
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.
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
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.
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
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.
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.
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
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
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
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
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
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
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.
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
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
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.
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.
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.
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.
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.
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
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.
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
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
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
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.
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
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.
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.
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.
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
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
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.
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
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
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
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
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.
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
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.
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.
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.
BPMN BEYOND PROCESS
MODELING
Business process modeling with BPMN 2.0
94
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)
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
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.
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)
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)
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
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 /…/.
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

More Related Content

What's hot

Business Process Modeling
Business Process ModelingBusiness Process Modeling
Business Process Modeling
Ang Chen
 
BPMN on One Page
BPMN on One PageBPMN on One Page
BPMN on One Page
Mohamed Zakarya Abdelgawad
 
Omg bpmn tutorial
Omg bpmn tutorialOmg bpmn tutorial
Omg bpmn tutorial
Beta-Research.org
 
BPMN Introduction
BPMN IntroductionBPMN Introduction
BPMN Introduction
ejlp12
 
How to use BPMN* for modelling business processes
How to use BPMN* for modelling business processesHow to use BPMN* for modelling business processes
How to use BPMN* for modelling business processes
Alexander SAMARIN
 
Introduction to Business Analysis
Introduction to Business AnalysisIntroduction to Business Analysis
Introduction to Business Analysis
SwatiS-BA
 
BPMN Process Modeling Levels
BPMN Process Modeling LevelsBPMN Process Modeling Levels
BPMN Process Modeling Levels
Max Tay
 
Introduction to BPM, Business Process Management, BPM
Introduction to BPM, Business Process Management, BPMIntroduction to BPM, Business Process Management, BPM
Introduction to BPM, Business Process Management, BPM
Sarbashrestha Panda
 
Business Process Management Training 1
Business Process Management Training 1Business Process Management Training 1
Business Process Management Training 1
Naval Vithalani CSPO® CSM®
 
Business Process Modeling
Business Process ModelingBusiness Process Modeling
Business Process Modeling
Sandy Kemsley
 
Process architecture - Part II
Process architecture - Part IIProcess architecture - Part II
Process architecture - Part II
Marcello La Rosa
 
Business Process Management Training | By ex-Deloitte & McKinsey Consultants
Business Process Management Training | By ex-Deloitte & McKinsey ConsultantsBusiness Process Management Training | By ex-Deloitte & McKinsey Consultants
Business Process Management Training | By ex-Deloitte & McKinsey Consultants
Aurelien Domont, MBA
 
What is BPM?
What is BPM?What is BPM?
What is BPM?
BOC Group
 
Structured Business Process Modeling - Lavacon 2014
Structured Business Process Modeling - Lavacon 2014Structured Business Process Modeling - Lavacon 2014
Structured Business Process Modeling - Lavacon 2014
Dr. Jackie Damrau, BPMN
 
Business Process Modeling
Business Process ModelingBusiness Process Modeling
Business Process Modeling
guest2c3da5c7
 
Business Analysis
Business AnalysisBusiness Analysis
Business Analysis
BCS-IT
 
What is BPM?
What is BPM?What is BPM?
What is BPM?
Atle Skjekkeland
 
BPMN 2.0 - an introduction to the Level 1 Palette
BPMN 2.0 - an introduction to the Level 1 PaletteBPMN 2.0 - an introduction to the Level 1 Palette
BPMN 2.0 - an introduction to the Level 1 Palette
Declan Chellar
 
Business Process Model and Notation (BPMN)
Business Process Model and Notation (BPMN)Business Process Model and Notation (BPMN)
Business Process Model and Notation (BPMN)
Peter R. Egli
 
BPM Fundamentals: Develop Your Game Plan For BPM Success
BPM Fundamentals: Develop Your Game Plan For BPM SuccessBPM Fundamentals: Develop Your Game Plan For BPM Success
BPM Fundamentals: Develop Your Game Plan For BPM Success
Clay Richardson
 

What's hot (20)

Business Process Modeling
Business Process ModelingBusiness Process Modeling
Business Process Modeling
 
BPMN on One Page
BPMN on One PageBPMN on One Page
BPMN on One Page
 
Omg bpmn tutorial
Omg bpmn tutorialOmg bpmn tutorial
Omg bpmn tutorial
 
BPMN Introduction
BPMN IntroductionBPMN Introduction
BPMN Introduction
 
How to use BPMN* for modelling business processes
How to use BPMN* for modelling business processesHow to use BPMN* for modelling business processes
How to use BPMN* for modelling business processes
 
Introduction to Business Analysis
Introduction to Business AnalysisIntroduction to Business Analysis
Introduction to Business Analysis
 
BPMN Process Modeling Levels
BPMN Process Modeling LevelsBPMN Process Modeling Levels
BPMN Process Modeling Levels
 
Introduction to BPM, Business Process Management, BPM
Introduction to BPM, Business Process Management, BPMIntroduction to BPM, Business Process Management, BPM
Introduction to BPM, Business Process Management, BPM
 
Business Process Management Training 1
Business Process Management Training 1Business Process Management Training 1
Business Process Management Training 1
 
Business Process Modeling
Business Process ModelingBusiness Process Modeling
Business Process Modeling
 
Process architecture - Part II
Process architecture - Part IIProcess architecture - Part II
Process architecture - Part II
 
Business Process Management Training | By ex-Deloitte & McKinsey Consultants
Business Process Management Training | By ex-Deloitte & McKinsey ConsultantsBusiness Process Management Training | By ex-Deloitte & McKinsey Consultants
Business Process Management Training | By ex-Deloitte & McKinsey Consultants
 
What is BPM?
What is BPM?What is BPM?
What is BPM?
 
Structured Business Process Modeling - Lavacon 2014
Structured Business Process Modeling - Lavacon 2014Structured Business Process Modeling - Lavacon 2014
Structured Business Process Modeling - Lavacon 2014
 
Business Process Modeling
Business Process ModelingBusiness Process Modeling
Business Process Modeling
 
Business Analysis
Business AnalysisBusiness Analysis
Business Analysis
 
What is BPM?
What is BPM?What is BPM?
What is BPM?
 
BPMN 2.0 - an introduction to the Level 1 Palette
BPMN 2.0 - an introduction to the Level 1 PaletteBPMN 2.0 - an introduction to the Level 1 Palette
BPMN 2.0 - an introduction to the Level 1 Palette
 
Business Process Model and Notation (BPMN)
Business Process Model and Notation (BPMN)Business Process Model and Notation (BPMN)
Business Process Model and Notation (BPMN)
 
BPM Fundamentals: Develop Your Game Plan For BPM Success
BPM Fundamentals: Develop Your Game Plan For BPM SuccessBPM Fundamentals: Develop Your Game Plan For BPM Success
BPM Fundamentals: Develop Your Game Plan For BPM Success
 

Similar to Business Process Modeling with BPMN 2.0 - Second edition

What process?
What process?What process?
What process?
stephaniechung
 
INFORMATION TECHNOLOGIES AS THE BASE OF THE BUSINESS PROCESS MANAGEMENT IMPLE...
INFORMATION TECHNOLOGIES AS THE BASE OF THE BUSINESS PROCESS MANAGEMENT IMPLE...INFORMATION TECHNOLOGIES AS THE BASE OF THE BUSINESS PROCESS MANAGEMENT IMPLE...
INFORMATION TECHNOLOGIES AS THE BASE OF THE BUSINESS PROCESS MANAGEMENT IMPLE...
Abzetdin Adamov
 
2011 05-11 IIBA Vendor Webinar- Business Process Modeling
2011 05-11 IIBA Vendor Webinar- Business Process Modeling2011 05-11 IIBA Vendor Webinar- Business Process Modeling
2011 05-11 IIBA Vendor Webinar- Business Process Modeling
Tracy Cook
 
Business Process Management - What is it, and why all the buzz?
Business Process Management - What is it, and why all the buzz?Business Process Management - What is it, and why all the buzz?
Business Process Management - What is it, and why all the buzz?
Bonitasoft
 
Introduction to Business Process Management
Introduction to Business Process ManagementIntroduction to Business Process Management
Introduction to Business Process Management
Mustafa Jarrar
 
5. 21.10.11-darius silingas-improving-process_models_for_better_understanding...
5. 21.10.11-darius silingas-improving-process_models_for_better_understanding...5. 21.10.11-darius silingas-improving-process_models_for_better_understanding...
5. 21.10.11-darius silingas-improving-process_models_for_better_understanding...
ICV_eV
 
5. 21.10.11-darius silingas-improving-process_models_for_better_understanding...
5. 21.10.11-darius silingas-improving-process_models_for_better_understanding...5. 21.10.11-darius silingas-improving-process_models_for_better_understanding...
5. 21.10.11-darius silingas-improving-process_models_for_better_understanding...
ICV_eV
 
Resume_VikramMalik
Resume_VikramMalikResume_VikramMalik
Resume_VikramMalik
Vikram Malik
 
Current bpm trends tendencias en bpm
Current bpm trends   tendencias en bpmCurrent bpm trends   tendencias en bpm
Current bpm trends tendencias en bpm
Denis Gagné
 
Business Process Modeling Notation: A Foundation for Process Transformation
Business Process Modeling Notation: A Foundation for Process TransformationBusiness Process Modeling Notation: A Foundation for Process Transformation
Business Process Modeling Notation: A Foundation for Process Transformation
Nathaniel Palmer
 
Design thinking in IT Industries.pptx
Design thinking in IT Industries.pptxDesign thinking in IT Industries.pptx
Design thinking in IT Industries.pptx
1sv09me054
 
Business Process Management in IT company
Business Process Management  in IT company Business Process Management  in IT company
Business Process Management in IT company
Dhrubaji Mandal ♛
 
BPM with Bonita Open Solution @AlpesJUG
BPM with Bonita Open Solution @AlpesJUGBPM with Bonita Open Solution @AlpesJUG
BPM with Bonita Open Solution @AlpesJUG
Bonitasoft
 
Enabling your BPM CoE (ITWorld 2011 Montreal)
Enabling your BPM CoE  (ITWorld 2011 Montreal)Enabling your BPM CoE  (ITWorld 2011 Montreal)
Enabling your BPM CoE (ITWorld 2011 Montreal)
Denis Gagné
 
Jerome Fisse C V 1.4
Jerome  Fisse C V 1.4Jerome  Fisse C V 1.4
Jerome Fisse C V 1.4
Jérôme Fisse
 
Process architecture vs modeling
Process architecture vs modelingProcess architecture vs modeling
Process architecture vs modeling
Graham McLeod
 
Business Architecture Patterns (BPM in Practice conference)
Business Architecture Patterns (BPM in Practice conference)Business Architecture Patterns (BPM in Practice conference)
Business Architecture Patterns (BPM in Practice conference)
Alexander SAMARIN
 
Case Study: Experiences Using IBM Rational Method Composer to Deliver a BPM I...
Case Study: Experiences Using IBM Rational Method Composer to Deliver a BPM I...Case Study: Experiences Using IBM Rational Method Composer to Deliver a BPM I...
Case Study: Experiences Using IBM Rational Method Composer to Deliver a BPM I...
ghodgkinson
 
jBPM5 Community Training - Module 2.5: BPM For Developers
jBPM5 Community Training - Module 2.5: BPM For DevelopersjBPM5 Community Training - Module 2.5: BPM For Developers
jBPM5 Community Training - Module 2.5: BPM For Developers
Mauricio (Salaboy) Salatino
 
Resume_Natechanok Kulabthong
Resume_Natechanok KulabthongResume_Natechanok Kulabthong
Resume_Natechanok Kulabthong
Natechanok Kulabthong
 

Similar to Business Process Modeling with BPMN 2.0 - Second edition (20)

What process?
What process?What process?
What process?
 
INFORMATION TECHNOLOGIES AS THE BASE OF THE BUSINESS PROCESS MANAGEMENT IMPLE...
INFORMATION TECHNOLOGIES AS THE BASE OF THE BUSINESS PROCESS MANAGEMENT IMPLE...INFORMATION TECHNOLOGIES AS THE BASE OF THE BUSINESS PROCESS MANAGEMENT IMPLE...
INFORMATION TECHNOLOGIES AS THE BASE OF THE BUSINESS PROCESS MANAGEMENT IMPLE...
 
2011 05-11 IIBA Vendor Webinar- Business Process Modeling
2011 05-11 IIBA Vendor Webinar- Business Process Modeling2011 05-11 IIBA Vendor Webinar- Business Process Modeling
2011 05-11 IIBA Vendor Webinar- Business Process Modeling
 
Business Process Management - What is it, and why all the buzz?
Business Process Management - What is it, and why all the buzz?Business Process Management - What is it, and why all the buzz?
Business Process Management - What is it, and why all the buzz?
 
Introduction to Business Process Management
Introduction to Business Process ManagementIntroduction to Business Process Management
Introduction to Business Process Management
 
5. 21.10.11-darius silingas-improving-process_models_for_better_understanding...
5. 21.10.11-darius silingas-improving-process_models_for_better_understanding...5. 21.10.11-darius silingas-improving-process_models_for_better_understanding...
5. 21.10.11-darius silingas-improving-process_models_for_better_understanding...
 
5. 21.10.11-darius silingas-improving-process_models_for_better_understanding...
5. 21.10.11-darius silingas-improving-process_models_for_better_understanding...5. 21.10.11-darius silingas-improving-process_models_for_better_understanding...
5. 21.10.11-darius silingas-improving-process_models_for_better_understanding...
 
Resume_VikramMalik
Resume_VikramMalikResume_VikramMalik
Resume_VikramMalik
 
Current bpm trends tendencias en bpm
Current bpm trends   tendencias en bpmCurrent bpm trends   tendencias en bpm
Current bpm trends tendencias en bpm
 
Business Process Modeling Notation: A Foundation for Process Transformation
Business Process Modeling Notation: A Foundation for Process TransformationBusiness Process Modeling Notation: A Foundation for Process Transformation
Business Process Modeling Notation: A Foundation for Process Transformation
 
Design thinking in IT Industries.pptx
Design thinking in IT Industries.pptxDesign thinking in IT Industries.pptx
Design thinking in IT Industries.pptx
 
Business Process Management in IT company
Business Process Management  in IT company Business Process Management  in IT company
Business Process Management in IT company
 
BPM with Bonita Open Solution @AlpesJUG
BPM with Bonita Open Solution @AlpesJUGBPM with Bonita Open Solution @AlpesJUG
BPM with Bonita Open Solution @AlpesJUG
 
Enabling your BPM CoE (ITWorld 2011 Montreal)
Enabling your BPM CoE  (ITWorld 2011 Montreal)Enabling your BPM CoE  (ITWorld 2011 Montreal)
Enabling your BPM CoE (ITWorld 2011 Montreal)
 
Jerome Fisse C V 1.4
Jerome  Fisse C V 1.4Jerome  Fisse C V 1.4
Jerome Fisse C V 1.4
 
Process architecture vs modeling
Process architecture vs modelingProcess architecture vs modeling
Process architecture vs modeling
 
Business Architecture Patterns (BPM in Practice conference)
Business Architecture Patterns (BPM in Practice conference)Business Architecture Patterns (BPM in Practice conference)
Business Architecture Patterns (BPM in Practice conference)
 
Case Study: Experiences Using IBM Rational Method Composer to Deliver a BPM I...
Case Study: Experiences Using IBM Rational Method Composer to Deliver a BPM I...Case Study: Experiences Using IBM Rational Method Composer to Deliver a BPM I...
Case Study: Experiences Using IBM Rational Method Composer to Deliver a BPM I...
 
jBPM5 Community Training - Module 2.5: BPM For Developers
jBPM5 Community Training - Module 2.5: BPM For DevelopersjBPM5 Community Training - Module 2.5: BPM For Developers
jBPM5 Community Training - Module 2.5: BPM For Developers
 
Resume_Natechanok Kulabthong
Resume_Natechanok KulabthongResume_Natechanok Kulabthong
Resume_Natechanok Kulabthong
 

More from Gregor Polančič

Naučimo se modeliranja poslovnih procesov z BPMN
Naučimo se modeliranja poslovnih procesov z BPMNNaučimo se modeliranja poslovnih procesov z BPMN
Naučimo se modeliranja poslovnih procesov z BPMN
Gregor Polančič
 
An Introduction to IT Management with COBIT 2019
An Introduction to IT Management with COBIT 2019An Introduction to IT Management with COBIT 2019
An Introduction to IT Management with COBIT 2019
Gregor Polančič
 
Dsi 2021 Kaj zmore rudarjenje procesov
Dsi 2021 Kaj zmore rudarjenje procesovDsi 2021 Kaj zmore rudarjenje procesov
Dsi 2021 Kaj zmore rudarjenje procesov
Gregor Polančič
 
Models 2021
Models 2021Models 2021
Models 2021
Gregor Polančič
 
An Empirical Investigation of the Intuitiveness of Process Landscape Designs
An Empirical Investigation of the Intuitiveness of Process Landscape DesignsAn Empirical Investigation of the Intuitiveness of Process Landscape Designs
An Empirical Investigation of the Intuitiveness of Process Landscape Designs
Gregor Polančič
 
An Empirical Investigation of the Cultural Impacts on the Business Process Co...
An Empirical Investigation of the Cultural Impacts on the Business Process Co...An Empirical Investigation of the Cultural Impacts on the Business Process Co...
An Empirical Investigation of the Cultural Impacts on the Business Process Co...
Gregor Polančič
 
BPMN Poster
BPMN PosterBPMN Poster
BPMN Poster
Gregor Polančič
 
Procesni vidik informatike
Procesni vidik informatikeProcesni vidik informatike
Procesni vidik informatike
Gregor Polančič
 
Empirical research process
Empirical research processEmpirical research process
Empirical research process
Gregor Polančič
 
COBIT 4.1
COBIT 4.1COBIT 4.1
Empirical research methods poster
Empirical research methods posterEmpirical research methods poster
Empirical research methods poster
Gregor Polančič
 

More from Gregor Polančič (11)

Naučimo se modeliranja poslovnih procesov z BPMN
Naučimo se modeliranja poslovnih procesov z BPMNNaučimo se modeliranja poslovnih procesov z BPMN
Naučimo se modeliranja poslovnih procesov z BPMN
 
An Introduction to IT Management with COBIT 2019
An Introduction to IT Management with COBIT 2019An Introduction to IT Management with COBIT 2019
An Introduction to IT Management with COBIT 2019
 
Dsi 2021 Kaj zmore rudarjenje procesov
Dsi 2021 Kaj zmore rudarjenje procesovDsi 2021 Kaj zmore rudarjenje procesov
Dsi 2021 Kaj zmore rudarjenje procesov
 
Models 2021
Models 2021Models 2021
Models 2021
 
An Empirical Investigation of the Intuitiveness of Process Landscape Designs
An Empirical Investigation of the Intuitiveness of Process Landscape DesignsAn Empirical Investigation of the Intuitiveness of Process Landscape Designs
An Empirical Investigation of the Intuitiveness of Process Landscape Designs
 
An Empirical Investigation of the Cultural Impacts on the Business Process Co...
An Empirical Investigation of the Cultural Impacts on the Business Process Co...An Empirical Investigation of the Cultural Impacts on the Business Process Co...
An Empirical Investigation of the Cultural Impacts on the Business Process Co...
 
BPMN Poster
BPMN PosterBPMN Poster
BPMN Poster
 
Procesni vidik informatike
Procesni vidik informatikeProcesni vidik informatike
Procesni vidik informatike
 
Empirical research process
Empirical research processEmpirical research process
Empirical research process
 
COBIT 4.1
COBIT 4.1COBIT 4.1
COBIT 4.1
 
Empirical research methods poster
Empirical research methods posterEmpirical research methods poster
Empirical research methods poster
 

Recently uploaded

GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
Neo4j
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
Matthew Sinclair
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
sonjaschweigert1
 
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
shyamraj55
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
名前 です男
 
20 Comprehensive Checklist of Designing and Developing a Website
20 Comprehensive Checklist of Designing and Developing a Website20 Comprehensive Checklist of Designing and Developing a Website
20 Comprehensive Checklist of Designing and Developing a Website
Pixlogix Infotech
 
Large Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial ApplicationsLarge Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial Applications
Rohit Gautam
 
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Speck&Tech
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
Neo4j
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
Uni Systems S.M.S.A.
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
Neo4j
 
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
SOFTTECHHUB
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
DianaGray10
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
DianaGray10
 
Data structures and Algorithms in Python.pdf
Data structures and Algorithms in Python.pdfData structures and Algorithms in Python.pdf
Data structures and Algorithms in Python.pdf
TIPNGVN2
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
Quotidiano Piemontese
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
danishmna97
 
Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
Kumud Singh
 

Recently uploaded (20)

GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
 
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
 
20 Comprehensive Checklist of Designing and Developing a Website
20 Comprehensive Checklist of Designing and Developing a Website20 Comprehensive Checklist of Designing and Developing a Website
20 Comprehensive Checklist of Designing and Developing a Website
 
Large Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial ApplicationsLarge Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial Applications
 
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
 
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
 
Data structures and Algorithms in Python.pdf
Data structures and Algorithms in Python.pdfData structures and Algorithms in Python.pdf
Data structures and Algorithms in Python.pdf
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
 
Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
 

Business Process Modeling with BPMN 2.0 - Second edition

  • 1. Business Process Modeling with BPMN 2.0 2nd edition gregor.polancic@gmail.com
  • 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.
  • 94. BPMN BEYOND PROCESS MODELING Business process modeling with BPMN 2.0 94
  • 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