Chapter3 ProcessModelingII
Chapter3 ProcessModelingII
CO5270
Support Processes
Examples for BPM lifecycle and process mining Process architecture Manage Personnel
Manage
Information Manage Assets
35h B 30h
15h
A
D
E
Conformance and Process As-is process
5m 3m 5m 10m 30m 2h 10m
performance discovery
C model
15m 1.5h 10min insights
A B C D E
Process Process
monitoring analysis
Executable Insights on
process weaknesses and
model their impact
Process Process
implementation To-be process redesign
model
BPMN Main Elements - Recap
Flow Objects Connections
Activity
Message Association
Gateway
Event
Flow
Data Data
Object Store
Lane
BPMN Gateways
Exclusive (XOR) Parallel (AND) Inclusive (OR)
▪ Level 2+: expand each activity in the value chain, add incrementally
the following:
▪ Decisions, handoffs (lanes, pools)
▪ Parallel gateways, different types of events
▪ Data objects & data stores
▪ And as much detail as you need, and no more
Guideline: Multi-level modeling (cont.)
▪ At each level, decompose according to:
▪ Logical milestones towards achieving the outcome of the process
▪ Major objects used in the process
Consider re-
submission
Check purchase
request for 1st
approval
approved rejected
Purchase Request
Check purchase
request for 2nd
approval
approved
Send approved
request to requestor
Task Sub-process
Loop Loop
17
More on rework and repetition
Structured
cycle (SESE
component)
18
Example: block-structured repetition
Completion
condition
Finalise
Assign Investigate
Ministerial
Ministerial Ministerial
Response
Enquiry Enquiry
Ministerial Ministerial
Enquiry Enquiry
received finilized
Prepare Review
Ministerial Ministerial
Response Response
Enquiry Response
investigated reviewed
Must have a
decision activity
19
Parallel repetition: multi-instance activity
The multi-instance activity provides a mechanism to indicate that an
activity is executed multiple times concurrently
Multi-Instance Multi-Instance
Task Sub-process
21
Solution: without multi-instance activity
Procurement
Obtain Quote
from Supplier A
Obtain Quote
from Supplier B
Obtain Quote
from Supplier D
Obtain Quote
from Supplier E
22
Solution: with multi-instance activity
Procurement
cardinality
For each supplier
23
Events
Events
In BPMN, events model something instantaneous happening during
the execution of a process
Types of event:
▪ Start
▪ Intermediate
▪ End
25
BPMN event types
Start Intermediate End
26
Comparison with sending/receiving tasks
= Receive
invoice
Invoice
received
Invoice
= Send invoice
sent
Invoice
= Send invoice
sent
≠
Receive
invoice
Invoice
received
27
So, when to use what?
Use message events only when the corresponding activity would
simply send or receive a message and do nothing else
28
Temporal events
Start Intermediate End
29
Example
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.
30
Recap: Message and Timer events
Start Intermediate End
Catching Catching Throwing Throwing
31
Data-based vs. event-based choices
▪ In a XOR-split gateway, one branch is chosen based on expressions
evaluated over available data
→Choice is made immediately when the gateway is reached
33
Choices outside our control…
Stock replenishment
A restaurant chain submits a purchase order (PO) to replenish its
warehouses every Thursday. The restaurant chain’s procurement
system expects to receive either a “PO Response” or an error
message. However, it may also happen that no response is received
at all due to system errors or due to delays in handling the PO on the
supplier’s side. If no response is received by Friday afternoon or if an
error message is received, a purchasing officer at the restaurant
chain’s headquarters should be notified. Otherwise, the PO Response
is processed normally.
1
Solution: event-driven XOR split
Stock replenishment
35
Exception handling
Let’s extend our PO handling process
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.
This can be done via the Terminate end event: it forces the whole
process to abort (“wipes off” all tokens left behind, if any)
38
Example 1: terminate event
Signal the negative outcome…
39
Example 2: terminate event
Abort the process by removing all tokens…
40
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
All these events are catching intermediate events. They stop the enclosing activity and
start an exception handling routine.
41
Let’s extend our PO handling process
Next working day
weekend/
holiday
Handle PO
Next workingNext
day working day
weekend/ weekend/
holiday holiday
PO Change PO Cancel
received received
Handle PO
Cancelation
Register PO
PO
Change
canceled
8
Internal exception: error event
Start Intermediate End
Error Event – Indicates an error: the end version generates an
error event while the catching intermediate version consumes it
when attached to the boundary of an activity
44
Example: internal exception
PO handling
Consider again our “PO Handling process” example with the following
extension: if an 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 further processed.
Handle PO
Next workingNext
day working day
weekend/ weekend/
holiday holiday
PO Change PO Cancel
received received
Handle PO
Cancelation
Register PO
PO
Change
canceled
45
Solution: internal exception
Throwing and catching
error events must have
the same label
PO handling
Handle PO
Handle PO
Nextworking
Next working day
day Items not
weekend/
weekend/ available
holiday
holiday
weekday
weekday Check
Check Send POSend PO
Register PO
Register PO Availability
Availability ResponseResponse
Items
PO
PO
PO available Response PO PO
Response
Received
Received Registered
Registered fulfilled
fulfilled
sentsent
46
Example: activity timeout
Order-to-transportation quote
Once a 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 travel) and estimate the trailer
usage.
By contract, wholesale orders have to be 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.
Solution: activity timeout
Order-to-transportation quote
More on the PO handling example…
PO handling
Handle PO
The customer may send a request for address change after the PO
registration. When such a request is received, it is just registered,
without further action.
49
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.
Must be attached to
the activity’s
boundary
50
Solution: non-interrupting boundary events
PO handling
Handle PO
Customer
address
updated
51
Summary
▪ In this lecture we have learned about:
▪ BPMN sub-processes
▪ Repetition markers: loop marker and parallel multi-instance marker
▪ Events: timer, message and error events
▪ Event-based choice gateway
▪ Boundary events: interrupting and non-interrupting
▪ Error events (throw and catch)
Q&A