You are on page 1of 48

Analysis and Management

of Production System
Lesson 07: Process representation – BPMN
diagram

Prof. Giulia Bruno

Department of Management and


Production Engineering

giulia.bruno@polito.it
Business Process Model and Notation

● OMG standard (BPMN 2.1)


● Supported by numerous tools: bpmn.org lists over 70 tools
● Both for conceptual and executable models

References:

Marlon Dumas, Marcello La Rosa, Jan Mendling, Hajo Reijers


Fundamentals of Business Process Management
Springer, 2013

http://fundamentals-of-bpm.org

Poster with BPMN symbols:


http://www.bpmb.de/images/BPMN2_0_Poster_EN.pdf
Core elements

Based on popular graphical flowcharts:


- Core set of notation elements
- Each core element has various subtypes

A BPMN process model is a graph consisting of four types of core


elements:

start end

event sequence flow


activity gateway

Events represent the Gateways capture Sequence flows


Activities
process’ triggers (start forking and joining represent the order
capture work
event) and outcomes paths in the control in which activities
performed in a
(end event) flow and events will be
process
performed
Example: order-to-cash

A typical order-to-cash process is triggered by the receipt of


a purchase order from a customer. The purchase order has
to be checked against the stock regarding the availability of
the item(s) requested. Depending on stock availability the
purchase order may be confirmed or rejected.
If the purchase order is confirmed, an invoice is emitted and
the goods requested are shipped. The process completes by
archiving the order.
Solution in BPMN: Order-to-cash

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

[…] If the purchase order is confirmed, an invoice is


emitted and the goods requested are shipped. The
process completes by archiving the order. […]

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

An XOR Gateway captures decision points (XOR-


split) and points where alternative flows are merged
(XOR-join)
condition

XOR-split  takes one outgoing branch


¬ condition

XOR-join  proceeds when one incoming branch


has completed
Example XOR Gateway

Invoice checking process


AND Gateway

An AND Gateway provides a mechanism to


create and synchronize “parallel” flows.

AND-split  takes all outgoing branches

AND-join  proceeds when all incoming


branches have completed
Example AND Gateway

Airport security check


Revised solution

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

Model the following business process fragment for the assessment


of loan applications
After receiving a loan application, the company carries out steps to
decide whether to accept or reject the application. In particular, it
checks the customer's credit history to carry out a risk assessment
and evaluates the properties owned by the customer. If the request
is eligible, the company prepares and sends the document
containing the loan conditions to the client, otherwise it notifies the
rejection of the request and the process ends.
The client must then confirm the acceptance of the conditions by
signing the document and sending it back to the company. The
company then checks the document received: if the customer has
accepted the conditions, it approves the application; if the
customer has not accepted, it cancels the application. In both
cases, the process is completed by notifying the customer of the
status of the request.
Solution
In addition to XOR/AND

Order distribution process

A company has two warehouses, one in Amsterdam, the other in


Hamburg, that store different products. When an order is received, it
is distributed across these warehouses: if some of the relevant
products are maintained in Amsterdam, a sub-order is sent there;
likewise, if some relevant products are maintained in Hamburg, a
sub-order is sent there. Afterwards, the order is registered and the
process completes.
Solution 1

Order distribution process

XOR-split XOR-join

AND-split AND-join
Solution 2

Order distribution process

AND-split AND-join

XOR-split XOR-join
OR Gateway

An OR Gateway provides a mechanism to create


and synchronize n out of m parallel flows.

cond1

OR-split  takes one or more branches


condn
depending on conditions

OR-join  proceeds when all active


incoming branches have completed
Solution using OR Gateway

Order distribution process


Exercise

Extend the business process for evaluating loan applications by


considering the following additional information.

A loan application can be combined with home and car insurance


offered at a discounted price. Based on the information collected
about the customer, the company decides whether to send only the
document containing the loan conditions or also the quotes for
home and/or car insurance. The process then continues with the
verification of the agreement.
Solution
Rework and repetition

