CH 04 AdvancedProcessModeling
CH 04 AdvancedProcessModeling
Contents
1. More on Rework and Repetition
2. Handling Events
3. Handling Exceptions
4. Processes and Business Rules
5. Recap
Process Modeling in the BPM Lifecycle
Process
Management Processes
Support Processes
Process Process
monitoring analysis
Executable Insights on
process weaknesses and
model their impact
Process Process
implementation To-be process redesign
model
Chapter 4: Advanced Process Modeling
Contents
1. More on Rework and Repetition
2. Handling Events
3. Handling Exceptions
4. Processes and Business Rules
5. Recap
More on rework and repetition
Structured
cycle (SESE
fragment)
SESE = Single Entry Single Exit fragment, i.e. a fragment delimited by a single entry
node and a single exit node (there are no other incoming arcs into the fragment or
outgoing arcs from the fragment)
Block-structured repetition: Loop Activity
BPMN also provides the loop activity construct to allow the repetition of a task or
sub-process
Task Sub-process
Loop Loop
Example: block-structured repetition
Completion
condition
Until Response is approved
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
Loop Activity or (Arbitrary) Cycle?
Arbitrary Cycles
Arbitrary = unstructured, i.e. it can have multiple entry and exit nodes (non-SESE).
A B C D
exit point
8
Exercise 4.1
Identify the entry and exit points that delimit the unstructured cycles in the
process model shown below. What are the repetition blocks?
Model the business process shown below using a loop activity.
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.
10
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
11
Parallel repetition: multi-instance activity
Multi-Instance Multi-Instance
Task Sub-process
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
12
Solution: with multi-instance activity
Procurement
cardinality
For each supplier
13
Further example: multi-instance activity
14
Solution: multi-instance activity
Motor insurance claim lodgement
Multi-instance pool
Data collection denotes multiple
denotes a set of data participants of the
objects of the same type same type
(determines cardinality of
multi-instance activity)
Completion
condition indicates
minimum number of
instances required to
complete
(≤ cardinality)
Our order-to-cash example…
now with pools, messages and MI markers
16
Exercise 4.2
Contents
1. More on Rework and Repetition
2. Handling Events
3. Handling Exceptions
4. Processes and Business Rules
5. Recap
How do we model this scenario?
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.
19
Events handling
20
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.
Prepare
Prepare Contact Hold
callover
callover list parties callover
material
3 weeks prior 1 week prior callover day callover
to callover to callover held
day day
Start Intermediate Intermediate
event catching event catching event
Coming back to our scenario…
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.
Next working day
weekend/
holiday
data-driven event-driven
XOR-split XOR split
24
Example: Event-based decision
25
Exercise 4.6: Stock Renewal
Matching a
data-driven
choice at
Client
What’s wrong with this collaboration diagram?
Auction creation
19
Solution
Auction creation
Exercise 4.7
Fix the following
collaboration diagram.
Recap: message and timer events
Catching Throwing
Contents
1. More on Rework and Repetition
2. Handling Events
3. Handling Exceptions
4. Processes and Business Rules
5. Recap
Process abortion
Exceptions are events that deviate a process from its “normal” course
This can be done via the Terminate end event: it forces the whole
process to abort (“wipes off” all tokens left behind, if any)
33
Example 1: terminate event
34
Example 2: terminate event
35
Exercise 4.8
Boundary Non-
Interrupting
Interrupting
Throwing
Boundary
Catching
Untyped: indicate start point,
state changes or final states.
Compensate: Handling or
triggering compensation.
37
Chapter 4: Advanced Process Modeling
Contents
1. More on Rework and Repetition
2. Handling Events
3. Handling Exceptions
4. Processes and Business Rules
5. Recap
Processes and Business Rules
• Conditional events
39
Example: conditional event
Replenishment order
40
Exercise 4.14
Contents
1. More on Rework and Repetition
2. Handling Events
3. Handling Exceptions
4. Processes and Business Rules
5. Recap
Recap