Sem Process Modeling With BPMN 13-14 PDF
Sem Process Modeling With BPMN 13-14 PDF
Sem Process Modeling With BPMN 13-14 PDF
with BPMN
Andrea Marrella
marrella@dis.uniroma1.it
Presentation Outline
• This seminar introduces business process modeling using the BPMN
(Business Process Model and Notation) standard.
• Visit http://www.bpmn.org/ for downloading the complete specification
of BPMN 2.0 and some interesting examples.
• Web site of the course : http://www.dis.uniroma1.it/~bpm
• Download slides at :
http://www.dis.uniroma1.it/~marrella/teaching.html
• Reference Books :
Marlon Dumas, Marcello La Rosa, Jan Mendling, Hajo Reijers
Fundamentals of Business Process Management
Stephen A. White PhD, Derek Miers
BPMN Modeling and Reference Guide
Thomas Allweyer
BPMN 2.0 - Introduction to the Standard for Business Process
Modeling 2
Topics
• Process Modeling
• BPMN Background
• Basic Concepts
• Advanced Concepts
• Conclusions
3
Business Processes
Business process
concerning the book loans
service provided by a
library.
Modeling Organizational
Communication,
simulation, activity-
Process models are Analysis
based costing…
important in various
AS IS
stages of the process life Process
cycle. Models
Process Process
Evaluation Implementation
Process Models
Executable
Process
Process The models produced will look
Metrics Enactment & quite differently depending on
Monitoring
the reason for modeling them in
the first place.
7
Executable Process
Models
• Executable Process Models carry the instructions on how work
should happen, who should do it, links to the other systems, etc.
• They provide a direct method of translating strategical and
tactical intent into operational processes.
• For being executed, process models have to meet very strict
demands, because they are not converted into a computer program
by a human being, but directly processed by a machine.
• Currently, many standards for executable process descriptions
have been established, such as:
– XPDL (XML Process Definition Language) [2]
– BPEL (Business Process Execution Language) [3]
…but such descriptions have no graphical notations, and the main
range of application is the definition of automatic processes.
• YAWL (Yet Another Workflow Language) [7] is a modeling
language that allows for a graphical representation of executable
process models. 8
Process Management
Systems
• Process Management System (PMS) [1] : “A PMS is a
generic software system that is driven by explicit
process representations to coordinate the enactment of
business processes ”.
It manages the
process routing
librarian
PMS
It takes a process
model as input It assigns tasks
to proper participants
system
10
Modeling Languages for
Business Processes
[7]
Repr. Capabilities (Data vs. Control Flow)
Artifact-centric
Business
Workflow Nets [5] [8]
Processes [4]
DECLARE [6]
11
Topics
• Process Modeling
• BPMN Background
• Basic Concepts
• Advanced Concepts
• Conclusions
12
Business Process Modeling
Notation(BPMN)
• BPMN is the OMG standard for representing business
processes.
– Other standards, such as activity diagrams of UML, were not accepted
for process modeling in practice, because their use is restricted to the
area of object-oriented software design.
• There are many tools for designing a BPMN process:
– Bizagi Process Modeller (it also provides an execution engine)
– JBPM (Eclipse plugin)
– Signavio
– TIBCO Business Studio (free download, quite large)
– IBM Websphere Business Modeler
– ARIS
– Oracle BPA
– Business Process Visual Architect (Visual Paradigm)
– Progress Savvion Business Modeller
13
Why BPMN?
14
The vendors realized immediately there was
a need of a graphical representation for the
language oriented towards the needs of
The history of BPMN business users. Not a notation that directly
represents the precise execution language
under development.
In 2001 BPMI
(Business Process
Management Initiative) In 2004 BPMN 1.0 was In Feb.2008 BPMN 1.1
developed BPML as an released to the public was released to the BPMN 1.2 does not
XML process and in 2006 it was public, making the include any significant
execution language. adopted as OMG meaning of the graphical changes;
standard. notation more modifications were
explicit. merely editorial. 15
BPMN 1.2 vs BPMN 2.0
16
What is a Metamodel?
17
BPMN 2.0 Metamodel
• Metamodelling provides a
number of benefits :
– It formalizes the definition of
models and entities.
– It formalizes the relationship
between elements.
– It enables interoperability.
• The new version’s specification
document has got comprehensive
UML class diagram that
graphically show the features of
the different BPMN constructs and
their relationships.
18
BPMN 1.2 vs BPMN 2.0
20
Solving BPMN 1.x
problems with BPMN 2.0
21
BPMN 2.0
• Process Modeling
• BPMN Background
• Basic Concepts
• Advanced Concepts
• Conclusions
23
BPMN Basic Elements
24
Connecting Activities
• The sequence flow defines the order of flow objects in a process (activities,
events and gateways). Each activity can have one or more incoming
sequence flow and one or more outgoing sequence flow.
25
Activity Behaviour
• Once a process instance has been created, we use the notion of token to
identify the progress (or state) of that instance.
• A token is a “theoretical object” used to create a descriptive “simulation” of
the behavior associated to each BPMN element (it is not currently a formal
part of the BPMN specification).
• A token is created in the start event, traverses the sequence flow and is
destroyed in a end event. That is, there is no time associated with the token
travelling down a sequence flow.
26
A first example: an order
management process These activities are
mutually
exclusives.
Activities
Start event End event.
Reject order BPMN adopts
Order
the implicit
rejected termination
Check stock semantics.
availability X Send invoice
Purchase
order
received
Confirm order + +
Order
Every start/end event fulfilled
should be labelled, in Exclusive Ship goods
order to communicate Gateways
what triggers an A process instance
instance of the completes only when
process or what is Parallel each token flowing in
the outcome when a Gateways These activities the model reaches
process instance can be executed an end event.
completes. concurrently.
27
A bit more on gateways
28
Types of gateways
30
Default Conditions
32
Exercise
33
Solution
34
Parallel Gateways –
Splitting Behaviour
35
Parallel Gateways –
Merging Behaviour
• To synchronize the flow, the parallel gateway will wait for a token to arrive
from each incoming sequence flow.
• When the first token arrives, there is no evaluation of a condition for the
incoming sequence flow, but the token is “held” at the gateway and does
not continue.
• When all the tokens are arrived, then they are merged and one token moves
down the outgoing sequence flow.
36
Exercise
37
Exercise
Only two of three paths will be
• Describe the behavior of this process. used at any one time. Thus, the
Process will be stuck waiting for
the third path.
38
Solution
39
Inclusive gateways
40
Inclusive Gateways –
Splitting Behaviour
• Inclusive gateways support decisions where
more than one outcome is possible at the
decision point.
• Inclusive gateway with multiple outgoing
sequence flows creates one or more paths
based on the conditions on those sequence
flow.
• In terms of token semantics, this means that
the OR-split takes the input token and
generates a number of tokens equivalent
to the number of output conditions that
are true.
• Every condition that evaluates to true will
result in a token moving down that sequence
flow.
• At least one of those conditions must
evaluate to true.
41
Inclusive Gateways –
Merging Behaviour
• When the first token arrives at the gateway, the
gateway will “look” upstream for each of the
other incoming sequence flow to see if there is a
token that might arrive at a later time.
• Thus, the gateway will hold the first token that
arrived in the upper path until the other token
from the lower path arrives.
42
Exercise
47
What type should we
assign to this join?
Let us try an AND-join to match the preceding AND-split.
In our example this means that we may execute activity “F” once
or twice, depending whether the preceding XOR-split routes the
token to “E” (in this case “F” is executed once) or to “D” (“F” is
executed twice).
While this solution may work, we have the problem that we do not
know whether activity “F” will be executed once or twice, and we
may actually not want to execute it twice. Moreover, if this is
the case, we would signal that the process has completed twice,
since the end event following “F” will receive two tokens. And this,
again, is something we want to avoid. 49
What type should we
assign to this join?
The only join type left to try is the OR-join.
Thus, it will proceed once the token from activity “C” arrives. On the
other hand, if the XOR-split routes control to “D”, the OR-join will wait for
a token to also arrive from this branch, and once both tokens have
arrived, it will merge them into one and send this token out, so that “F”
can be executed once and the process can complete normally.
50
When should we use
an OR-join?
Since the OR-join semantics is not simple, the presence of
this element in a model may confuse the reader.
What?
Function When?
Process
Which?
56
Order Management
Process with Pools
Customer
Place
Make
purchase
payment
order
Invoice
Confirm order
Supplier
Check stock
Ship goods
availability
Reject order
Order Management Process
with Lanes
Lanes
• Lanes create sub-partitions for the objects within a pool.
• These partitions are used to group process elements (showing how
they are related), or which roles have responsibility for carrying out
the activities.
• Lanes often represent organization
roles (e.g., Manager, Administration,
Associate, etc), but can represent any
desired classification (e.g., underlying
technology, organizational
departments, company products, etc).
• Sequence flow can cross Lane
boundaries.
• Message flow is not used within or
across lanes of a pool.
• Lanes can be nested.
59
Pools – black box
• A pool is not required to contain a process. Known as a “black
box”, these pools do not show activities or sequence flow inside its
boundary.
• In this example, the “Customer” Pool is a black box (as far as
Mortgage Co is concerned, they have no knowledge of the Processes
of their Customer).
60
Text annotations and groups do
not bear any semantics, thus they
Artifacts do not affect the flow of tokens
through the process model.
Groups cannot be
interrupted by
Intermediate
Events
A Group is used to
surround a group of
flow objects in order
to highlight and/or
categorize them.
61
Data Artifacts
Data
• Data Objects are a mechanism to show
Object how data is required or produced by
activities.
– They are depicted by a rectangle that has its
upper-right corner folded over.
– Represent input and output of a process activity.
Send invoice
Purchase
Order
Confirm order
Reject order
Book Information
Customer Info
New Data Objects in
BPMN 2.0
67
BPMN Elements – Recap
Connections Swimlanes
Pool
Message Association
Lane
Flow
Gateway
Activity Data
Object
Data
Event
Store
Topics
• Process Modeling
• BPMN Background
• Basic Concepts
• Advanced Concepts
• Conclusions
69
Categories of Processes
Expanded sub-process
Receive Include
credit Approval Standard
report Text
73
Embedded sub-processes
• A modeled process that is actually part of the Parent Process. Embedded
Sub-Processes are not reusable by other processes. All “process relevant
data” used in the parent process is directly accessible by the embedded
sub-process (since it is part of the parent).
• Transferring data from the parent Process to the reusable sub-process will
rely on a “mapping” between the data elements of the two levels.
• Just like an embedded sub-process, an independent sub-process must
have a None Start Event. Independent sub-processes maximize reuse.
Behaviour across
process levels
The sub-process is
active
The sub-process is
completed
76
Exercise. Identify sub-processes\1
77
Exercise. Identify sub-processes\2
78
Exercise. Identify sub-processes\3
79
Looping
• On an activity, it is possible to define a loop condition
that determines the number of times to perform that
activity. There are two variations for activity looping :
– While Loop (or While-Do) - The loop condition is
checked before the activity is performed. If the loop
condition turns out to be true, then the activity is
performed. If not, the activity completes and the Process
continues (a token moves down the outgoing sequence
flow), even if the activity was never performed. The cycle
of checking the loop condition and performing the activity
continues until the loop condition is False.
– Until Loop (or Do-While) - The loop condition is
checked after the Activity is performed.
80
Example
81
Multi-Instance Activities
In a procurement process, a
quote is to be obtained from
all preferred suppliers.
83
Example
84
Exercise
85
Solution
86
Events
87
Start Events
89
Timer Start Event
90
Message Start Event
• The Message Start Event represents a situation where a
Process is initiated (i.e. triggered) by the reception of a
message.
• A message is a direct communication between two business
participants. These participants must be in separate pools
(they cannot be sent from another lane inside a single pool).
91
Signal Start Event
92
Conditional Start Event
93
Multiple and Parallel
Multiple Start Events
• The Multiple Start Event represents a collection of two
or more Start Event triggers. The triggers can be any
combination of messages, timers, conditions, and/or
signals.
– Any one of those triggers will instantiate the Process.
– If one of the other triggers occurs, or the same trigger occurs again,
then another Process instance is generated.
• For the Parallel Multiple Start Event a combination of
triggers is required before the process can be
instantiated.
94
End Events
95
End Events Behaviour
97
Intermediate Events
Catching Throwing
Parallel
Multiple 98
Catch Intermediate Events
Behaviour
• A token arriving at a catch
Intermediate Event would wait
until the trigger occurs. Then
the token would leave
immediately and move down the
outgoing Sequence Flow.
• A Catching Intermediate Event
(except than the Link Event) can
also be attached to the
boundary of an Activity.
• When the activity starts, so does the timer.
• If the activity finishes first, then it completes
normally and the Process continues normally.
• If the timer goes off before the Activity is
completed, the Activity is immediately
interrupted and the Process continues down the
sequence flow from the Timer Intermediate
Event. 99
Throw Intermediate Events
Behaviour
• A token arriving at a throw
Intermediate Event would
immediately fire the trigger. It
would then leave immediately
and travel down the outgoing
Sequence Flow.
• A Throwing Intermediate Event
can not be attached to the
boundary of an Activity.
100
Intermediate Events
Behaviour
• When a token arrives at a catching
Message Intermediate Event, the
Process pauses until a message
arrives.
102
Link Intermediate Event
• Link Intermediate Events are always used in pairs, with a source and a target
Event. To ensure the pairing, both the source and target Link Events must
have the same label.
• Using a pair of Link Events creates a virtual Sequence Flow.
• There can be only one Target Link Event, but there may be multiple Source
Link Events paired with the same catching Link Event.
103
Example of a
Multiple Intermediate Event
104
Gateways
107
Complex Gateways –
Merging Behaviour
• There are many patterns that can be performed with the Complex Gateway,
such as typical Inclusive Gateway behavior, batching of multiple tokens,
accepting tokens from some paths but ignoring the tokens from others, etc.
• The Gateway looks the same for each of these patterns, so the modeler should
use a Text Annotation to inform the reader of the diagram how it is used.
• The Complex Gateway uses an incoming assignment when tokens arrive.
The condition may refer to Process or Data Object information and the status of
the incoming Sequence Flow.
– If the condition is false, nothing happens other than the token is held there.
– If the condition is true, then the action could be set to pass the token to the output
side of the Gateway, thereby activating the outgoing assignment, or the action could
be set to consume the token.
108
Exercise
Design a a sample expense reimbursement process. This process provides for
reimbursement of expenses incurred by employees for the company. For
example buying a technical book, office supplies or software. In a normal day
there are several hundreds of instances of this process created. Concentrate on
the basic flow of the Process…
After the reception of a meeting remainder, a new account must
be created if the employee does not already have one. The report
is then reviewed for automatic approval. Amounts under $200 are
automatically approved, whereas amounts equal to or over $200
require approval of the supervisor. In case of rejection, the
employee must receive a rejection notice by email. The
reimbursement goes to the employee’s direct deposit bank
account. If the request is not completed in 7 days, then the
employee must receive an “approval in progress” email If the
request is not finished within 30 days, then the process is stopped
and the employee
109
Exercise - Solution
110
Further Advanced Concepts
111
Error Events
• The Error Intermediate Event is used to
Error End Event – handle the occurrence of an error that
Catching needs the interrupting of an Activity (to
which it is attached).
Error Intermediate Event -
Throwing • An error is generated by applications or
systems involved in the work (which are
transparent to the Process) or by End
Events.
• The Error End Event is used to throw an error.
• The Error Intermediate Event can only be used when attached
to the boundary of an Activity, thus it can only be used to
catch an error.
• When an error occurs all work will stop for that Process.
• However, these Events do not interrupt the Activity since they
are only operational after an Activity has completed.
112
Exception Handling
Exception Handling
previous flow object and
arrives at the Activity with the
attached Intermediate Event.
116
Cancel Events
• The Cancel Intermediate Event is designed to handle
a situation where a transaction is canceled.
120
Compensation in a
Transaction Sub-Process
• However, completed work (in the
Transaction Sub-Process) may
need to be undone, which requires
a “rolling back” before the parent
Process can continue.
• This means that each Activity in
turn, in reverse order, is checked to
see whether or not it requires
compensation. Compensation is
the undoing of work that has been
completed.
• A token can be used to trace this
rolling back as it travels backward
through the Process after a
Transaction Sub-Process has been
cancelled.
121
Compensation in a
Transaction Sub-Process
• Compensation does not just
happen automatically. Another
Activity is required to undo the
work of the original Activity.
• The Compensation Activity links
to each Activity via the
Compensation Intermediate
Event attached to its boundary.
• The link between the normal Activity and the Compensation Activity is
done through an Association rather than a Sequence Flow.
• The Compensation Intermediate Event is never triggered during the
normal flow of the Process. It only can be triggered during the roll-
back of the Transaction Sub-Process. Only one Compensation Activity
can be associated with the Compensation Intermediate Event.
• When the reversal of the token reaches an Activity that has an attached
Compensation Intermediate Event, that Compensation Event fires and
the token is then sent to the associated Compensation Activity. 122
Compensation in a
Transaction Sub-Process
• When the Compensation Activity
has completed, the token
continues its backward journey
through the Transaction by
leaving the Activity whose work
was just undone.
• When all the Activities of the
Transaction Sub-Process have
been checked and, if necessary,
compensated, then the
cancellation of the Transaction is
completed.
• This allows the token in the
parent Process to travel down the
outgoing Sequence Flow of the
attached Compensation
Intermediate Event. 123
Ad Hoc Processes
• The Ad Hoc Process represents Processes where the Activities might
occur in any order, and in any frequency- there is no specific ordering
or obvious decisions.
• Typically, the Activities in
an Ad Hoc Process involve
human performers who
make the decisions as to
what Activities to perform,
when to perform them, and
how many times.
• The Ad Hoc Process has a
non-graphical completion
condition attribute that is
used to determine if the
work of the Process is
complete.
124
Conversation Diagrams
125
Conversation Elements
126
Coreography Diagram
127
Coreography Elements
128
Topics
• Process Modeling
• BPMN Background
• Basic Concepts
• Advanced Concepts
• Conclusions
129
Conclusions
130
References
[7] A.H.M. ter Hofstede, W. van der Aalst, M. Adams, N. Russell. Modern
Business Process Automation: YAWL and its Support Environment.
Springer-Verlag (2009).
[8] S. Christensen, N. Damgaard Hansen. Coloured Petri Nets: Basic
Concepts, Analysis Methods and Practical Use. Jensen (1997).
132
THANKS FOR THE ATTENTION