Address ministerial correspondence


In the treasury minister’s office, once a ministerial inquiry has been received, it is
registered into the system. Then the inquiry is investigated so that a ministerial
response can be prepared.
The finalization of a response includes the preparation of the response itself by the
cabinet officer and the review of the response by the principal registrar. If the
registrar does not approve the response, the latter needs to be prepared again by
the cabinet officer for review. The process finishes only once the response has been
approved.

XOR-join: entry point XOR-split: exit


point
Exercise

Extend the business process for evaluating loan applications by


considering the following additional information.

Once a loan application has been received, it must be checked for


completeness before it can be assessed. If the application is
incomplete, it is sent back to the customer so that he can fill in the
missing information and resend it. Once the new request with the
additional data is received, the check is repeated until the request is
complete.
Solution
25

Business Objects (artifacts)

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

Business Objects in BPMN

A Data Object captures an artifact required


Purchase
order
Invoice (input) or produced (output) by an activity.
 Can be physical or electronic
Emit
invoice

A Data Store is a place containing data


objects that must be persisted beyond the
Oracle CRM Client info
duration of a process instance.

Retrieve client
information
 It is used by an activity to store (as
output) or retrieve (as input) data
objects.
27

Our Order-to-cash process, again

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

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.
28

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

Resources: Pools and Lanes

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

Resources in the order-to-cash example

The order-to-cash process is carried out by a seller’s organization


which includes two departments: the Sales department and the
Warehouse & Distribution department.
The purchase order received by the Seller has to be checked against
the stock. This is done via an ERP module within the Warehouse &
Distribution department.
If the purchase order is confirmed, the Warehouse & Distribution
department ships the goods. Meantime, the Sales department emits
the invoice. The process concludes with the order being archived by
the Sales department.
14

Solution: Order-to-cash
32

Message Flow

A Message Flow represents a flow of information or materials between


two process parties (Pools) Message

A Message Flow can connect:


• directly to the boundary of a Pool  captures a message to/from that party
• to a specific activity or event within that Pool  captures a message that triggers a
specific activity/event within that party

Pool 2

Pool 2
Receive
Pool 1

Pool 1
Send Receive
Send
33

Start Message Event

The start message event triggers a process by the receipt of a


message when an incoming message flow is connected to the event

Message

Message
received
34

Example Order-to-cash
Exercise

Extend the business process for evaluating loan applications by


adding
- necessary business objects,
- interactions between the company and the customer,
- resources, knowing that the process of assessing loan
applications is carried out by three company functions: a
financial officer analyses the customer's data to set the loan
conditions; an insurance salesman sends out insurance
quotes, if necessary; all other activities are carried out by the
administrative secretary, which is the main point of contact
with the applicant.
Solution
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
Identify possible sub-processes

Acquire raw materials

Ship and invoice


Identify possible sub-processes
The refactored model
Handling events

In BPMN, events model something instantaneous


happening during the execution of a process

They affect the process flow:


 Start
 Intermediate
 End
BPMN 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 Catching

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
Example: message events

Court
Administra-
tion

P&E Court Listings For all Judges

Check P&E Judge Availability

Check Court Request Court Calendar Change P&E


Change Request
Calendar Sittings List Schedules
Court Calendar Sittings List Yearly
Received Received Schedule
Sent

Judiciary

Start event Intermediate Resolve P&E End event


Judge
(receive) catching event Availability (send)
(receive)
Comparison with sending/receiving tasks

Invoice
= Receive
invoice

received

Invoice
= Send invoice

sent

Invoice
= Send invoice

sent
Temporal events

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)
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

weekday Check Send PO


Register PO
Availability Response
PO PO
Received fulfilled
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

data-driven event-driven
XOR-split XOR split
Event-based gateway
quote

RfQfulfilled
sendRfQ

rfQready 2 days later

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

You might also like