Unit 3
Unit 3
Management
Advanced Process
Modelling
Unit 3
1
Process decomposition
Activitie
Process Invoice
no
4
Identify possible
sub-processes
Acquire
raw
materials
^rmive
JITC -o
Order
r'Llf lid
6
The refactored model
7
Example: Modelling process
hierarchies
P to cess In q Receive and V a
Level 3 u iry and Q uo lid ale 0 rde r
te
_0_
FI
0 rd er _E_
received
C le ar Order
C redi
C heck C red it jvai'ab ;
Level 5 R ecord
C o n la c t
cu slomer
C r edit not
acco iwul re p
avaitab'e
8
Value chain modelling
Chain of (high-level) processes an organisation performs in
order to achieve a business goal, e.g. deliver a product or
service to the market.
9
Linking value chains with
process models
' Process model for
ft
this process is
available
Product
development
Marketing Sales
processin
_J
g
Production
planning care
)
Customer
S_
Gis ■H Ss — ~ —O "L
s • L» »» —
IG *sr* —O
a—> l-> SSL
10
Guidelines: Modeling
levels
Use sub-processes when the model becomes too large:
- Hard to understand
- Increased error probability
11
2.Process Reuse
By default, a sub-process is “embedded” into its parent
process (i.e. it is stored within the same file) In order to
maximize reuse, it is possible to “extract” the sub-process
and store it as a separate file in the process model
repository Such a sub-process is called “global” model, and
is invoked via a “call” activity
12
xample: Process Reuse
V maximize
Sub-processes: syntax
Sequence flows cannot cross sub-process boundaries
-Use start/end events
14
Example: sub-process with
multiple end events
Rework and Repetition
Structured
cycle (SESE
component)
v_J
16
Block-structured repetition:
Activity loop
Loo
p
Example:
Block-structured
Completion
condition
Repetition U ntil Response is approved
O
M inisteria E
A s s ig n M in i s te ri a 1
E nquiry
Investigate M inisteria
1
E nquiry
M in i s te ri a 1
R espon se
o
M in is te ria I E
nquiry received
J
v_ --
s._ orn_ _>
nquiry fin iliz e d
r N
••♦ Finalise Ministerial Response
•••**
N
f-
R eview
P re p a r e M in i s r
r~^\
te ri a 1 R esponse R esponse
E nquiry -J R e sponse
invest ig ated re v ie w e d
__ _y
Must have a
decision
v
-activity—
18
Arbitrary Cycles
Arbitrary = unstructured, i.e. it can
have multiple entry and exit points
i
entry point
>
o A B
L_J
M
a.Parallel Repetition
1. Sequential Repetition
The Instances of the loop activity are
executed one after the other.
Eg. Quote from suppliers
2. Multi-instance activity
An activity that is executed multiple
times concurrently
20
Example: Multi-instance
activity
Procurement
In procurement, typically a quote is to
be obtained from all preferred suppliers
(assumption: five preferred suppliers
exist). After all quotes are received, they
are evaluated and the best quote is
selected. A corresponding purchase order
is then placed. 21
Solution: Without
Multi-instance Activity
Procurement
22
Parallel Repetition:
?Hl Multi-instance Activity
The multi-instance activity provides a mechanism
to indicate that an activity is executed multiple
times concurrently
M u Iti- In s ta n c M u lti- In s ta n c e
eTask S u b - p ro c e s s
Useful when the same activity needs to be executed for multiple entities or data items,
such as:
- Request quotes from multiple suppliers
- Check the availability for each line item in an order separately
- Send and gather questionnaires from multiple witnesses in the context of an
insurance claim
23
Solution: With
Multi-instance
Activity
Procurement
24
Further example:
Multi-instance Activity
Motor insurance claim lodgement
After a car accident, a statement is
sought from the witnesses that were
present, in order to lodge the insurance
claim. As soon as the first two
statements are received, the claim can
be lodged to the insurance company
without waiting for the other statements.
25
Solution: Multi-instance
Data collection '
Activity
denotes a set of data VUItn ess - ----------- Multi-instance pool
objects of the same -111 <3 ^ denotes multiple
type \^ participants of the
\ request : ! ^.aleneni
of multi-instance
(determines cardinality \ same type
activity) Complet
e when
2 •1
statements
obfninod
E
t:a
□
c
n
i*.
a
L.
Completion condition
indicates minimum
number of instances
required to complete
2
6
- (< cardinality)-
.Uncontrolled Repetition:
Ad-hoc sub-process
The ad-hoc sub-process contains
activities to be executed in arbitrary
order and number of times May define
order of sub-set of activities by
sequence Flow
early version of Can be used in an
a process 'company's KPIs
J I Unti 3! KPIs reviewedj«.
order of execution is
Profile Interview
still unknown products and
services
corporate
executives
27
Example: ad-hoc
sub-process
Army recruitment
A typical army selection process starts by shortlisting all
candidates’ applications. Those shortlisted are then called to sit the
following tests: drug and alcohol, eye, color vision, hearing, blood,
urine, weight, fingerprinting and doctor examination. The color
vision can only be done after the eye test, while the doctor
examination can only be done after color vision, hearing, blood,
urine and weight have been tested. Moreover, it may be required
for some candidates to repeat some of these tests multiple times in
order to get a correct assessment, e.g. the blood test may need be
repeated if the candidate has taken too much sugar in the previous
24 hours. The candidates that pass all tests are asked to sit a
mental exam and a physical exam, followed by an interview. Only
those that also pass these two exams and perform well in the
interview can be recruited in the army.
28
29
4.Events handling
In BPMN, events model something
instantaneous happening during the
execution of a process
- Intermediate
- End
30
a.BPMN event types
-Message Events
St a r t In t e r m e d i a t e E n d
sent
31
message events
Comparison with sending/
ceiving tasks(Catching event
and Throwing event)
Receive
invoice
Invcxce
received
Send invoice
Invoice
sent
I<S>
__) Invoice Send invoice
sent
\r Receive
Invoice )* invoice
received
l_
when to use what?
(/
>
o
_
_
"
*
b.Temporal events
St a r t In t e r m e d i a t e End
35
ample: temporal events
In a small claims tribunal, callovers occur once a
month to set down the matter for the upcoming
trials. The process for setting up a callover starts
three weeks prior to the callover day, with the
preparation of the callover list containing
information such as contact details of the involved
parties and estimated hearing date. One week
prior to the callover, the involved parties are
notified of the callover date. Finally, on the
callover day, the callover material is prepared
and the callover is held.
Solution
■|&Enabled and Instantaneous
---1
Con Prepar
e
callo tact call
3
ver we«k ca callove ow
list p lover r )
weeks pf»r day calover
Id
allie materia
prior
callov s l _/
la
er
callov
er
37
PO handling
Received fulfilled
38
Multiple start events
The first start event that occurs will trigger an instance of the process
39
c.Racing Events
-When two external events race against
each other, event based exclusive (XOR)
split is used eg. Insurance quote - An
event based exclusive split is represented
by a gateway marked by an empty
pentagon enclosed in a double-line circle
40
Event-based decision
With the XOR-split gateway, a branch is chosen based on
conditions that evaluate over available data
^ The choice can be made immediately after the token
arrives from the incoming flow
Sometimes, the choice must be delayed until an event
happens
-> The choice is based on a “race” among events
41
Solution: event-based
decision
Stock replenishment
Matching choices in different
usiness parties-Lead-to-Quote
5.Handling Exceptions
- Exceptions are events that deviate a process
from its normal course ie., from what is
commonly known as the “sunny-day” scenario.
- “Rainy-day” situations happen frequently in
reality, and as such they should be modelled
when the objective is to identify all possible
causes of problems in a given process.
- Exceptions include business faults eg., out of
stock
- Technology faults eg., data crash
44
PO handling
A PO handling process starts when a PO is received. The PO is first registered. If the current date is not a working day, the
process waits until the following working day before proceeding. Otherwise, an availability check is performed and a PO
R eceived fulfilled
45
a.Process abortion
Exceptions are events that deviate a
process from its “normal” course The
simplest form of exception is to notify
that there is an exception (negative
outcome)
This can be done via the Terminate end
event: it forces the whole process to
abort (“wipes off” all tokens left behind, if
46
any) (8)
Terminate event - Signal
the negative outcome...
f 1
Handle order
Order response response Order
revived Fulfilled
- ^ ■>
Brgr mEKHage
Nr?1if yjng
\
received
purchasing of
liter
Order not
fulfilled
*o Friday
afternoon
Example 2: terminate vent
-Abort the process by
removing all tokens...
Exception
• handling
Handling exceptions often involves stopping a sub-process and performing a special activity
External: something goes wrong outside the process, and the execution of the
current activity must be interrupted. Handled with the Message event
Internal: something goes wrong inside an activity, whose execution must thus be
interrupted. Handled with the Error event
Timeout: an activity takes too long and must be interrupted. Handled with the Timer
event
All these events are catching intermediate events. They stop the
enclosing activity and start an exception handling routine.
Solution : exception
handling-PO
handling
50
b.Internal and External
exception:Error event
51
Example:
internal
Consider again our “PO Handling process” example with the following extension: if an
exception
item is not available, any processing related to the PO must be stopped. Thereafter,
the client needs to be notified that the PO cannot be
52
One more example:
Internal exception
Extend the claim handling process shown below as follows:
After checking the insurance policy, a possible outcome is that the
insurance is invalid. In this case, any processing is cancelled and a
letter is sent to the customer. In the case of a complex claim, this
implies that the damage checking is cancelled if it has not yet been
completed.
54
Solution: internal
exception
rejected
55
c.Example: activity timeout
Order-to-transportation
Once
quotea wholesale order has been confirmed,
the supplier transmits this order to the carrier for
the preparation of the transportation quote. In
order to prepare the quote, the carrier needs to
compute the route plan (including all track
points that need to be traversed during the
By contract,
travel) wholesale
and estimate theorders
trailer have to be
usage.
dispatched within four days from the receipt of
the order. This implies that transportation quotes
have to be prepared within 48 hours from the
receipt of the order to remain within the terms of
the contract. 56
olution: activity timeout
d.Non-interrupting Events
and Complex Exceptions
The customer may send a request for address po handling after the PO registration.
When such a request is received, it is just registered,
without
Register PO vrockc
kh'
Check
Availabili si Send PO o
PO
ty Iterris Response
Respons P
P
Receded
Registered
available e sent O
fulfilled
y
Solution: non-
interrupting boundary
PO handling
events
Handle PO
PO
Received
PO
Registered
Availabilit
y
Items
availabl
e -
Response
HResponse
J sent
o
PO
fulfille
Customer
address
updated
Let’s make it even more
realistic -PO handling
[...]Further, if the customer sends a PO
cancelation request after the PO
registration, the request is first assessed.
Based on the progress of the order handling
(e.g. if items have already been fetched from
external warehouses) a penalty is
determined and communicated to the
customer. The customer has 48 hours to
accept the penalty and go on with the
cancelation or to stop the cancelation and
continue with the order handling. 61
Signal event
• To send or receive a signal for
synchronization purposes
• A signal is broadcasted without any
specific target. Thus it can be caught
multiple times
• Signals are different than messages which
are routed to a specific target
End
62
Solution: non-interrupting event +
signal event -PO handling
e.Event subprocess
To handle events that may not refer to a particular
task/ subprocess within a process
64
Example: event
PO handling
subprocess
65
f.Activity Compensation
Eg. PO handling
After a PO has been registered, checked, and a
response has been sent back, a payment
subprocess and a fulfilment sub-process are
started. During these two sub-processes, a PO
cancellation may be received from the customer.
In this case, both sub-processes are stopped,
and/or goods retHJMiymH occur).
and their effects are reverted (e.g.reimbursement
66
Activity compensation
• Rollback of completed process activities
• May be used as part of an exception
handling procedure
• Triggered by throwing Compensate event
• Compensation H^der (a catching
Compensate event + a Compensate
activity) performs the rollb
67
Solution: activity The
compensate activity can
be
compensation rocess
C ancel PO I
Re-
imbu rse m e n t
<xir
P O Ricened
n PO
fu I filled and paid
compensate event
<M
R
Cancel P O
68
Compensate event
• Indicates that the enclosing activity must be
compensated
• The “throwing intermediate” and the “end” version
generate the compensation event
• The “intermediate catching” version triggers the
compensation when attached to the boundary of an
activity
Catching Throwing
1 J
Start Intermediate End
Must be attached to
the activity's boundary
v_)
Recap: Events
------------------. —Start— ----n--Interm ediate^----- -t-nd-
l
oX* “ oS>
Of* >*.e Z -c
•S
-1 % >» O.
V c -1
!i*
©©
Untyped: indi cate sta rt point, state
changes or final states.
“£ CD O
@
Message: Receiving and sending
messages.
70
6. Process and
Business Rule
-A business rule implements an
organisational policy or practice.
-For eg. In an online shop, platinum
customers have a 20% discount for each
purchase above $250.
-Business rules can appear in different
forms in a process model.
-Process model with decision activity and
in the condition of a flow coming out. 71
Process and Business
Rule
- A conditional event causes the
activation of its outgoing flow when the
respective business rule is fulfilled.
- Conditional events, identified by a
lined page marker, can be used as start
or intermediate catching events,
including after an event-based gateway
or attached to an activity’s boundary.
72
7. Process Choreographies
- Frame a business collaboration between 2 or
more parties.
- If the collaboration diagram between two
parties are not clear and confusing.
- Parties may not be willing to expose their
internal activities to other parties.
- In BPMN this information is captured by a
choreography diagram.
- A choreography diagram is the process
model of interactions occurring between two or
more parties 73
Choreography
Diagram
Focuses on the interactions among two or more business parties
Choreography Diagram
(cont’ed Order Ca n ce I aL io n
ools can be
dropped
)
Re q u e St
-|- fa r 0 uol e
r-v
Cancel alien Ac k
Customer
V_
}* G e L 0 uc L e
Manufacturer
Order
0 U a Le
Co n f i r m a L ia
n
1^ P ay m e n i
C u St o m e r 71
C u Stc m e r
Used in place of
o
C a n f i ir m
Order Pay lor Order
data-based XOR-split if
Manufacturer
Manufactuer
data used to take the ■-_._J
77
Choreography Task
• Band of initiating party unfilled
• Message icons optional, follow band colors
78
Basic
Choreography
Sequence flow - Connects and orders choreography tasks,
Elements
events and gateways
ooo events
j An
An nota tion
T e xt a n n otation s - No re strict ion s on th e ir use
79
Syntax: choreography
sequencing constraints
The initiator of a choreography activity must have been
involved in the previous activity (excluding first activity)
Why?
Syntax: choreography
sequencing constraints
81
xample: Choreography of
an auction
- A Seller sends information about an item
they want to sell to an auction Provider. The
Provider publishes the auction by offering
the item to the Bidder. Once the auction
has started the Bidder may place an offer.
In case the item is sold the auction Provider
finalises the purchase with the Buyer,
otherwise the Provider notifies the Seller
that his item has not been sold.
82
Initiator generally the same, but can
be any party that is “aware” of the
data used for the
decisio
s_* k___
Loop Multi-instance
ice
Each instanc
of X sends a
message to one
instance of Y.
Note: the
number of
instances of X
and Y must be
the same
Multi-instance Party
marker
- Parties may be multi-instance, e.g. customers or shippers
A message is sent to
each instance of the
multi-instance party
85
Example: Choreography of an
auction
Auction Provide
86