Department
of
Computer
Science
Lab Learning Outcomes
 Model some sample scenarios using
intermediate BPMN concepts
 Pools
 Lanes
 Orchestration
 Collaboration
 Message Flows
 Choreography
 Black & White Box Pools
Slide 1
Department
of
Computer
Science
Pools and Lanes
 A Pool in BPMN notation represents a
participant
 A participant is defined as a business entity
(e.g. a company, a customer, a patient) or a
role (e.g. a buyer, a seller) or a system (e.g.
Ticketing System) that controls or is
responsible for a business process.
 Pools act as containers for the flow objects
that represent a participant’s process.
 Pools can be internal to an organization or
can represent completely separate entities.
Slide 2
Department
of
Computer
Science
Pool example 1
Slide 3
Supplier
Receive
Order
Accepted
or Rejected?
Close Order
Fill Order
Accepted
Rejected
Send Invoice
Ship Order
Accept
Payment
+
The participant is
“Supplier”
Flow objects that
represent the
Supplier’s process
Department
of
Computer
Science
Ticketing
System
Receive ticket
details
Create ticket ID
Display error
message
Ticket
creation or
search?
Creation
Receive Ticket
ID
Search
Do ID search
Ticket
found?
YES
NO
Register ticket
details
Display ticket ID
and description
Pool example 2
Slide 4
The participant is
“Ticketing
System”
Flow objects that
represent the
Ticketing
System’s process
Department
of
Computer
Science
Lanes or swimlanes
 Lanes are used to partition Pools.
 A partition is used to organize and
categorize activities within a Pool.
 Lanes usually represent internal roles
within an organisation (e.g., Manager,
Associate), systems (e.g., an enterprise
application), an internal department
(e.g., shipping, finance), a business
location (e.g., UK, Germany), etc.
Slide 5
Department
of
Computer
Science
Lane example 1
Slide 6
The participant is
the “Supplier”
therefore the Pool
represents the
Supplier
The process has been partitioned to
show which internal departments are
doing which activities – each lane
therefore represents a department
Suplier
Sales/Marketing
Accounts
Operations
Receive
Order
Close Order
Fill Order
Accepted
Rejected
Send Invoice
Ship Order
Accept
Payment
+
Department
of
Computer
Science
Ticketing
System
Ticket
Search
Ticket
Creation
Receive ticket
details
Create ticket ID
Display error
message
Ticket
creation or
search?
Creation
Receive Ticket
ID
Search
Do ID search
Ticket
found?
YES
NO
Register ticket
details
Display ticket ID
and description
Lane example 2
Slide 7
The participant is the
“Ticketing System”
therefore the Pool
represents the
Ticketing System
The process has been partitioned to
show which functions are doing which
activities within the system – each
lane therefore represents a function
Department
of
Computer
Science Three categories of BPMN
business processes
 Orchestration
 Collaboration
 Public (abstract)
Slide 8
Department
of
Computer
Science Three categories of BPMN
business processes (Our labs)
 Orchestration
 Collaboration
 Collaborations
 Choreographies
 Public (abstract)
Slide 9
Department
of
Computer
Science
Orchestration
 What they are:
 The business process as seen from the point of view of a
single business entity.
 The flow objects represented are internal to a specific
participant.
 Used for documenting process behaviour.
 Also called workflow diagrams.
 Many of the examples looked at so far are orchestrations.
 How they are represented:
 On their own without lanes or pools
 Within one Pool
 Within one Pool with Lanes
 Within one Pool with interaction with a black box Pool
Slide 10
Department
of
Computer
Science
Orchestration Examples 1 & 2
Slide 11
Receive
Application
Form
Do Credit Check
Credit
Check OK?
Issue Credit
Card
Refuse Credit
Card
YES
NO
Credit
Card
Company
Receive
Application
Form
Do Credit Check
Credit
Check OK?
Issue Credit
Card
Refuse Credit
Card
YES
NO
The orchestration
on its own
The orchestration within a
pool. An orchestration can
only be represented within
ONE pool
1.
2.
Department
of
Computer
Science
Orchestration Example 3
Slide 12
An orchestration within a
pool with lanes
Suplier
Sales/Marketing
Accounts
Operations
Receive
Order
Close Order
Fill Order
Accepted
Rejected
Send Invoice
Ship Order
Accept
Payment
+
3.
Department
of
Computer
Science
Suplier
Sales/Marketing
Accounts
Operations
Buyer
Receive
Order
Close Order
Fill Order
Accepted
Rejected
Send Invoice
Ship Order
Accept
Payment
Orchestration Example 4
Slide 13
An orchestration within one pool with lanes including interaction with a
black box pool
4.
A black box pool
A message flow
Department
of
Computer
Science
Message Flows
 A message flow is a connector like a sequence flow
