You are on page 1of 36

Business Process Modelling

-8.2/2013 -

Marcello La Rosa

Queensland University of Technology

Brisbane, 12 September 2013

Mid-semester survey: your words, our actions


Generally, very positive comments. A few notes worth commenting:
1. Too many readings: read the required readings, the others are for
your own culture and interest
2. Use of Signavio: not mandatory
3. Tutorial notes online late: usually on Friday, we will strive to put
them up on Thursday after the class
4. Assignment specification came up too early, content not yet
fully covered: the idea is that you build your report incrementally
rather than being confronted with a lot of content altogether. No selfstudy required. Do not anticipate content!
5. Audio quality poor: AV Support notified.
6. THU 8pm tutorial inconvenient: moved to S502 at 5pm for Weeks
8-12. Week 13 in S503 at 8pm.

INB/INN320 8.2/2011 12 September 2013

Tutorials attendance rate


Raffaele, Eike, Stephan
Time

Mon

9am

Tue

Wed

Thu

Fri

S502 (10)

10am

S518 (10)

11am
12am
1pm

S503 (25),
S506 (10)

S506 (20)

2pm

S507 (20)

3pm

S410 LECT

4pm

S410 LECT

5pm

S502 (35)
NEW!

6pm

7pm
8pm
INB/INN320 8.2/2011 12 September 2013

S503 (30)

S503 (35)
3

Quick Repeat from Week 7

What splits and joins can be represented implicitly in BPMN?


What is a sub-process?
How can we model repetition in BPMN?
What is a multi-instance task?

INB/INN320 8.2/2011 12 September 2013

Uncontrolled Repetition: Ad-hoc sub-process


The ad-hoc sub-process contains activities (tasks or subprocesses) to be executed in arbitrary order and time
May define order of sub-set of activities by sequence flow
Can be used in an early version of a process diagram when
the order of execution is still unknown
Denoted with a tilde marker on the expanded sub-process
notation
Review companys KPIs

INB/INN320 8.2/2011 12 September 2013

Evaluate prior
performance

Assess
financial
stability

Profile
products and
services

Interview
corporate
executives

Example: ad-hoc sub-process


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.

INB/INN320 8.2/2011 12 September 2013

Solution: ad-hoc sub-process

INB/INN320 8.2/2011 12 September 2013

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

INB/INN320 8.2/2011 12 September 2013

Linking value chains with process models

Process model
for this business
process is
available

PO
received

Check stock
availability

Design
product
features
New
product
to be
developed

Consult
stakeholders

Finalize
product
features

Product
developed

Product
in stock

Product
not in stock

Confirm order

Reject order

Order
confirmed

Order rejected

v
Send
invoice

Ship
goods

Invoice
sent

Goods
shipped

Invoice
received
Enter
customer
information
Customer
entered
Enter
purchase
information

Purchase info.
entered

Enter credit
information

Details
entered

INB/INN320 8.2/2011 12 September 2013

BPMN Modelling
- Events Handling -

Event types
Start

Intermediate

End

Untyped Event Indicates that an instance of the


process is created (start) or completed (end),
without specifying the cause for creation/completion

Catch

Start Message Event Indicates that an instance


of the process is created when a message is
received
End Message Event Indicates that an instance of
the process is completed when a message is sent
Intermediate Message Event Indicates that an
event is expected to occur during the process. The
event is triggered when a message is received or
sent
INB/INN320 8.2/2011 12 September 2013

11

Event types (cont.ed)


Start

Intermediate

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)
Intermediate Link Event Indicates that the process flow is
resumed from a previous diagram (represented elsewhere),
or that it continues in a subsequent diagram (represented
elsewhere). Often used as an off-page connector.
INB/INN320 8.2/2011 12 September 2013

12

Message and Timer events


Start
Catching

process
starts upon
message
received

Intermediate
Catching

message
received
during the
process

Throwing

