0% found this document useful (0 votes)
33 views86 pages

Unit 3

Uploaded by

Manikandan
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
33 views86 pages

Unit 3

Uploaded by

Manikandan
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 86

Business Process

Management
Advanced Process
Modelling
Unit 3

1
Process decomposition

Activitie

An activity in a process can be decomposed into a


“sub-process”
Use this feature to:
1.Improve understanding by breaking down large models

2.Identify parts that should be:


• repeated
• executed multiple times in parallel
• interrupted, or
• compensated
Example Sub-Process
Invoice
rece ived

Process Invoice
no

4
Identify possible
sub-processes
Acquire
raw
materials

^rmive
JITC -o
Order
r'Llf lid

Ship and invoice


Solution

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

Level 4 E nte r 0 rde r Check C re d it

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

Level 1 - start with value chain


Level 2 - add main decisions and handoffs (lanes)
Level 3+ - add procedural aspects:
- Parallel gateways
- Data objects, data stores
- Exception handling
- And as much detail as is relevant
Decomposition drivers:
- Logical: group elements meaningfully (e.g. common business object)
- Structural: up to 30 nodes (activities, events, gateways)

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

Normal Activity Call Activity

12
xample: Process Reuse

V maximize
Sub-processes: syntax
Sequence flows cannot cross sub-process boundaries
-Use start/end events

Message flows can cross sub-process boundaries


-To indicate messages emanating from/incoming into the
subprocess
Start with at least one start event
-If multiple, first occurring will trigger the sub-process

Finish with at least one end event


-The sub-process will complete once all tokens have reached an
end event. May need an (X)OR-split after sub-process to
understand what end event(s) have been reached

14
Example: sub-process with
multiple end events
Rework and Repetition

XOR-join: entry point XOR-sP'it: exit point

Structured
cycle (SESE
component)
v_J

16
Block-structured repetition:
Activity loop

BPMN also provides the


Activity loop construct to
allow the repetition of a task
or sub-process
Task S u b - p ro c e s s

Loo
p
Example:
Block-structured
Completion
condition
Repetition U ntil Response is approved

N r > S' >


F in a Use

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.

Cat acr. Ircl


anajrfft.1

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«.

Diagram when the Evaluate prior


performance
Assess
financial
stability

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

They affect the process flow


- Start

- 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

Un typed Events Indicates that an instance of the process is created (start)

or completed (end), without specifying the cause for ereation/completion

Start Message Event X Indicates that an instance ofthe process is created

when a message is receiv ed

End Message Events Indicatesthatan instanee of the process is completed

when a message is sent

Intermediate Message Events Indicatesthatan event is expected to occur

during the process. The event is triggered when a message is received or

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

Start Timer Event - Indicates that an instance of the


process is created at certain date(s)/time(s), e.g. start
process at 6pm every Friday

Intermediate Timer Event - Triggered at certain date(s)/


time(s), or after a time interval has elapsed since the
moment the event is “enabled” (delay)

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

A Purchase Order (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 response is sent back to the
customer.
Nextw orking day

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

Two types of XOR split:


data-driven event-driven
XOR-split XOR-split

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

response is sent back to the customer.

Next v» orking day

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

• Types of exceptions for an activity (task/sub-process) in BPMN:

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

Error Event - Indicates an error: the


3
end' version generates an error event
while the ’catching intermediate' version
Must be attached to the activity’s
consumes it when attached to the
--boundary-

boundary olan activity


j

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

Him: further action.


Next wo iking
r® Items not
•*e<&o day
available
nd1
—0i ri

Register PO vrockc
kh'
Check
Availabili si Send PO o
PO
ty Iterris Response
Respons P
P
Receded
Registered
available e sent O
fulfilled

O PO Change PO Cancel terns not


receded received ava ab e
Handle PO
Cancelation
_FI J PO

Motff cat on
canceled sent
Non-interrupting boundary
events
Sometimes we may need to trigger
an activity in parallel to the normal
flow, i.e. without interrupting the
normal flow.

This can be achieved by using


non-interrupting boundary events

Must be attached to N 59 theactivity’s

y
Solution: non-
interrupting boundary
PO handling
events
Handle PO

Next (AO iking day Items not


wetland available
r
Check sr Send PO

PO
Received
PO
Registered
Availabilit
y
Items
availabl
e -
Response
HResponse
J sent
o
PO
fulfille

PO Change PO Cancel terns mot 0 D


Address
d

received received available change


Handle PO
received
Register PO Cancelation
J±L PO t4otifcaton
Change canceled sent

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

Placed into a process or subprocess


Is activated when its start event is triggered It may or may
not interrupt the parent process or sub-process, depending
on the type of its start event:
- Non-Interrupting:
-
Interrupting:

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

Only one compensate activity must be

linked from a catching


^1 Goods return

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.

Timer: Cyclic timer events, poi nts i n


tim e, ti m e spa ns or tim eouts.

Error: Catching or throwing nam ed


errors. m
Compensate: Handling or triggering
compensation.

Terminate: Triggering the immediate


termination of a process.

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

decision is not “shared” S7 In voice


by the parties via a
preceding message- 75
Choreography
Process model of the interactions
taking place between two or more
business

parties
Focuses on message exchange between parties
• Acts as a contract between parties
• Can be refined into private processes or into a collaboration diagram
Choreography Task
• Represents an interaction between two business parties

• Either one-way (asynchronous) or two-way (synchronous)

• Atomic: max to messages being exchanged: request + response

• Distinction between initiating and receiving party (different band

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

Events - Most process events alio wed. No non-interrupting

ooo events

G ate ways - All process gateways allowed: Exclusive,

Inclusive, Parallel and Event-based gateways

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

/-N f-S f-\


Sekr B adder B.dder

Auction Provider Auction Provider Auction Provider

s_* k___

Decision taken by parties involved in the


immediately preceding interaction, based
on available data which was “shared”
between message
the parties via a interaction.
in a preceding
In Provide
r
^Choreography Interna
Task Marker l
s
Only one of the loop or multi-instance applicable

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

You might also like