but it occurs only between Pools, i.e. only to show
the interaction between participants in a process.
 Sometimes message flows are labelled with the
particular interaction
Slide 14
This is the symbol
for the message flow
connector
This is a message
flow connector with
a label
Appointment Request
Department
of
Computer
Science
Collaboration diagrams
 Collaboration
 Shows the participants in a process and their
interactions.
 This means a collaboration diagram usually has
more than one Pool.
 A white box Pool is one in which there are flow
objects representing a participant’s process.
 A black box Pool is one in which the participant’s
process is hidden.
 Choreography
 The sequence of interactions taking place
between participants.
Slide 15
Department
of
Computer
Science
Collaboration Example 1
Slide 16
Patient
Doctor’s
Office
Request
Doctor’s
Appointment
Receive
Appointment
Relate
Symptoms
Receive
Prescription
Script
Request
Medicine
Receive
Medicine
Receive
Appointment
Request
Make
Appointment
Diagnose
Symptoms
Prepare
Prescription
Send
Prescription
Receive
Medicine
Request
Send
Medicine
Illness
Occurs
This collaboration
shows the activities
involved in a patient
seeking treatment
from a doctor’s
surgery.
Both of the participants’
processes are visible in
this collaboration, thus
they are white box
pools.
The collaboration
depicts the two pools
representing the two
participants and the
activities within the
pools.
Department
of
Computer
Science
Collaboration Example 2
Slide 17
Patient
Doctor’s
Office
Receive
Appointment
Request
Make
Appointment
Diagnose
Symptoms
Prepare
Prescription
Send
Prescription
Receive
Medicine
Request
Send
Medicine
Slide 17
This collaboration is
similar to the previous
one in which the
patient seeks
treatment at the
doctor’s surgery.
The pool without
activities represented is
called a black box pool.
The message flows only
go to the boundary of a
black box pool.
The collaboration
depicts two pools, but
only one has the
activities within the pool
represented.
Department
of
Computer
Science
Collaboration Example 3
Slide 18
Slide 18
The same
collaboration but with
2 black box pools
The message flows are
labelled to indicate what
is happening between
the participants
Patient
Doctor’s
Office
Appointment Request Appointment Confirmation Prescription Sent Medicine Request Medicine Sent
Department
of
Computer
Science
Collaboration options
 Collaboration diagrams can show interactions:
1. between separate business entities e.g. the Doctor’s
Office and the Patient OR
2. within one business entity such as departments, teams or
even single employees and software systems
 The representation is dependent on the purpose of
the model:
 Showing interactions between the business entity as a
whole and an external customer (option 1 above)
 Showing communication between the entities in the
organization and their interactions (option 2 above)
 Option 2 can also be called an organizational