message
sent during
the process

End

Modelling Exceptions

Throwing

process
ends upon
message
sent

Normal
Atomic Task/
Flow
Sub-process

Normal
Flow
task terminates
upon message
received

Exception
Flow

process
starts when
time event
occurs

time event
occurred
(to model delay)

Normal
Atomic Task/
Flow
Sub-process

Normal
Flow
task terminates
when time event
occurs

Exception
Flow

INB/INN320 8.2/2011 12 September 2013

13

Example: message event


Court
Administration

P&E Court

Listings

For all Judges

Check P&E Judge Availability


Check Court
Calendar
Court Calendar
Received

Court Calendar
Change Request

Request
Sittings List
Sittings List
Received

Change P&E
Schedules
Yearly
Schedule
Sent

Judiciary

Start event
(receive)

INB/INN320 8.2/2011 12 September 2013

Intermediate
catching event
(receive)

Resolve P&E
Judge
Availability

End event
(send)

14

Comparison with sending/receiving tasks

Invoice
received

Receive
invoice

Receive
invoice

Send invoice

Send invoice

Is this really the same?

Invoice
received

Invoice
sent

Invoice
sent
INB/INN320 8.2/2011 12 September 2013

15

So, when to use what?


Use message events only when the corresponding activity would simply
send or receive a message and do nothing else

INB/INN320 8.2/2011 12 September 2013

16

Example: timer event

Prepare
Callover List
3 Weeks prior
to Callover

Prepare
Callover
Material

Contact
Parties
1 Week prior
to Callover

Start event

Attend
Callover

Callover Day

Intermediate
catching event

Prepare
Callover
Material

Attend
Callover

2 Hours

Wake-up the
List Manager

INB/INN320 8.2/2011 12 September 2013

Activities must always


have input and output
Sequence Flow
17

Find the bugs

Party

Start Message Events


cannot signal message
sending

Each Pool (white box) must


have one start and one end
event

request warrant release


Small
Claims
Registry
Operations
Retrieve
STC File

File

Distribute
SCT Warrant
Possession

coversheet

Queensland
Police

Normal Flow cannot


be used to pass on
Data Objects

INB/INN320 8.2/2011 12 September 2013

File

Report
Store SCT
Physical File
Awaiting
Report

Retrieve
SCT File

File

Attach SCT
Document

Expanded
File

Store SCT
Physical File

report

Start Timer instead of Intermediate Timer


Timer events cannot be used to wait for messages
Tasks cannot lead only to Exception Flow

18

A possible solution

Party

Request warrant release


Small
Claims
Registry
Operations

Distribute
SCT Warrant
Possession

Retrieve
SCT File

Store SCT
Physical File

coversheet
File

Attach new
SCT
Document

Retrieve
SCT File

Expanded
File
Store SCT
Physical File

report
File

File

Queensland
Police

INB/INN320 8.2/2011 12 September 2013

19

Example: modelling with events

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

Register PO
PO
Received

INB/INN320 8.2/2011 12 September 2013

weekday

Check
Availability

Send PO
Response
PO
fulfilled

20

Example: modelling with events

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.
Anytime after the PO has been registered, the customer
may send a PO change request. When such a PO change
request is received, any processing related to the PO must
be stopped. The PO change request is then registered.
Thereafter, the process proceeds as it would do after a
normal PO is registered.
INB/INN320 8.2/2011 12 September 2013

21

Solution: modelling with events

Handle PO
Next workingNext
day working day
weekend/
holiday

weekend/
holiday

Register PO
PO
Received

weekday

weekday

Check
Availability

Check Send PO
Availability Response

PO
Registered

Send PO
Response
PO
fulfilled

Response
sent

PO
fulfilled

PO Change
received
Register PO
Change

INB/INN320 8.2/2011 12 September 2013

22

Alternative solution

Handle PO

Register PO
PO
Received

Check
Availability
Next
working
day

