Professional Documents
Culture Documents
of Production System
Lesson 07: Process representation – BPMN
diagram
giulia.bruno@polito.it
Business Process Model and Notation
References:
http://fundamentals-of-bpm.org
start end
end
Reject order
activity Items not in
event
Order
stock
rejected
Check stock split gateway
availability
end
Purchase
order
event
Items in
received stock Confirm Emit Archive
Ship goods
start order invoice order
Order
event fulfilled
Naming conventions
• Event: noun + past-participle verb (e.g. order received)
• Activity: imperative verb + noun (e.g. check availability)
Order-to-cash example
Reject order
Items not in
Order
stock
rejected
Check stock
availability
Purchase
order Items in
received stock Confirm Emit Archive
Ship goods
order invoice order
Order
fulfilled
Solution
Reject order
Items not in
Order
stock
rejected
Check stock
availability split Emit invoice
Purchase
order Items in
received stock Confirm Emit Archive
Ship goods
order invoice order
Order
fulfilled
split join
Ship goods
XOR Gateway
Order-to-cash
Reject order
Items not in
stock Order
rejected
Check stock
availability XOR-split Send invoice
Purchase
order Items in
received stock
Archive
Confirm order
order
Order
AND-split AND-join fulfilled
Ship goods
Exercise
XOR-split XOR-join
AND-split AND-join
Solution 2
AND-split AND-join
XOR-split XOR-join
OR Gateway
cond1
Can be:
● Physical or digital information artifacts (e.g.
an order on paper, an invoice on PDF)
● Physical material (e.g. a box containing the
ordered goods)
26
Retrieve client
information
It is used by an activity to store (as
output) or retrieve (as input) data
objects.
27
Send
invoice
Confirm Archive
Items in order order
stock Order
fulfilled
Check stock
Ship goods
availability
Purchase
order Items not in
received stock
Reject order
Order
rejected
Solution
Invoice
Purchase
Purchase
Order
Order
[approved]
Purchase Purchase Send [approved]
Order Order invoice
[checked]
Confirm Archive
Items in order order
stock Order
fulfilled
Check stock
Ship goods
availability
Purchase
order Items not in
received stock
Reject order
Order Orders DB
rejected Shipment
notice
Warehouse DB
Purchase
Order
[rejected]
The purchase order document serves as an input to the stock availability check against the Warehouse
DB. Based on the outcome of this check, the status of the document is updated, either to “approved” or
“rejected”. If the order is approved, an invoice and a shipment notice are produced. The order is then
archived on the Orders DB.
29
Pool
Captures a resource class. Generally used to model a business party (e.g. a
whole company)
Pool
Lane
Captures a resource sub-class within a resource class by partitioning a pool.
Generally used to model departments (e.g. shipping, finance), internal roles
(e.g. Manager, Associate), software systems (e.g. DBMS, CRM) or equipment
(e.g. Manufacturing plant)
Lane
Pool
Lane
Lane
Lane
30
Solution: Order-to-cash
32
Message Flow
Pool 2
Pool 2
Receive
Pool 1
Pool 1
Send Receive
Send
33
Message
Message
received
34
Example Order-to-cash
Exercise
Collapsed
Task
Sub-process
Activities
Court
Administra-
tion
Judiciary
Invoice
= Receive
invoice
received
Invoice
= Send invoice
sent
Invoice
= Send invoice
sent
Temporal events
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
Event-based gateway
quote
RfQfulfilled
sendRfQ
RfQignored
A process instance sends a rfQ (request for
quote) and then waits for the quote.
If it receives the quote within two days, it
ends successfully, otherwise it ends intermediate
unsuccessfully. input message
intermediate
The first event received determines the timer event
process path