Académique Documents
Professionnel Documents
Culture Documents
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.
gregor.polancic@gmail.com
For commercial use or services, please contact the author.
Content
• The basics of business processes and BPMN
3
Business Process Modeling with BPMN 2.0
Realizes
Product or service
Business process
• Each business process is enacted by a single organization, but it may interact with
business processes performed by other organizations.
(Weske 2012) 5
Should you Care about Business Processes?
• Yes, because each organization produces something
or services somebody.
Packaging
8
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.
Transformation of a real-
world business process
Help desk center in a real world Help desk process model
into a process model.
9
Benefits of Process Modeling
• Analysis of processes.
Check: monitor
• A solid basis for process management. processes
= BPMN
12
What is BPMN?
• Business Process Model and Notation
– Business Process - A collection of related, structured
activities or tasks that produce a specific service or Business process
product for a particular customer. Customer request Process outcome
14
Primary Goal of BPMN BPMN 2.0
Page 1
Analyze
request
Process
Approve Reject
participants
Process Approve Reject
request request
modeler
Request Request
Real-world business process approved rejected
16
Out-of-Scope of BPMN BPMN 2.0
Page 22
Organizational structures
17
Purposes of BPMN Use BPMN 2.0
Page 12
BPMN Conformance types define formal purposes of the use of BPMN and the corresponding software
implementations. These slides focus on process modeling conformance.
18
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.
Expressed in
19
BPMN Diagram Types BPMN 2.0
Page 22-23
• 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
BPMN Process Diagrams BPMN 2.0
Page 23,150
Home
interactions between two or more
online
Start
Order available
Order request
Store
stock? notification
NO
Transaction
Distribution center
• The message exchange between the
Transfer product to
store
New product Product
requested delivered
details)
Home Distribution center
22
BPMN Collaboration Diagram Example
Customer
Complete order takeover convenience
online
waits for a notification that the product is ready. Based Start
shopping Order ready Type of
on preferred type of delivery (takeover or delivery) the notification delivery?
Delivery
customer receives or gets the desired product. Request
delivery
Order
delivered
Shopping
complete
Order available
Order request
Takeover Ready Order delivery
Delivery
Message flows are used for between-process for takeover
Check product
Deliver order
availability
When the store receives a new order it checks for New order
YES
Send order Deliver order
received All producs in availability
Store
products availability. In case a product is not in stock, it stock?
NO
notification
Transfer product to
23
BPMN Conversation Diagrams BPMN 2.0
Page 26
24
BPMN Choreography Diagrams BPMN 2.0
Page 25
Type of
Order received
confirmation
transaction
Shopping
complete
interactions.
delivery
Store Store Customer Store
is to view it as a type of business Order confirmation Order availability status Store Order complete confirmation
choreography
diagrams.
25
Common Use of Different BPMN Diagrams BPMN 2.0
Page 133, 138
Choreography model
within Process 1 – Process
Conversation link to Task 1 Task 2 2 collaboration model.
Process 1 event.
Process 1
Task 1 Task 2
Message exchanges in
Process 1 - Process 3
collaboration.
Collaboration between
Participant 1
Process 1 and Participant 1.
Process 3
27
Classes of BPMN Elements BPMN 2.0
Page 2
(Silver 2011) 28
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.
Used for representing an overview of organizational processes
and their relationships. Partially supported by BPMN (i.e.
Conversation diagrams).
Process landscape
diagrams
Used for a conceptual overview of individual business
Strategic process processes. Supported by BPMN with the use of descriptive set
of BPMN elements.
diagrams
LANE
which are readily understood by
POOL
LANE
almost any business person and
supported by almost all BPMN tools.
IT system
from other Processes or Participants.
– Lanes are used to organize and categorize
Online store
Technical
support
activities within a Pool.
Employees
• Between pools communication is modeled
Customer
service
Lanes can be
with message flows. nested.
• Pools are used in process and collaboration Between pool
Product order Product delivery
diagrams. communication is
performed with Customer
message flows.
A black-box
pool.
32
Activities and Sequence Flows Bpmn 2.0
Page 29
Select Checkout
Complete order online
product
33
Descriptive Subclass of Activities BPMN 2.0
Page 158-184
34
Events Bpmn 2.0
Page 29
parallel flows.
38
Data and Data Associations Bpmn 2.0
Page 30, 208
40
Connecting Objects BPMN 2.0
Page 29
Pool A
performed activities. Task 1 Task 2
LANE
POOL
Text
parallelGateway TextAnnotation terminateEndEvent
association/dataAsso
task (None) Task Documentation Non-visual element
ciation
Lane Lane
delivery delivered complete
Pool
This symbol (III) annotates
In BPMN a process is depicted as a that a pool has multiple
graph of flow elements, which are participants.
a set of activities, events,
gateways, and sequence flows that
define finite execution semantics. A pool can be
Participant positioned
Lanes are used vertically or
to organize and horizontally.
A participant represents a specific partner categorize
entity or a more general partner role. activities within
Person or role Organization a pool.
46
BPMN Events BPMN 2.0
Page 233
parallel. Timer
Cancel
– Start events, which indicate where a process will start. Compen-
Conditional
– End events, which indicate process’s end state. Link
• End events are always of ‘throw’ type. Signal
47
BPMN ‘Events by Type’ Example
Customer Intermediate
Intermediate throwing catching events
events ‘produce’ a Product status ‘wait’ for a specific
new event. Order confirmation
Invoice event to continue
with process flow.
Start events begin Check products
Send Order Prepare invoice
(instantiate) a new
availability
products confirmation End events represent
New order Send invoice
process instance received
status received final process instance
New product 1 minute state.
received Software update
Restart products
Non-interrupting availability service
Store
Perform online
store update
boundary events start Interrupting event-
New update
a new process flow. Stock update
received based sub process
Maintenance starting events start
Perform online
a new process flow.
Product
delivery store maintenance
notification
1.00 am
Interrupting boundary
events interrupt Non-interrupting event-based
existing and start a sub process starting events start
new process flow. Distribution center
a new process flow. 48
BPMN Message Events BPMN 2.0
Page 240-251
Pool A
Message
messages sent
Pool B
– Interrupting current work in case a message receives, Message
received
– Informing other about process results and process end,
Common use of message
– Start of an asynchronous task, etc. events
49
BPMN Message Events Example
In case of a black-box
New process instance Customer pool, a message is
starts with a new connected to pool’s
order. Order
Request
boundary.
Order request Transaction
Order available update Order delivery
completed
notification
Pool C
specific target. Signal A
Pool A
Signal B
thrown received
Pool B
Signal A
thrown
Online store
Notify registered ‘signal’ is received, the work
users about online
store unavailability continues, however customers
ISP
maintenance are notified about the potential
notification
Signal catching events are similar online store unavailability.
to radio receivers.
Distribution center
to ISP’s notifications. In case a
‘signal’ is received, the
Connect to the Signal throwing events are similar
secondary ISP
distribution center connects to ISP to a radio transmitter.
maintenance
the secondary ISP provider. notification
Define
no connections). maintenance
schedule maintenance it published
Maintenance ISP
schedule maintenance maintenance notification.
notification
52
BPMN Timer Events BPMN 2.0
Page 253,254
after 1 hour.
condition (i.e. ‘catch type’).
• Timer events can be used for modeling:
Do work
Inform about
elapsed time
– Scheduled process start, each minute. 1 minute 1 hour
– Waiting,
– Interrupting current activity after the elapsed time, Inform about
elapsed time
10 minutes
1 minute
Order
At 5.45 AM the product from
manufacturer
distribution center
5.45 AM
starts working. Restart service
Distribution center
database
5 minutes
Each hour, the Service restart
Database backup
database is backed- At 0.00, the distribution
Restart
up where the Inform IT service center service is
Backup
current work Each hour Backup
expert 0.00 Service
restarted restarted.
complete
continues
54
BPMN Error Events BPMN 2.0
Page 247,255
• An error (end) event is thrown when an An error start event can only start End throwing
activity (i.e. task, sub process) does not end an event-based sub process. error event.
successfully.
Sub Process
– All currently active threads in the particular sub- An
process are terminated as a result. intermediate Event-based subprocess
error
• An exceptional end state can be caught by boundary
event catches
an intermediate error event attached to exception
Task Task
Start
Event
responsibility is involved). based
Interrupting
always interrupts
Intermediate
Interrupting
Boundary
non-interrupting. An escalation
Non-
• Escalations events usually represent a interrupting event doesn’t
need to interrupt
situation where human intervention is Throwing current activity or
flow.
required. End
56
BPMN Error and Escalation Events Example
In case of bad Validate order
Intermediate
credit escalation is escalation events
thrown but the sub Check credit
Check product can throw
availability
process continues. escalations and
then continue.
Bad credit Service Service Product Technical
In case of
Sales
New order unavailable unavailable unavailable problems
request notification
unavailability the
sub process cannot This end event
Resolve Service Resolve Contact
Contact IT stuff
Resolve
issue
Service end.
unavailable
Finances
Contact customer
Escalation is In case an error
commonly event is caught
manually resolved the corresponding
by another role or activity is
Warehouse
Fulfil order
department. Deliver order
interrupted.
Service
unavailable
57
BPMN Conditional and Link Events BPMN 2.0
Page 267-270
Check
temperature Continue
Check server‘s process flow
CPU temperature Stop cooling at ‘Check
Send server if T < 40°C temperature’
Start Server room
room
temperature
temperature
process in > 40°C
> 50°C
case this Start emergency Stop emergency
condition is Begin new cooling cooling
CPU Check
‘true’. process path if temperature temperature
58
T > 50°C < 40°C
BPMN Multiple Events BPMN 2.0
Page 271-273
Start
Event
– There are multiple ways of starting based
Interrupting
– There are multiple triggers
the process. sub-
process
Non-
interrupting
required to start the process.
• Intermediate / boundary
– Catch / boundary: only one event Catching • Intermediate / boundary
definition is required to catch the – All of the defined event
Intermediate
Interrupting
Boundary
trigger. definitions are required to
– Throw: all of the event definitions are Non- trigger the event.
interrupting
considered and the subclasses will
Throwing
• Parallel multiple events are
define which results apply.
only of type ‘receive’
• End End
– There are multiple consequences of
(catch).
ending the process.
59
Multiple Events Example
Multiple ways of Restart online Multiple
store‘s server
starting the 0.00 AM OR Status OK Send server
‘consequences’ of
process. request for AND 10 restarted OR ending the process.
restart OR minutes signal server
signal OR > 5 minutes OR restarted
60°C Error
Event definitions Multiple event definitions (i.e. basic
with OR conditions. Restart is interrupted after 5 Inform IT events) are necessary to continue with
staff
minutes or after an error is caught. the process.
0.00 AM
Started with message
Server status Send server
Equivalent OK restarted
process Request for Restart online
restart store‘s server
with non-
multiple
Restart signal Started with signal
events Error 5 minutes Signal server
10 minutes restarted
Temperature Inform IT
over 60°C staff 60
BPMN Activities BPMN 2.0
Page 151
61
Types of BPMN Activities BPMN 2.0
Page 151-152
Sequential multiple
Special task instance Global (call) Activity
process types.
– View: collapsed / expanded Sub Process (collapsed)
Special sub-
Event-based Sub Process
– Types: manual, user, service, send, receive, rule, process types.
script. Transaction
62
BPMN Task Types BPMN 2.0
Page 158-164
Service Task
• 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
Send Task
(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
Receive Task
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
User Task 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
Manual Task
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.
Business Rule
• 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
Script Task will execute the script. When the script is completed, the task will also be completed.
63
BPMN Task Types Example
Send task symbol indicates Receive task symbol
that a task sends a Customer indicates that a task waits
message prior to its end. for a message from
Invoice Payment
Order
another participant (pool)
Service task in order to be performed.
symbol indicates
that an (external) Send invoice Receive payment
Manual task
IT solution New order Order sent symbol indicates
(service) received
that a task is
performs a task. performed without
IT support.
Store
Check products
Prepare invoice Order packaging
availability
Business rule
symbol indicates
that a business Script task symbol indicates that a
rule engine Evaluate user Calculate total task is automatically executed by
rating costs
evaluates a task. a business process engine.
64
BPMN Activities: Loops BPMN 2.0
Page 189-190
sequential iteration.
– You cannot start second loop iteration until Add a product to
the cart
Complete order
YES
finishing the first one. Start
shopping Proceed to
Order sent
checkout
may be sequential.
New order Check item 3
a lower-level process.
• Sub-processes define a contextual scope that Multi instance
(sequential)
Compensation
subprocess
can be used for : subprocess
Collapsed sub-
– attribute visibility, process markers.
– transactional scope, Compensation
subprocess
Compensation ad-
hoc subprocess
– for the handling of exceptions or events,
– for compensation.
• A sub process can be in collapsed (i.e. hidden Sub Process (expanded)
An expanded sub-process
with three parallel tasks. 67
BPMN Sub-Processes: Ad-hoc BPMN 2.0
Page 180-183
Store
status received
triggered the parent process: Backup Software update
process. Inclusive
OR
– Decisions/branching (exclusive, inclusive, and complex), merging,
forking, and joining. Parallel
Payment
token upon execution of and gateway. conformed
Prepare package
All outgoing
All incoming paths
• For incoming flows, the parallel paths become
need to be active to
active.
gateway will wait for all incoming Prepare invoice
proceed.
flows before triggering the flow
through its outgoing sequence flows. Unconditional split
Payment
conformed
without a gateway.
Prepare package
75
BPMN Gateways: Complex BPMN 2.0
Page 295-296
requested
– Receive activity may be also used.
Store
Prepare order for
Parallel event-based gateway • Event-based start gateways are used to Exclusive event-based
to start a process. instantiate a process in case of several gateway to start a process
start events.
Message A
Message A
instance. events.
1 day 1 day 78
Controlled and Uncontrolled Flows BPMN 2.0
Page 500-503
• 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.
Task
Task
Task
Task
• 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).
Task
Task
Task
Task
Uncontrolled merge In this case this and the Controlled merge is realized
realized with multiple following tasks will be with an exclusive parallel
incoming flows. performed twice. gateway.
81
Items and Data BPMN 2.0
Page 203
• 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
Data Object Data Object
collection
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).
(Silver 2011) 83
Connecting Objects
• In BPMN, different types of connecting objects are necessary to represent different types
of flows in a process diagram.
Sequence Flows are used Data Associations are
to represent the order of used to show the flow of
flow elements in a information between
process. activities in a business
Data Object process.
Pool
Task 1 Task 2
received
conditional sequence
flow (similar to
Item unavailable
inclusive gateway). Request from Item
Solid arrows represent
warehouse available
sequence flows.
Warehouse
85
Connecting Objects: Sequence Flow Rules BPMN 2.0
Page 42-43
Data associations
may connect FROM Data
these elements. association
connector. 88
Data and Data Associations Example
For a catch event, Customer
data associations For a throw
are used to push event, data
Invoice
data from the Order
associations are
message received used to fill the
into data objects Order Invoice
message that is
Validate Check items
and properties. customer availability
Prepare invoice
being thrown.
Store
BPMN diagrams. • All flow objects other than start events, boundary events, and
compensating activities must have an incoming sequence flow, if the
• Formally defined in BPMN meta- process level includes any start or end events.
model • All flow objects other than end events and compensating activities
must have an outgoing sequence flow, if the process level includes any
– UML class diagrams. start or end events.
– Include precise definition of BPMN • A start event cannot have an incoming sequence flow.
• A start event cannot have an outgoing message flow.
elements, their attributes and the • A start event with incoming message flow must have a message trigger.
relationships between elements. • A start event cannot have an error trigger.
•
• BPMN modeling rules are scattered •
A start event in a sub-process must have a none trigger.
A boundary event must have an outgoing sequence flow.
over the BPMN specification. • 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.
(Silver 2011) 91
BPMN Modeling Style
• Addresses the pragmatic quality of Examples of Bruce Silver’s Style Rules:
BPMN diagrams. 1. Use icons and labels to make process logic clear from the printed
diagram.
• Non-normative conventions used in 2. Make models hierarchical, fitting each process level on one page.
BPMN diagrams. 3. Use a black-box pool to represent the Customer of other external
requester or service provider.
• Out of scope of BPMN 2.0 4. A child-level diagram should not be enclosed in an expanded sub-
process shape.
Specification. 5. The label of a child-level page should match the name of the sub-
• Useful to create consistent and process.
6. Activities should be labeled.
unambiguous BPMN diagrams. 7. Two activities in the same process should not have the same
name. (Use global activity to reuse a single activity in a process.)
• Can be acquired or evolved within 8. A Send task should have an outgoing message flow.
an organization. 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.
(Silver 2011) 92
BPMN Modeling Method
• BPMN Method – A ‘recipe’ (also Bruce silver’s method of hierarchical top-down modeling:
approach or process) about how to 1. Agree on process scope, when it starts and ends, what the instance
create business process diagrams. represents, and possible end states.
2. Enumerate major activities in a high-level map, ten or fewer, each
• BPMN Method is out of scope of aligned with the process instance. Think about possible end states of
each activity.
BPMN 2.0 Specification. 3. Create top-level bpmn diagram. Arrange high-level map activities as
• Useful to create consistent business sub processes in a BPMN process diagram, with one top-level end
event per process end state. Use gateways to show conditional and
process diagrams across an concurrent paths.
4. Expand each top-level sub process in a child-level diagram. If sub
organization. process at parent level is followed by a gateway, match sub process
• Can be acquired or evolved within an end states to the gateway (or gate) labels.
5. Add business context by drawing message flows between the process
organization. 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.
(Silver 2011) 93
Business process modeling with BPMN 2.0
BaseElement is the abstract super Classes are organized in Meta-model defined in UML’s Each element might have
class for most BPMN elements. It packages (e.g. foundation). class diagram notation. documentation attached to it.
provides the attributes id and
documentation, which are inherited
other elements (classes).
DataObject
Inheritance relationship. might have Data
states (e.g. draft,
The DataObject element in review, final).
inherits the attributes
and model associations
of FlowElement and DataObject is an
ItemAwareElement. Item Aware
Element.
isCollection attribute
defines if the Data
Object represents a Data Object References are a
collection of elements. way to reuse Data Objects in
the same diagram.
96
BPMN Layered Structure BPMN 2.0
Page 2
100
BPMN Execution Semantics: Activity Lifecycle BPMN 2.0
Page 428-429
102