Business Process Modelling
Prof. Marcello La Rosa
BPM Discipline
Queensland University of Technology
Quick recap from Week 4
• What is the difference between data objects and data
stores?
• What is the difference between pools and lanes?
© Marcello La Rosa
Process decomposition
and reuse in BPMN
Process decomposition
© Marcello La Rosa 4
Process decomposition
An activity in a process can be decomposed into a “sub-process”
Expanded Sub-process
Collapsed
Task
Sub-process
Activities
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
© Marcello La Rosa 5
Example: Sub-Process
Invoice Process Process
received Invoice Payment
Process Invoice
no
mismatches
Enter Invoice /
Check Invoice
Credit Note
Mismatches
Details
mismatch
exists
Block Invoice
© Marcello La Rosa 6
Identify possible sub-processes
Acquire raw materials
Ship and invoice
© Marcello La Rosa 7
Solution
© Marcello La Rosa 8
The refactored model
© Marcello La Rosa 9
Example: Modelling process hierarchies
Process Receive and
Level 3 Inquiry and Validate ...
Quote Order
Level 4 Enter Order Check Credit ...
Order
received
Clear Order
Credit
Level 5 Check Credit
Record
available
...
Contact
customer
Credit not
available
account rep.
(Fragment of the SCOR reference model)
© Marcello La Rosa 10
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.
Business
process
“is predecessor
of”
© Marcello La Rosa 11
Linking value chains with process models
Process model
for this
process is
available
© Marcello La Rosa 12
When should we use sub-processes?
© Marcello La Rosa 13
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)
© Marcello La Rosa 14
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) Call
activity activity
© Marcello La Rosa 15
Example: process reuse
Call activity is the
default choice to
maximize reusability
© Marcello La Rosa 16
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 sub-process
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
© Marcello La Rosa 17
Example: sub-process with multiple end events
Quote-to-order
© Marcello La Rosa 18
Process
reuse
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) Call
activity activity
© Marcello La Rosa 20
Example: process reuse
Call activity is the
default choice to
maximize reusability
© Marcello La Rosa 21
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 sub-process
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
© Marcello La Rosa 22
Example: sub-process with multiple end events
Quote-to-order
© Marcello La Rosa 23
More on
rework and repetition
More on rework and repetition
XOR-join: entry point XOR-split: exit point
Structured
cycle (SESE
component)
© Marcello La Rosa 25
Block-structured repetition: Activity loop
BPMN also provides the Activity loop construct to allow the
repetition of a task or sub-process
Task Sub-process
Loop Loop
© Marcello La Rosa 26
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
© Marcello La Rosa 27
Loop activity or cycle?
© Marcello La Rosa
Arbitrary Cycles
Arbitrary = unstructured, i.e. it can have multiple entry and exit points
entry point entry point exit point
A B C D
exit point
© Marcello La Rosa 29
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.
© Marcello La Rosa 30
Solution: without multi-instance activity
Procurement
Obtain Quote
from Supplier A
Obtain Quote
from Supplier B
Obtain Quote Select best ...
... Place PO
from Supplier C quote
Obtain Quote
from Supplier D
Obtain Quote
from Supplier E
© Marcello La Rosa 31
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
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
© Marcello La Rosa 32
Solution: with multi-instance activity
Procurement
cardinality
For each supplier
... Select best ...
Obtain Quote Place PO
quote
© Marcello La Rosa 33
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.
© Marcello La Rosa 34
Solution: multi-instance activity
Motor insurance claim lodgement
Data collection
denotes a set of data Multi-instance pool
objects of the same type denotes multiple
(determines cardinality participants of the
of multi-instance activity) same type
Completion condition
indicates minimum
number of instances
required to complete
(≤ cardinality)
© Marcello La Rosa 35
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
Completion
Can be used in an early version of a process diagram condition
when the order of execution is still unknown
Until all KPIs reviewed
© Marcello La Rosa 36
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.
© Marcello La Rosa 37
Solution: ad-hoc sub-process
Army recruitment
© Marcello La Rosa 38
Readings for Week 5
• Dumas M., La Rosa M., Mendling J., Reijers, H. (2013):
Fundamentals of BPM. Chapter 4: 4.1-4.2
© Marcello La Rosa 39
Prof. Marcello La Rosa
IS School Academic Director
(Corporate Programs and Partnerships)
BPM Discipline, IS School
Science & Engineering Faculty
Queensland University of Technology
2 George Street
Brisbane QLD 4000
Australia
p +61 (0)7 3138-9482
e [email protected]
w www.marcellolarosa.com