collaboration since it represents processes within an
organization Slide 19
Department
of
Computer
Science
Organizational Collaboration
Slide 20
This collaboration depicts the
communication between
departments within an
organization for one process.
Compare with the
orchestration on slide 14.
Sales/Marketing
Operations
Function
Receive
Order
ACCEPTED
Request Order
Fulfilment
Fill Order
Ship Order
Request
Invoicing
Send Invoice
Accept
Payment
Close Order
REJECTED
Order fulfilment
request
received
Invoice request
received
Order
completed
Order fulfilment
complete
Department
of
Computer
Science
Choreography Example
Slide 21
Patient
Doctor’s
Office
Request
Doctor’s
Appointment
Receive
Appointment
Relate
Symptoms
Receive
Prescription
Script
Request
Medicine
Receive
Medicine
Receive
Appointment
Request
Make
Appointment
Diagnose
Symptoms
Prepare
Prescription
Send
Prescription
Receive
Medicine
Request
Send
Medicine
Illness
Occurs
This choreography represents the sequence
of interactions between the two
participants: in this case, the patient and
the doctor’s office.
Department
of
Computer
Science
Choreography Explained
Slide 22
Patient
Doctor’s
Office
Request
Doctor’s
Appointment
Receive
Appointment
Relate
Symptoms
Receive
Prescription
Script
Request
Medicine
Receive
Medicine
Receive
Appointment
Request
Make
Appointment
Diagnose
Symptoms
Prepare
Prescription
Send
Prescription
Receive
Medicine
Request
Send
Medicine
Illness
Occurs
This part of the
choreography is the
establishment of an
appointment with the
doctor.
This part of the
choreography is the
interaction that
determines a
diagnosis.
These 2 parts of
the choreography
represent obtaining
the medicine
prescribed.
This part of the
choreography is the
prescription of
treatment.
Department
of
Computer
Science
Choreography Diagram
Slide 23
Request
Appointment
Patient
Doctor’s Office
Make
Appointment
Patient
Doctor’s Office
Patient feels ill
Appointment
confirmation
Provides
appointment
slot
Relate
Symptoms
Patient
Doctor’s Office
Set of
symptoms
Illness
diagnosis
Send
Prescription
Patient
Doctor’s Office
Prescribes
medicine
Request
Medicine
Patient
Doctor’s Office
Presents
prescription
Send Medicine
Patient
Doctor’s Office
Provides
medication
Each element of
the choreography
diagram represents
a point of
interaction
between the
participants
There is a
distinction between
the side that
initiates the
messages and the
side that receives
The messages
between the
participants are
also differentiated
depending on
whether they are
sent or received
Choreographies
can be depicted on
their own as in this
diagram or can be
shown between
Pools
Department
of
Computer
Science
Public Processes
 What they are:
 Interactions between a private business process
and another process or a participant
 Only those activities that are points of interaction
between the entities are shown, other details are
hidden
 How they are represented:
 By collaboration diagrams
 Can be drawn side by side with more detailed
private diagrams
 Can be further translated into choreographies
Slide 24
Department
of
Computer
Science
Public Diagram Example
Slide 25
Patient
Doctor’s
Office
Request
Doctor’s
Appointment
Receive
Appointment
Relate
Symptoms
Receive
Prescription
Script
Request
Medicine
Receive
Medicine
Receive
Appointment
Request
Make
Appointment
Diagnose
Symptoms
Prepare
Prescription
Send
Prescription
Receive
Medicine
Request
Send
Medicine
Illness
Occurs
This part of the
collaboration is
private and will be
removed to depict a
Public Process
Department
of
Computer
Science
Public Diagram Example
Slide 26
Patient
Doctor’s
Office
Request
Doctor’s
Appointment
Receive
Appointment
Relate
Symptoms
Receive
Prescription
Script
Request
Medicine
Receive
Medicine
Receive
Appointment
Request
Make
Appointment
Diagnose
Symptoms
Send
Prescription
Receive
Medicine
Request
Send
Medicine
Illness
Occurs
Only interactions (tasks/events
and message flows) between the
two participants are now shown
Department
of
Computer
Science
Public Diagram Example 2
Slide 27
Buyer
Supplier
Receive
Order
Send Invoice
Ship Order
Accept
Payment
This public diagram depicts the
interactions between supplier and
buyer participants. Compare
with the private diagram on slide
15.