Send PO
Response
Response
sent

PO
fulfilled

PO Change
received
Register PO
Change

INB/INN320 8.2/2011 12 September 2013

23

Pool 1

Quiz: whats wrong with this model?

Message y

Message z

Message x

Pool 2

c1

C
Not c2

Not c1

INB/INN320 8.2/2011 12 September 2013

c2

24

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

This is why BPMN distinguishes data-driven and event-driven


XOR-splits

data-driven XOR-split
INB/INN320 8.2/2011 12 September 2013

event-driven XOR split


25

Example: event-based decision

Restaurants submit orders to suppliers to replenish their


food stocks every Thursday. The process for completing
an order starts when a restaurant receives either a PO
Response or an error message. However it may also
happen that no response is received at all. If no response
is received by Friday afternoon or if an error message is
received, the purchasing officer should be notified.
Otherwise, the PO Response is processed normally.

INB/INN320 8.2/2011 12 September 2013

26

A possible solution
PO Response
Received

Process PO
Response
Ordering
completed

Error Message
Received

From
Order
submission

INB/INN320 8.2/2011 12 September 2013

Friday
afternoon

Notify
Purchasing
Officer

Ordering
failed
27

Quiz: find the bugs

Send
Questionnaire

Filled
Questionnaire
Received

Send reminder

not Intermediate
Timer Event

INB/INN320 8.2/2011 12 September 2013

After 5 days

28

Solution: event-based decision

Send
Questionnaire

Filled
Questionnaire
Received

Send reminder
After 5 days

INB/INN320 8.2/2011 12 September 2013

29

Pool
1 1
Pool

Remember the quiz from slide 23?

Message y

Message y

Message x

Pool
Pool22

c1

c1

C C

Message z

Not c2 Not c2

Not c1Not c1

INB/INN320 8.2/2011 12 September 2013

Message z

Message x

c2

c2

30

Interlude: multiple start events


The first such event that occurs, will trigger an instance of the process.
PO Response
Received

Process PO
Response
Error Message
Received

Friday
afternoon

INB/INN320 8.2/2011 12 September 2013

Notify
Purchasing
Officer

31

What is this process doing?

good
delivered

From Process Invoice


Relating to PO

POD received

Verify Goods
Delivery
good not
delivered

To Create Goods
Receipt - Centralised

Request Proof
of Delivery
(POD)

From Process Blocked


Invoice Relating to PO
5 working
days

INB/INN320 8.2/2011 12 September 2013

32

Recap: Events
Start

Intermediate

Catching

End

Throwing

Untyped: indicate start point,


state changes or final states.
Message: Receiving and
sending messages.
Timer: Cyclic timer events,
points in time, time spans or
timeouts.
Link: Off-page connectors.
Two corresponding link events
equal a sequence flow.
INB/INN320 8.2/2011 12 September 2013

33

BPMN Poster: get it from blackboard!

INB/INN320 8.2/2011 12 September 2013

34

References
Required
Sections 4.3.2 - 4.4.2 of Chapter 4 of textbook Fundamentals of BPM

Recommended
OMG (2011): BPMN 2.0 Specification
BPM Offensive (2011): BPMN 2.0 Poster
OGM (2010): BPMN 2.0 By Example
Web References
OMG BPM Initiative
BPMN Community
Books on BPMN
Silver B. (2011): BPMN Method & Style 2nd Edition, Cody-Cassidy

INB/INN320 8.2/2011 12 September 2013

35

A/Prof. Marcello La Rosa


IS School Academic Director
(Corporate Programs and Partnerships)
BPM Discipline, IS School
Science & Engineering Faculty
Queensland University of Technology
126 Margaret Street
Brisbane QLD 4000
Australia
p +61 (0)7 3138-9482
e m.larosa@qut.edu.au
w www.marcellolarosa.com

INB/INN320 8.2/2011 12 September 2013