Lecture4 ProcessModeling2
Lecture4 ProcessModeling2
Chapter 4:
Advanced Process Modelling
2
Course structure
Process
Week 2
identification
Process
monitoring and Process
controlling analysis
Process Process
implementation redesign
1. Introduction
2. Process Identification
3. Essential Process Modeling
4. Advanced Process Modeling
5. Process Discovery
6. Qualitative Process Analysis
7. Quantitative Process Analysis
8. Process Redesign
9. Process-Aware Information Systems
10.Process Automation
11.Process Monitoring
12.BPM as an Enterprise Capability
BPMN Main Elements - Recap
Activity
Message Association
Gateway
Event
Flow
Data Data
Object Store
Lane
Anything wrong with this model?
Is this better?
7
Identifying sub-processes
Acquire raw materials
• 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
11
Level 1:
Value Chain
+
Level 2: … …
Detailed
Processes
Guideline: Multi-level modeling (cont.)
Block-Structure Repetition
15
1- Sequential Repetition: Loop Activity
Activity loop markers allow us to state that a task or a sub-process may be repeated
multiple times
Task Sub-process
Loop Loop
16
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
18
مثيل متعدد
2- 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 different customers
19
Obtain Quote
from Supplier B
Obtain Quote
from Supplier D
Obtain Quote
from Supplier E
21
Events
Types of event:
• Start
• Intermediate
• End
23
= Receive
invoice
Invoice
received
= Send invoice
Invoice
sent
= Send invoice
Invoice
sent
Receive
Invoice
≠ invoice
received
25
Use message events only when the corresponding activity would simply send or receive a message and
do nothing else
26
Temporal events
Start Intermediate End
Example
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.
The difference between the (XOR-split) and the (event-based XOR-split) is that the (XOR-
split) models an internal choice that is determined by the outcome of a decision activity,
whereas the (event-based XOR-split) models a choice that is determined by the process
environment
30
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
The event-based XOR-split can only be followed by intermediate catching events like a
timer or a message event.
data-driven event-based
XOR-split gateway
1
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.
32
Bonus Question
• At Najah National University Library, the librarian receives a book borrowing request
from one of the students. The librarian checks the availability of the book. If it’s not
available, the librarian notifies the student and the process stops here. If it’s
available, the librarian loans the book to the student. Then, If the student returns
the book, the librarian updates the Books Loan System and the process ends when
librarian returns the book to the shelf. If the student doesn’t return the book within
15 days (allowed borrowing period), the librarian sends a reminder to the student
and Late Returns process is processed and the whole process ends when an action is
taken.
34
Model
35
EXCEPTION
HANDLING
36
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)
37
Exception handling
Handling exceptions often involves stopping a sub-process and performing a special activity
These are called intermediate events
External: something goes wrong outside the process, and the execution of the current activity must be
interrupted. Handled with the Message event. e.g; the customer says cancel my loan application, I took a
loan from another bank. The officer will cancel and will probably archive that application
Internal: something goes wrong inside an activity, whose execution must thus be interrupted. Handled
with the Error event. (it happens from inside the sub-process)
Timeout: an activity takes too long and must be interrupted. Handled with the Timer event. e.g if a sub-
process is still going on after 2 months , then I would just stop it with a timeout exception because it
shouldn’t last for more than 2 months.
All these events are catching intermediate events. They stop the enclosing activity and
start an exception handling routine.
39
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
42
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
44
Throwing and catching
Solution: internal exception error events must have
PO handling the same label
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
The customer may send a request for address change after the PO registration. When
such a request is received, it is registered, without further action.
Handle PO
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
49
Handle PO
Customer
address
updated
Summary