Lec4.ppt

  • 1.
    Department of Computer Science Lab Learning Outcomes Model some sample scenarios using intermediate BPMN concepts  Pools  Lanes  Orchestration  Collaboration  Message Flows  Choreography  Black & White Box Pools Slide 1
  • 2.
    Department of Computer Science Pools and Lanes A Pool in BPMN notation represents a participant  A participant is defined as a business entity (e.g. a company, a customer, a patient) or a role (e.g. a buyer, a seller) or a system (e.g. Ticketing System) that controls or is responsible for a business process.  Pools act as containers for the flow objects that represent a participant’s process.  Pools can be internal to an organization or can represent completely separate entities. Slide 2
  • 3.
    Department of Computer Science Pool example 1 Slide3 Supplier Receive Order Accepted or Rejected? Close Order Fill Order Accepted Rejected Send Invoice Ship Order Accept Payment + The participant is “Supplier” Flow objects that represent the Supplier’s process
  • 4.
    Department of Computer Science Ticketing System Receive ticket details Create ticketID Display error message Ticket creation or search? Creation Receive Ticket ID Search Do ID search Ticket found? YES NO Register ticket details Display ticket ID and description Pool example 2 Slide 4 The participant is “Ticketing System” Flow objects that represent the Ticketing System’s process
  • 5.
    Department of Computer Science Lanes or swimlanes Lanes are used to partition Pools.  A partition is used to organize and categorize activities within a Pool.  Lanes usually represent internal roles within an organisation (e.g., Manager, Associate), systems (e.g., an enterprise application), an internal department (e.g., shipping, finance), a business location (e.g., UK, Germany), etc. Slide 5
  • 6.
    Department of Computer Science Lane example 1 Slide6 The participant is the “Supplier” therefore the Pool represents the Supplier The process has been partitioned to show which internal departments are doing which activities – each lane therefore represents a department Suplier Sales/Marketing Accounts Operations Receive Order Close Order Fill Order Accepted Rejected Send Invoice Ship Order Accept Payment +
  • 7.
    Department of Computer Science Ticketing System Ticket Search Ticket Creation Receive ticket details Create ticketID Display error message Ticket creation or search? Creation Receive Ticket ID Search Do ID search Ticket found? YES NO Register ticket details Display ticket ID and description Lane example 2 Slide 7 The participant is the “Ticketing System” therefore the Pool represents the Ticketing System The process has been partitioned to show which functions are doing which activities within the system – each lane therefore represents a function
  • 8.
    Department of Computer Science Three categoriesof BPMN business processes  Orchestration  Collaboration  Public (abstract) Slide 8
  • 9.
    Department of Computer Science Three categoriesof BPMN business processes (Our labs)  Orchestration  Collaboration  Collaborations  Choreographies  Public (abstract) Slide 9
  • 10.
    Department of Computer Science Orchestration  What theyare:  The business process as seen from the point of view of a single business entity.  The flow objects represented are internal to a specific participant.  Used for documenting process behaviour.  Also called workflow diagrams.  Many of the examples looked at so far are orchestrations.  How they are represented:  On their own without lanes or pools  Within one Pool  Within one Pool with Lanes  Within one Pool with interaction with a black box Pool Slide 10
  • 11.
    Department of Computer Science Orchestration Examples 1& 2 Slide 11 Receive Application Form Do Credit Check Credit Check OK? Issue Credit Card Refuse Credit Card YES NO Credit Card Company Receive Application Form Do Credit Check Credit Check OK? Issue Credit Card Refuse Credit Card YES NO The orchestration on its own The orchestration within a pool. An orchestration can only be represented within ONE pool 1. 2.
  • 12.
    Department of Computer Science Orchestration Example 3 Slide12 An orchestration within a pool with lanes Suplier Sales/Marketing Accounts Operations Receive Order Close Order Fill Order Accepted Rejected Send Invoice Ship Order Accept Payment + 3.
  • 13.
    Department of Computer Science Suplier Sales/Marketing Accounts Operations Buyer Receive Order Close Order Fill Order Accepted Rejected SendInvoice Ship Order Accept Payment Orchestration Example 4 Slide 13 An orchestration within one pool with lanes including interaction with a black box pool 4. A black box pool A message flow
  • 14.
    Department of Computer Science Message Flows  Amessage flow is a connector like a sequence flow but it occurs only between Pools, i.e. only to show the interaction between participants in a process.  Sometimes message flows are labelled with the particular interaction Slide 14 This is the symbol for the message flow connector This is a message flow connector with a label Appointment Request
  • 15.
    Department of Computer Science Collaboration diagrams  Collaboration Shows the participants in a process and their interactions.  This means a collaboration diagram usually has more than one Pool.  A white box Pool is one in which there are flow objects representing a participant’s process.  A black box Pool is one in which the participant’s process is hidden.  Choreography  The sequence of interactions taking place between participants. Slide 15
  • 16.
    Department of Computer Science Collaboration Example 1 Slide16 Patient Doctor’s Office Request Doctor’s Appointment Receive Appointment Relate Symptoms Receive Prescription Script Request Medicine Receive Medicine Receive Appointment Request Make Appointment Diagnose Symptoms Prepare Prescription Send Prescription Receive Medicine Request Send Medicine Illness Occurs This collaboration shows the activities involved in a patient seeking treatment from a doctor’s surgery. Both of the participants’ processes are visible in this collaboration, thus they are white box pools. The collaboration depicts the two pools representing the two participants and the activities within the pools.
  • 17.
    Department of Computer Science Collaboration Example 2 Slide17 Patient Doctor’s Office Receive Appointment Request Make Appointment Diagnose Symptoms Prepare Prescription Send Prescription Receive Medicine Request Send Medicine Slide 17 This collaboration is similar to the previous one in which the patient seeks treatment at the doctor’s surgery. The pool without activities represented is called a black box pool. The message flows only go to the boundary of a black box pool. The collaboration depicts two pools, but only one has the activities within the pool represented.
  • 18.
    Department of Computer Science Collaboration Example 3 Slide18 Slide 18 The same collaboration but with 2 black box pools The message flows are labelled to indicate what is happening between the participants Patient Doctor’s Office Appointment Request Appointment Confirmation Prescription Sent Medicine Request Medicine Sent
  • 19.
    Department of Computer Science Collaboration options  Collaborationdiagrams can show interactions: 1. between separate business entities e.g. the Doctor’s Office and the Patient OR 2. within one business entity such as departments, teams or even single employees and software systems  The representation is dependent on the purpose of the model:  Showing interactions between the business entity as a whole and an external customer (option 1 above)  Showing communication between the entities in the organization and their interactions (option 2 above)  Option 2 can also be called an organizational collaboration since it represents processes within an organization Slide 19
  • 20.
    Department of Computer Science Organizational Collaboration Slide 20 Thiscollaboration depicts the communication between departments within an organization for one process. Compare with the orchestration on slide 14. Sales/Marketing Operations Function Receive Order ACCEPTED Request Order Fulfilment Fill Order Ship Order Request Invoicing Send Invoice Accept Payment Close Order REJECTED Order fulfilment request received Invoice request received Order completed Order fulfilment complete
  • 21.
  • 22.
    Department of Computer Science Choreography Explained Slide 22 Patient Doctor’s Office Request Doctor’s Appointment Receive Appointment Relate Symptoms Receive Prescription Script Request Medicine Receive Medicine Receive Appointment Request Make Appointment Diagnose Symptoms Prepare Prescription Send Prescription Receive Medicine Request Send Medicine Illness Occurs Thispart of the choreography is the establishment of an appointment with the doctor. This part of the choreography is the interaction that determines a diagnosis. These 2 parts of the choreography represent obtaining the medicine prescribed. This part of the choreography is the prescription of treatment.
  • 23.
    Department of Computer Science Choreography Diagram Slide 23 Request Appointment Patient Doctor’sOffice Make Appointment Patient Doctor’s Office Patient feels ill Appointment confirmation Provides appointment slot Relate Symptoms Patient Doctor’s Office Set of symptoms Illness diagnosis Send Prescription Patient Doctor’s Office Prescribes medicine Request Medicine Patient Doctor’s Office Presents prescription Send Medicine Patient Doctor’s Office Provides medication Each element of the choreography diagram represents a point of interaction between the participants There is a distinction between the side that initiates the messages and the side that receives The messages between the participants are also differentiated depending on whether they are sent or received Choreographies can be depicted on their own as in this diagram or can be shown between Pools
  • 24.
    Department of Computer Science Public Processes  Whatthey are:  Interactions between a private business process and another process or a participant  Only those activities that are points of interaction between the entities are shown, other details are hidden  How they are represented:  By collaboration diagrams  Can be drawn side by side with more detailed private diagrams  Can be further translated into choreographies Slide 24
  • 25.
    Department of Computer Science Public Diagram Example Slide25 Patient Doctor’s Office Request Doctor’s Appointment Receive Appointment Relate Symptoms Receive Prescription Script Request Medicine Receive Medicine Receive Appointment Request Make Appointment Diagnose Symptoms Prepare Prescription Send Prescription Receive Medicine Request Send Medicine Illness Occurs This part of the collaboration is private and will be removed to depict a Public Process
  • 26.
    Department of Computer Science Public Diagram Example Slide26 Patient Doctor’s Office Request Doctor’s Appointment Receive Appointment Relate Symptoms Receive Prescription Script Request Medicine Receive Medicine Receive Appointment Request Make Appointment Diagnose Symptoms Send Prescription Receive Medicine Request Send Medicine Illness Occurs Only interactions (tasks/events and message flows) between the two participants are now shown
  • 27.
    Department of Computer Science Public Diagram Example2 Slide 27 Buyer Supplier Receive Order Send Invoice Ship Order Accept Payment This public diagram depicts the interactions between supplier and buyer participants. Compare with the private diagram on slide 15.