About the Author
Gregor Polančič is an assistant professor at the University of Maribor, Slovenia. He received his PhD in 2008 in the fields of softwareengineering and information systems. He has a decade of experience in BPMN, starting to investigate and actively use BPMN since itsfirst version in 2004. He has participated in the development of one of the first BPMN modeling utilities - a package of plugins for Visio,which were introduced in 2004 and is the main author of the first BPMN poster, which has been translated into several languages andalready exceeded 50.000 downloads. In 2008, he was one of the first authors who published an article, dedicated to the experiences andpractical use of BPMN. The article was published in ‘BPM and Workflow Handbook’ in association with the Workflow ManagementCoalition (WfMC). Gregor Polančič is teaching BPMN and BPM since 2005 in several undergraduate and postgraduate courses and hasbeen an invited BPMN lecturer on several Universities. He has participated in several BPMN related local and international workshopsand projects and is currently researching BPMN from different technological and user aspects. Gregor Polančič is also owner of theinternational certificate Certified Business Process Professional for Higher Education Institutions. Gregor Polančič is periodically authoringfor Orbus Software and blogging as well preparing learning materials for Good e-learning.
http://www.linkedin.com/in/gregorpolancic
This work is licensed under a Creative Commons Attribution-Non Commercial-No Derivatives 4.0 International License.
For commercial use or services, please contact the author.
Content
• The basics of business processes and BPMN
• Basic set of process modeling elements
• Full set of process modeling elements
• BPMN beyond process modeling
3
THE BASICS OF BUSINESS PROCESSES AND BPMN
Business Process Modeling with BPMN 2.0
4
What is a Business Process?
• A business process consist of a set of activities that are performed in coordination in an organizational and technical environment. These activities jointly realize a business goal (product or service).
• Each business process is enacted by a single organization, but it may interact with business processes performed by other organizations.
Realizes
Product or service
Business process
5(Weske 2012)
Should you Care about Business Processes?
• Yes, because each organization produces something or services somebody.
• So, each company runs processes, howeveronly some companies are aware of them. Don’t agree? Try to find a counterexample!
• Did you know that business processes are organizational assets that are central to creating value for customers?
Customer service
Engineering
Manufacturing
Marketing
Packaging
Quality assuranceSalesShipping
Examples of business processes6
What Kind of Assets are Business Processes?
7
Tangible assets Intangible assets
Material,Machines,Infrastructure,Money,…
Knowledge,Relationships,Processes,Information,…
These are organization’s resources. These are organization’s capabilities.
Resources can be acquired. Capabilities CANNOT be acquired. They have to be evolved.
• The product or service of an organization depends mainly on how capabilities use (develop, deploy and coordinate) resources.
(Orand 2011)
Are you Aware of Business Processes?
Process AWARE company
• A simple approach to evolve (i.e. improve) processes:1. If you are aware of processes you can
identify them.
2. If you can identify processes youcan analyze them.
3. If you can analyze processes, youcan evolve (i.e. improve) them.
Process UNAWARE company
• Any ideas how to evolve processes?
8
Deming (PDCA) circle
?
How Can we Work with Processes? With Modeling.
• Can we ‘touch’ a process? No, it actually exists only in our minds.
• So, we have to indirectly work with a process.
• The best way of working with a process is to model it.
9
Help desk center in a real world Help desk process model
Transformation of a real-world business process into a process model.
Benefits of Process Modeling
• Representation of processes.
• Analysis of processes.
• Continuous improvement of processes.
• A basis for IT support.
• A solid basis for process management.
Plan: modelprocesses
Do: perform processes
Check: monitor processes
Act: adjust processes
10
Deming (PDCA) circle
Which „Modeling Language“ Should be Used?
• Process models are commonly used for communication between co-workers, customers or business partners.
• Besides, processes are commonly modeled, performed on computers in a collaborative environment.
• These requires a common - standardized modeling language.
11
Computers and humans can effectively communicate and collaborate in case of a common (process modeling) language.
What We Have Learned so Far …
• Each company runs business processes.
• Business processes are organizational assets that are central to creating value for customers.
• In order to stay competitive, a company needs to continuously improve the processes.
• Processes are intangible, so we cannot manage them directly. An effective way to work with processes is to model them.
• To take the full potential out of process modeling, a standardized process modeling language should be used. This enables interoperability, communication and collaboration.
12
= BPMN
What is BPMN?
• Business Process Model and Notation– Business Process - A collection of related, structured
activities or tasks that produce a specific service or product for a particular customer.
– Model –a representation of a business process.
• Visual proces model – process diagram
• Non-visual proces model (e.g. executable process model)
– Notation – a set of elements (language) + rules used for representing a business process in a business process model (diagram).
13
Customer requestBusiness process
Process outcome
Task Task Task
Task
Content for the model
‚Alphabet‘ for the model
The current BPMN version is 2.0.2, released in January 2014.
Why BPMN?
Standardized. The de-facto & ISO/IEC 19510:2013 standard in process modeling.
Open. Created and controlled in an open and fair process.
Simple & complete. Can be used in a simple or detailed way.
Learnable. Based on previous notations.
Interchangeable. Capable of being interchanged between IT solutions.
Executable. Capable of being automated.
14
Standardization enables communication.
Openness enables transparency and democracy.
Simplicity and learnability enable acceptance and popularity.
Interoperability enables humans and IT collaboration.
Automation improves process’s efficiency and consistency.
Primary Goal of BPMN
• “The primary goal of BPMN is to provide a notation that is readily understandable by all business users /…/. Thus, BPMN creates a standardized bridge for the gap between the business process design and process implementation.”
15BPMN model
Real-world business process
New request
Receive request
Analyze request
Approve request
Reject request
RejectApprove
Requestapproved
Requestrejected
Processmodeler
Processowner
Processparticipants
IT engineer
BPMN 2.0Page 1
In Scope of BPMN
Business process modeling
• Diagrams (e.g. process diagrams, collaboration diagrams).
• Syntax, semantics and visual appearance for process elements (e.g. events, activities and gateways).
• Attributes and properties of the semantic elements represented by the graphical process elements.
• Formats for exchanging diagrams.
Business process execution
• Execution semantics.
• Formats for exchanging executable models.
• Support for BPMN and BPEL process engines.
16
BPMN 2.0Page 1-12
Focus of these slides
Introduced in these slides
Out-of-Scope of BPMN
• BPMN is constrained to support only the concepts of modeling that are applicable to business processes.
• Out of scope, but related domains are:
– Definition of organizational models and resources.
– Modeling of functional breakdowns.
– Data and information models.
– Modeling of strategy.
– Business rules models.
17
BPMN 2.0Page 22
Business rules
Data models
Organizational structures
Purposes of BPMN Use
18
Conformance type Diagram types Diagram elements Execution
Process modeling Process, collaboration, conversation.
Full process modeling conformance.
Not available.
Process execution with BPMN
Not available. Not available. Process diagrams.
Process executionwith BPEL
Not available. Not available. Process diagrams.
Choreography Choreography andcollaboration (partially).
Choreography diagram elements and some basic process elements.
Choreography.
BPMN Conformance types define formal purposes of the use of BPMN and the corresponding softwareimplementations. These slides focus on process modeling conformance.
BPMN 2.0Page 12
Focus of these slides
What is a BPMN Diagram?
• A BPMN diagram is actually a visual sentence expressed in BPMN notation. Similar to natural languages a notation (i.e. visual language) consists of a vocabulary, syntax and semantics.
19
BPMN notation
BPMN vocabulary
BPMN syntax
BPMN semantics
Expressed in
BPMN 2.0 diagram
Set of BPMN (visual) elements
(i.e. symbols).
Set of BPMN rules for
combining BPMN elements.
The meaning of BPMN elements
and their combinations.
BPMN Diagram Types
• BPMN is designed to cover many types of modeling and allows the creation of ‚end-to-end‘ business processes.
• There are three basic types of sub-models within an ‚end-to-end‘ BPMN model:– Processes
– Choreographies (not part of process modeling conformance)
– Collaborations
20
The majority of examples on the following slides is
related to online store processes.
BPMN 2.0Page 22-23
BPMN Process Diagrams
• In BPMN a process is depicted as a graph of flow elements (i.e. activities, events, gateways) and sequence flows that define finite execution semantics.
21
Private (internal) processes -
represent a specific process
(orchestration) in an organization.
Can be executable or non-executable
Public process - represents interactions between a private business process and another process or participant.
BPMN 2.0Page 23,150
An executable process is modeled for the purpose of being executed.
A non-executable process modeled for the purpose of documenting process behavior at a modeler-defined level of detail.
Start shopping
Complete order online
Order ready notification
Type of delivery?
Takeover
Delivery
Request takeover
Request delivery
Customer goes to the store at his convenience
Shopping complete
Order delivered
Start shopping
Complete order online
Order ready notification
Type of delivery?
Takeover
Delivery
Request takeover
Request delivery
Customer goes to the store at his convenience
Shopping complete
Order delivered
Store
Order requestOrder available
Takeover
DeliveryOrder
delivery
Ready for takeover
Processes can be defined at any level: from enterprise-wide processes to processes performed by a single person.
Only those activities that are used to communicate to other participants are included in the public process.
BPMN Collaboration Diagrams
• A collaboration represents the interactions between two or more business entities (e.g. processes).
• A collaboration usually contains two or more pools (black-box or white-box), representing the participants in the collaboration.
• The message exchange between the participants is shown by a message flow that connects two pools (or the elements within the pools).
22
BPMN 2.0Page 24
Home
Store
Distribution center
Order Product request Product deliveryOrder delivery
Collaboration model with white-box pools
(i.e. visible details)
Collaboration model with black-box pools (i.e. hidden
details)
Hom
eSt
ore
Dis
trib
uti
on c
ente
r
Start shopping
Complete order online
Order request
New order received
Check product availability
All producs in stock?
YESSend order availability notification
NO
Contact distribution
center
Products available
Deliver order
Hold order
Deliver order
Complete transaction
Order ready notification
Type of delivery?
Takeover
Delivery
Request takeover
Request delivery
DeliveryTakeover
Customer goes to the store at his convenience
Shopping complete
Order available
New product requested
Transfer product to store
Product delivered
Delivery notification
Transaction completed
Order delivery
Order delivered
Readyfor takeover
Customer at the store
Request product
BPMN Collaboration Diagram Example
23
A customer starts shopping and completes order online. The order is sent to Store. Then the customer
waits for a notification that the product is ready. Based on preferred type of delivery (takeover or delivery) the
customer receives or gets the desired product.
When the store receives a new order it checks for products availability. In case a product is not in stock, it contacts distribution center. When all order‘s products are available the customer is notified that the product
is ready. Based on preferred type of delivery, the product is delivered to customer and the transaction
completes.
In case of a new product request, the desired product is delivered to requesting store.
Message flows are used for between-process interactions and synchronization.
Cust
omer
Stor
eD
istr
ibu
tion
cen
ter
Start shopping
Complete order online
Order request
New order received
Check product availability
All producs in stock?
YESSend order availability notification
NO
Contact distribution
center
Products available
Deliver order
Hold order
Deliver order
Complete transaction
Order ready notification
Type of delivery?
Takeover
Delivery
Request takeover
Request delivery
DeliveryTakeover
Customer goes to the store at his convenience
Shopping complete
Order available
New product requested
Transfer product to store
Product delivered
Delivery notification
Transaction completed
Order delivery
Order delivered
Readyfor takeover
Customer at the store
Request product
BPMN Conversation Diagrams
• A conversation diagram provides an overview of which partners of a certain domain co-operate on which tasks.
• Conversation diagrams represent a specific (i.e. top level) ‘view’ of collaboration diagrams.
• Conversation diagrams use simplenotation: participants, conversation nodes (hexagons) and conversation links (i.e. a series of message exchanges).
24
BPMN 2.0Page 26
Conversation nodes and links are used
only in conversation diagrams.
Conversation nodes (i.e. topic of conversation) are
actually collections of message flows.
Conversation participant.
BPMN Choreography Diagrams
• Choreography models are NOT part of process modelling conformance.
• Choreographies are new in BPMN 2.0 and focus on between-processes interactions and message flows.
• A choreography diagram can be used to analyse how participants exchange information to coordinate their interactions.
• Another way to look at choreography is to view it as a type of business ‘contract’ between two or more organizations.
25
BPMN 2.0Page 25
Complete order online
Start shopping
Check product availability
Type of delivery
Takeover
Delivery
Go to the store
Deliver order
Complete transaction
Shopping complete
Customer Customer
Customer
Customer
Store Store
Store
StoreCustomer
Store
Order
Order availability statusOrder confirmationOrder complete confirmation
Order sent
Order received confirmation
Choreographies exist between pools (e.g.
participants, organizations).
Choreography tasks are used only in choreography
diagrams.
Common Use of Different BPMN Diagrams
26
Choreography model within Process 1 – Process
2 collaboration model.
Process model for Process 1.
Collaboration between Process 1 and Participant 1.
Conversation model between Participant 1 and
2.
Message exchanges in Process 1 - Process 3
collaboration.
Conversation link to Process 1 event.
Black-box process 2.
Conversation between Participant 2 and Process 1.
Process model for Process 3.
BPMN 2.0Page 133, 138
Pro
cess
1
Task 1 Task 2
Participant 1
Conversation 1Conversation 2
Participant 2
Process 2
Task 1 Task 2
Pro
cess
3
Task
BPMN Process Modeling Elements
• BPMN diagrams are ‘graphs’ of BPMN elements.
• BPMN elements have defined:– Syntax – rules about how to use BPMN elements in BPMN diagrams.
– Semantics – meaning of BPMN elements.
• BPMN elements may have:– Visual representation.
– Visual and non-visual attributes.
27
Categories of (visual) BPMN
elements
Data Connections Flow objects
Events Activities Gateways
Swimlanes Artifacts
Comment
BPMN 2.0Page 27-28
Visible elements and attributes
Non-visible elements and attributes
Classes of BPMN Elements
• The full set of BPMN process modeling elements is additionally divided into three subclasses:– Descriptive subclass of elements is concerned with visible
elements and attributes used in high-level modeling. It should be comfortable for majority of process analysts.
– Analytic subclass of elements is concerned with visible elements and attributes used in detailed process modeling. Includes all elements from the descriptive level and about half of all process modeling elements.
– Common executable subclass of elements focuses on what is needed for executable process models. The palette of elements is between descriptive and analytical, but includes attributes related to executable details.
28
BPMN 2.0Page 2
(Silver 2011)
Full class
Analytical subclass
Common executable subclass
Descriptive subclass
BPMN in a Process Architecture
• A process architecture represent a hierarchically (i.e. process abstraction levels) and horizontally (i.e. relationships between processes) organized system of an organization’s business process models.
29
Process landscapediagrams
Strategic process diagrams
Operational process diagrams
Used for representing an overview of organizational processes and their relationships. Partially supported by BPMN (i.e.
Conversation diagrams).
Used for a conceptual overview of individual business processes. Supported by BPMN with the use of descriptive set
of BPMN elements.
Used for detailed business process descriptions (i.e. workflows) intended for (technical or human) operation. Supported by
BPMN with the use of the full set of BPMN elements.
Process architecture levels
BASIC SET OF PROCESS MODELING ELEMENTS
Business Process Modeling with BPMN 2.0
30
Descriptive Subclass of Process Modeling Elements
• Used to create process diagramswhich are readily understood by almost any business person and supported by almost all BPMN tools.
• Suited for high-level process modeling.
• Should be comfortable for analyst that have used “flowcharts”.
PO
OL LA
NE
LAN
E
Task Task Task
Sub Process
Sub Process(expanded)
Call Activity
Text
<group>
Descriptive subclass of BPMN elements
On
line
sto
re
IT s
yste
mE
mp
loye
es
Tech
nic
al
sup
po
rtC
ust
om
er
serv
ice
Customer
Product order Product delivery
Swimlanes and Message Flows
• A swimlane is a graphical container for partitioning a set of activities from other activities. – A pool is a container for partitioning a Process
from other Processes or Participants. – Lanes are used to organize and categorize
activities within a Pool.
• Between pools communication is modeled with message flows.
• Pools are used in process and collaboration diagrams.
32
Lanes can be nested.
Lanes are sub-partitions of a pool.
A pool represents a participant in a collaboration.
A black-box pool.
BPMN 2.0Page 29-30
Between pool communication is performed with message flows.
Complete order online
Select product
Complete order onlineCheckout
Activities and Sequence Flows
• An activity is a generic type of work that an individual or company performs.
• An activity can be:
– Atomic (task) or
– Compound (process, sub-process) – uses a “+” sign.
• The sequence of activities is represented with sequence flow connections.
33
Bpmn 2.0Page 29
A collapsed sub-process with hidden details.
An expanded sub-process has visible details.
A task is an atomic activity.
Sub-processes can be nested.
Sequence flow is represented with
directed solid lines.
Descriptive Subclass of Activities
• Descriptive subclass of BPMN elements includes following activities:– Task (see previous slide)
– User Task
– Service Task
– Expanded sub-process (see previous slide)
– Collapsed sub-process (see previous slide)
– Call Activity (Task and Sub-process)
34
BPMN 2.0Page 158-184
User Task is a typical “workflow” task where a human performs a task with
the assistance of a software.
Service Task is a task that uses some sort of service, which could be a web service or an automated application.
Call Activity represents a point in the process where a global process [+] or a global task is used (i.e. GOTO activity).
Define shipping address
Convert to local currency
Validate address
Call activity has a thick
border.
Credit card verification
Start shopping
Select a product
Wait for confirmation
Product is not available
End shopping
Select an alternative product
Buy a product
Events
• An event is something that »happens« during the process.
• Basic (descriptive) events can start a process, as well, they occur at the end of a process.
• Icons within the circle shape of an event can indicate the type of triggering (e.g. a message, time condition, rule, etc.).
35
A start event begins a new process (instance).
An end event indicates the state of a process when it comes to an end.
An intermediate boundary event reacts (e.g. interrupts) to the behavior of the
corresponding activity.
Bpmn 2.0Page 29
An intermediate event stops / resumes process flow.
A new process flow is started out of an intermediate boundary event.
A start event can start an independent process thread (i.e.
event-based sub process).
Descriptive Subclass of Events
• Descriptive subclass of BPMN elements includes following events:– Generic start event
– Generic end event
– Message start event
– Message end event
– Timer start event
– Terminate event
36
BPMN 2.0Page 233-287
A general mechanisms that will instantiate a particular process. It indicates, where a
particular process will start.
A message arrives from a participant and triggers the start of a process.
A specific time-date or a specific time interval can be set that will trigger the start of a
process.
Indicates where a process will end. This type of end event does not have a defined result.
Indicates that a message is sent to a participant at the end of a process.
Indicates that all activities (active process paths) in a process should be immediately
ended.
Begin shopping
New order received
8.00 am
Shopping completed
Product shipped
Shutdown online store
Choose payment
Start checkout process
Credit card
PayPal
Proceed to checkout
Checkout completed
Checkout completed
Pay with credit card
Pay with PayPal
Gateways
• A gateway is used to control process flow.
• A gateway determines branching, forking, merging and joining of business process’s paths.
• Icons within the diamond shape of a gateway indicate the type of flow control behavior.
37
BPMN 2.0Page 29, 34
In case of ‚Credit card‘ the process flow will continue here.
In case of ‚PayPal‘ the process flow will continue here.
In case Condition A is ‘true’ the process flow will continue here.
Descriptive Subclass of Gateways
• Descriptive subclass of BPMN elements includes following Gateways:– Exclusive (XOR) gateway. It is
used to create alternative paths within a process flow.
– The Exclusive (XOR) gateway MAY or MAY NOT use a marker that is shaped like an “X”.
– Parallel (AND) gateway. It is used to create parallel flows and to synchronize (combine) parallel flows.
38
Joining of process paths.
(A AND B)
Forking of process paths.
(A AND B)
Merging of process paths
(A XOR B).
Branching(decision) of
process paths (A XOR B).
BPMN 2.0Page 287-302
AB
A B
C
AB
A B
C
New user
Insert user
data
Store user
data
User
registered
User data
Registered
users
Data and Data Associations
• Data objects provide information about what activities require to be performed and/or what they produce.– Local variable in a process level.
• Data store represents persistent data, which exists outside the scope of the process.
• Data objects and data store elements are connected to other process elements (i.e. activities, events) with data associations (dotted arrows).
39
A data object holds information relevant to
activities.
Bpmn 2.0Page 30, 208
A data store based information persist
beyond the scope of the process.
Data association: task ‘insert user data’ ‘writes’ (produces) information to
a data object.
Data association: task ‘store user data’ ‘reads’ (requires) information
from a data object.
Artifacts and Associations
• Artifacts are used to provide additional information about the process to modelers.
• Artifacts DO NOT affect process flow.
• Artifacts are: text annotation, group and documentation.– Documentation is not a visible element. It is an
attribute of most elements.
• An association is used to link information and artifacts with BPMN graphical elements.
40
An association is commonly used with
text annotation.
Group is a grouping of graphical elements that are within the same category.
Text annotation represents additional
description for any part of a process diagram.
BPMN 2.0Page 29,30
Group label.
Select a
product
Proceed to
checkout
Validate order
details
On the online store website
On a local website
Connecting Objects
• Connecting object are visually represented with different styles of non-directed or directed lines.
• Sequence flows represent the order of performed activities.
• Data associations represent information flows.
• Associations connect artifacts with other bpmn elements.
• Message flows represent exchange of messages between pools.
BPMN 2.0Page 29
Po
ol A
Pool B
Task 1 Task 2
Data Object
Comment
Data association. Association.
Sequence flow.
Message flow.
Descriptive Process Modeling Elements
42
Element Graphical
representationElement
Graphical
representationElement
Graphical
representation
participant (pool) serviceTask startEvent (None)
laneSetsubProcess
(expanded) endEvent (None)
sequenceFlow
(unconditional)
subProcess
(collapsed) messageStartEvent
messageFlow CallActivity messageEndEvent
exclusiveGateway DataObject timerStartEvent
parallelGateway TextAnnotation terminateEndEvent
task (None) association/dataAsso
ciationDocumentation Non-visual element
userTask dataStoreReference Group
PO
OL LA
NE
LAN
E
Task
Task
Task
Sub Process
Sub Process(expanded)
Call Activity
<group>
BPMN 2.0Page 3-4
Text
FULL SET OF PROCESS MODELING ELEMENTS
Business Process Modeling with BPMN 2.0
43
Full Process Modeling Conformance Elements
• Defines all elements, which can be used in process, collaboration and conversation diagrams:– All task types, embedded sub-processes, call activity,
– All gateway types,
– All event types (start, intermediate, and end),
– Lane, participants, data object (including data input and data output), message, group, text annotation,
– Sequence flow (including conditional and default flows), message flow,
– Conversations (limited to grouping message flow, and associating correlations), correlation, and association (including compensation association).
– Markers (loop, multi-instance, transaction, compensation) for tasks and embedded sub-processes).
• Out of scope: choreography modeling elements (e.g. choreography task and sub-choreography).
44
BPMN 2.0Page 2
Task 1 Task 2
Task 3
About Process Instances and Tokens
• A process can be executed or performed many times, but each time is expected to follow the steps defined in the process model. A single process performance represents a process instance.
• The behavior of a process instance is commonly represented with the flow of tokens.
45
A process is instantiated when
one of its Start events occurs.
End events consume tokens.
Tokens can be generated also within processes (e.g. in case
of a parallel gateway).
Task 3 is ready. Task 3 is active. Task 3 is complete.
States of an activity in relation to the
position of a token.
A new token represents a new process
instance.
BPMN 2.0Page 456
Participant
BPMN Process, Pool and Participant
46
Start shopping
Complete order online
Order ready notification
Type of delivery?
Takeover
Delivery
Request takeover
Request delivery
Customer goes to the store at his convenience
Shopping complete
Order delivered
Bpmn 2.0Page 112, 145
In BPMN a process is depicted as a graph of flow elements, which are
a set of activities, events, gateways, and sequence flows that define finite execution semantics.
Pool
Person or role Organization
A pool is not required to contain a process (i.e. it
can be “black box”).
Pool
A participant represents a specific partner entity or a more general partner role.
A pool may include a process.Process
A pool can be positioned vertically or horizontally.
Iii
This symbol (III) annotates that a pool has multiple
participants.
Po
ol
Lan
eLa
ne
Lanes are used to organize and
categorize activities within
a pool.
BPMN Events
• BPMN 2.0 defines 12 different triggers of events: none, message, timer, error, escalation, cancel, compensation, conditional, link, signal, terminate, multiple and multiple parallel.
• An event may ‘catch’ a trigger or ’throw’ it as a result.
• Events may be of the following types:– Start events, which indicate where a process will start.
• Start events are always of ‘catch’ type.
– End events, which indicate process’s end state.
• End events are always of ‘throw’ type.
– Intermediate events, which indicate where something happens within a process.
• Intermediate events may be of ‘catch’ or ‘throw’ type.
47
None
Message
Timer
Error
Escalation
Cancel
Compen-sation
Conditional
Link
Signal
Terminate
Multiple
Multiple paralel
Start Intermediate
EndEvent sub-pr. Boundary
Inter.Non-inter.
Inter.Non. Inter.
Catching
Throwing
BPMN 2.0Page 233
New order received
Sto
rePrepare invoice
Maintenance
1.00 am
Perform online store maintenance
Customer
Check products availability
1 minute
Restart products availability service
Send products
status
Product status
Order confirmation
received
Order confirmation
New product received
Distribution center
Productdelivery
notification
Stock update
Send invoice
Invoice
Software update
New update received
Perform online store update
BPMN ‘Events by Type’ Example
48
Start events begin (instantiate) a new process instance
Intermediate throwing events ‘produce’ a
new event.
Intermediate catching events
‘wait’ for a specific event to continue with process flow.
End events represent final process instance
state.
Interrupting event-based sub process
starting events start a new process flow.
Non-interrupting event-based sub process starting events start
a new process flow.
Non-interrupting boundary events start
a new process flow.
Interrupting boundary events interrupt
existing and start a new process flow.
BPMN Message Events
• Message events are used for communication between processes.
• Message events send (i.e. throw) or receive (i.e. catch) messages
• Message events can be used for modeling:
– Asynchronous process start,
– Waiting,
– Interrupting current work in case a message receives,
– Informing other about process results and process end,
– Start of an asynchronous task, etc.
49
Pool
A
Message sent
Pool
B
Message received
Message
Common use of message events
BPMN 2.0Page 240-251
BPMN Message Events Example
50
Stor
eD
istr
ibu
tio
n c
en
ter
Order request
New order received
Check product availability
All producs in stock?
YESSend order availability notification
NO
Contact distribution
center
Products available
Deliver order
Order available
New product requested
Transfer product to store
Product delivered
Delivery notification
Transaction completed
Order delivery
Request product
Customer
Transaction completed notification
Software update
New update received
Perform online store update
Order request changed
OrderRequestupdate
IT Support
New software update
New process instance starts with a new
order.
In case of a black-box pool, a message is
connected to pool’s boundary.
In case of reaching end state, the message is
triggered.
This sub-process is started with a message
and interrupts the ‘main’ process flow.
In case of a white-box pool, the messages are
connected to events and activities.
Intermediate throwing events are source (i.e.
generate, trigger) a message.
Intermediate catching events wait for a message. When
message receives, the flow continues.
In case a message receives a boundary
message event start a new process flow.
Pool
A Signal A thrown
Po
ol B
Signal A received
Signal A thrown
Po
ol C
Signal B received
Signal B thrown
Signal B received
BPMN Signal Events
• Signals are generated by throwing signal events and caught by catching signal events.
• A signal differs from a message, since it has no specific target. – Throw catch behavior: message events, error events, escalation
events.
– Publish subscribe behavior: signal events.
• Same signals can be thrown or received several times.
• Signals have within pool and between pools scope.
51
Bpmn 2.0Page 241
Signal A is thrown twice.
Signal B is caught twice.
Signal A is thrown and
caught in the same pool.
Signal A is thrown and
caught in different pools.
Manage ISP maintenances
On
line
sto
reD
istr
ibu
tio
n c
en
ter
Inte
rne
t se
rvic
e pr
ovid
er
Maintenance schedule
Define maintenance
scheduleISP
maintenance notification
Manage ISP maintenances
ISP maintenance notification
Notify registered users about online store unavailability
ISP maintenance notification
Connect to the secondary ISP
BPMN Signal Events Example
52
In case an Internet Service Provider (ISP) plans a new maintenance it published maintenance notification.
Distribution center is subscribed to ISP’s notifications. In case a
‘signal’ is received, the distribution center connects to
the secondary ISP provider.
Online store is subscribed to ISP’s notifications. In case a ‘signal’ is received, the work
continues, however customers are notified about the potential
online store unavailability.
Non interrupting event based sub process signal start event.
Note that signals are NOT directed to a specific target (i.e.
no connections).
Signal throwing events are similar to a radio transmitter.
Signal catching events are similar to radio receivers.
BPMN Timer Events
• A timer event occurs by a specific time condition (e.g. specific time, interval, duration)
• Timer events can only react on the corresponding condition (i.e. ‘catch type’).
• Timer events can be used for modeling:
– Scheduled process start,
– Waiting,
– Interrupting current activity after the elapsed time,
– Informing about the elapsed time,
– Start of a pre-scheduled job, etc.
53
Do work
8.00 AM
1 hour
10 minutes
1 minute
Inform about elapsed time
Scheduled process start.
Inform about elapsed time each minute.
Wait 10 minutes.
Interrupt activity after 1 hour.
BPMN 2.0Page 253,254
Distribution center database
5.45 AM
New product request
Check product availability
1 minute
Restart service
Database backup
Each hourBackup
Backup complete
5 minutes
Order product from manufacturer
YES
NO
Product available
notification
Product not available
notification
Inform IT expert
Open distribution center
6.00 am
Service restart
0.00
Restart service
Service restarted
Dis
trib
uti
on c
ente
r6 pmClose
distribution center
BPMN Timer Events Example
54
At 5.45 AM the distribution center
starts working.
Wait until 6.am.
Each hour, the database is backed-
up where the current work
continues
At 0.00, the distribution center service is
restarted.
In case the service checks for products more than a
minute, it is restarted.
In case restart takes more than 5 minutes, IT
expert is contacted.
At 6.00 pm, the distribution center
stops receiving requests.
BPMN Error Events
• An error (end) event is thrown when an activity (i.e. task, sub process) does not end successfully.– All currently active threads in the particular sub-
process are terminated as a result.
• An exceptional end state can be caught by an intermediate error event attached to the boundary of an activity.– An activity can have several boundary error
events attached (each representing distinct end exception states).
– Note that an error event always interrupts the activity to which it is attached.
55
Sub Process
Task Task
Event-based subprocess
An error start event can only start an event-based sub process.
An intermediate
error boundary
event catches exception
end state exit from the task
or sub process.
Exception end state exit from the task
or sub process.
In this case the catch exception event will
terminate the process.
End throwing error event.
BPMN 2.0Page 247,255
Star
tIn
term
edia
te
End
Event basedsub-
process
Bo
un
dar
y
Interrupting
Non-interrupting
Interrupting
Non-interrupting
Catching
Throwing
BPMN Escalation Events
• Escalations events are useful for the communication between sub-processes and processes.– Escalation events enable “throw-catch” behavior (i.E.
In case an escalation happens, the next higher level of responsibility is involved).
• In concept, escalations are similar to errors, but are generally less critical.– In contrast to error events escalation events can be
non-interrupting.
• Escalations events usually represent a situation where human intervention is required.
56
BPMN 2.0Page 247,255
An error event always interrupts current activity or
flow.
An escalation event doesn’t
need to interrupt current activity or
flow.
Escalation events. Error events.
BPMN Error and Escalation Events Example
57
On
line
stor
e
New order request
Validate order
Check creditCheck product
availability
Service unavailable
Service unavailable
Service unavailable
Fulfil order
Service unavailable
Contact IT stuff
Technical problems
notification
Bad credit
Resolve issue
Resolve issue
Contact customer
Deliver order
Service unavailable
Product unavailable
Resolve issue
Sale
sFi
nan
ces
Wa
reho
use
Contact manufacturer
In case an error event is caught
the corresponding activity is
interrupted.
Escalation is commonly
manually resolved by another role or
department.
In case of bad credit escalation is thrown but the sub process continues.
In case of unavailability the
sub process cannot continue normally.
Intermediate escalation events
can throw escalations and then continue.
This end event represents
successful process end.
Server room temperature
> 40°C
Check server‘s CPU temperature
> 50°C
Start emergency cooling
CPU temperature
< 40°C
Stop emergency cooling
Send server room
temperature
Check temperature
Check temperature
BPMN Conditional and Link Events
• A conditional event signifies a continuously monitored condition.
• When condition becomes ‘true’ the event is triggered.
• Link events pair (i.e. throw – catch) is a visual shortcut for a sequence flow.– Link events may not be used between pools or parent-child process levels.
58
Start process in case this condition is ‘true’.
Begin new process path if T > 50°C
Stop cooling if T < 40°C
Continue process flow at ‘Check temperature’
BPMN 2.0Page 267-270
BPMN Multiple Events
Multiple (OR)
• Start
– There are multiple ways of starting the process.
• Intermediate / boundary
– Catch / boundary: only one event definition is required to catch the trigger.
– Throw: all of the event definitions are considered and the subclasses will define which results apply.
• End
– There are multiple consequences of ending the process.
Parallel multiple (AND)
• Start– There are multiple triggers
required to start the process.
• Intermediate / boundary– All of the defined event
definitions are required to trigger the event.
• Parallel multiple events are only of type ‘receive’ (catch).
59
Star
tIn
term
edia
te
End
Event basedsub-
process
Bou
ndar
y
Interrupting
Non-interrupting
Interrupting
Non-interrupting
Catching
Throwing
BPMN 2.0Page 271-273
0.00 AM OR request for restart OR
signal OR > 60°C
Restart online store‘s server
Status OK AND 10 minutes
Send server restarted OR signal server
restarted5 minutes OR Error
Inform IT staff
Multiple Events Example
60
Multiple ways of starting the process.
Equivalent process with non-multiple events
Multiple ‘consequences’ of ending the process.
Multiple event definitions (i.e. basic events) are necessary to continue with the process.
Event definitions with OR conditions. Restart is interrupted after 5
minutes or after an error is caught.
Restart online store‘s server
0.00 AM
Request for restart
Restart signal
Temperature over 60°C
Server status OK
10 minutes
Started with message
Started with signal
Send server restarted
Signal server restarted
5 minutesError
Inform IT staff
BPMN Activities
• Activities represent points in a process flow where work is performed. They are the executable (i.e. manual, automatic) elements of a BPMN process.
• The types of activities that are a part of a process are: – Task (atomic activity)
– Sub-process (compound activity)
– Call activity (allows the inclusion of re-usable Tasks and Processes in the diagram),
• A process is not a specific graphical object. Instead, it is a set of graphical objects.
61
BPMN 2.0Page 151
Sub Process 1Task 1
Task 1.1 Sub Process 1.1 Task 1.2
Task 1.1.1 Task 1.1.2
Process
Sub process 1
Sub process 1.1
Types of BPMN Activities
• Special activities (i.e. sub-processes and tasks)– Behavior: loop, multiple instance (sequential,
parallel), compensation, call activity.
• Special sub-processes (i.e. compound activities)– View: collapsed / expanded
– Type: basic (i.e. embedded), event-based sub process, transaction, ad-hoc.
• Special tasks (i.e. atomic activities)– Types: manual, user, service, send, receive, rule,
script.
62
Special task types.
Special task and sub-
process types.
Special sub-process types.
BPMN 2.0Page 151-152
User Task
Send Task
Rule
Task
Service Task
Receive Task
Script
Parallel multiple
instance
Sequential multiple
instance
Compensation
Global (call) Activity
Sub Process (collapsed)
Event-based Sub Process
Transaction
Sub Process (expanded)
Task Task
Manual Task
Ad-hoc subprocess
Standard Loop
BPMN Task Types
• A service task is a task that uses some sort of service, which could be a web service or an automated application.
• A send task is a simple task that is designed to send a message to an external participant (relative to the process). Once the message has been sent, the task is completed.
• A receive task is a simple task that is designed to wait for a message to arrive from an external participant. Once the message has been received, the task is completed.
• A user task is a typical “workflow” task where a human performer performs the task with the assistance of a software application and is scheduled through a task list manager of some sort.
• A manual task is a task that is expected to be performed without the aid of any business process execution engine or any application.
• A business rule task provides a mechanism for the process to provide input to a business rules engine and to get the output of calculations that the business rules engine might provide.
• A script task is executed by a business process engine. The modeler or implementer defines a script in a language that the engine can interpret. When the task is ready to start, the engine will execute the script. When the script is completed, the task will also be completed.
63
BPMN 2.0Page 158-164
Service Task
Send Task
Receive Task
User Task
Manual Task
Business Rule
Script Task
New order received
Stor
e
Prepare invoice
Customer
Check products availability
Order sent
Order
Order packaging
Evaluate user rating
Send invoice Receive payment
Invoice Payment
Calculate total costs
BPMN Task Types Example
64
Service task symbol indicates that an (external) IT solution(service) performs a task.
Business rule symbol indicates that a business rule engine evaluates a task.
Script task symbol indicates that a task is automatically executed by a business process engine.
Manual task symbol indicates that a task is performed without IT support.
Receive task symbol indicates that a task waits for a message from another participant (pool) in order to be performed.
Send task symbol indicates that a task sends a message prior to its end.
Start shopping
Add a product to the cart
Complete order
Order sent
Until go to checkout
BPMN Activities: Loops
• Loop activity is a repeating activity with sequential iteration.– You cannot start second loop iteration until
finishing the first one.
• Loop activity is primary evaluated at the end.– ‘Do-while’ type of loop.
– When the first iteration starts, the number of iterations is unknown.
• The activity will loop as long as loop condition is true.
• A loop marker can be attached to sub-processes and tasks.
65
Start shopping Proceed to
checkout
YES
Add a product to the cart
NO
Complete order
Order sent
A loop activity.
A non-loop activity with gateway-loopback.
Loop condition can be highlighted in a comment.
(Silver 2011)
BPMN 2.0Page 189-190
BPMN Activities: Multi Instance
• The multi instance activity represents an activity with several activity instances.
• The instances may execute in parallel or may be sequential.
• Multi instance activity makes sense when the process instance data contains some kind of collection (e.g. items in an order).
• The number of iterations is known in advance– ‘For each’ type of loop.
• Can be applied to tasks and sub-processes.
66
New order received
Check item 1 availability
Check item 2 availability
Check item 3 availability
Check item 4 availability
New order received
Check order‘s items availability
For each order item
Number of items is indicated with a text annotation.
Multiple instance marker (parallel).
Multiple parallel instances realized with an AND gateway.
Check order‘s items availability
This marker annotates sequential execution of multiple instances.
BPMN 2.0Page 432, 433
BPMN Sub-processes
• A sub-process is a graphical object within a process, which can be “opened up” to show a lower-level process.
• Sub-processes define a contextual scope that can be used for :– attribute visibility,
– transactional scope,
– for the handling of exceptions or events,
– for compensation.
• A sub process can be in collapsed (i.e. hidden details) or expanded (i.e. visible details) view.
67
BPMN 2.0Page 174-175
Repeating subprocess
Multi instance (paralel)
subprocess
Multi instance (sequential) subprocess
Compensation subprocess
Compensation ad-hoc subprocess
Compensation subprocess
Sub Process (expanded)
Task 1
Task 2
Task 3
An expanded sub-process with three parallel tasks.
Collapsed sub-process markers.
BPMN Sub-Processes: Ad-hoc
• A specialized type of sub-process in which activities have no required sequence relationships. – The sequence and number of performances for the
activities is determined by their performers.
– Some sequence and data dependencies can be defined.
• During the execution of the ad-hoc sub-process, any one or more of the activities may be active.
• An ad-hoc sub process is complete when a performed declares it to be complete.
68
BPMN 2.0Page 180-183
(Silver 2011)
Online shopping
Check Top Sellers Add to card
List a category View an item
Visual marker for an Ad-hoc sub-process.
Some Activities may be connected.
Not all of the child activities must be performed in order to complete.
Activities may be performed multiple times.
BPMN Sub-processes: Event-based
• An event sub-process is not part of the normal process flow.
– It has no incoming or outgoing sequence flows.
• When an event sub-process is triggered the parent process:
– Can be interrupted,
– Can continue its work.
• An event sub-process may occur zero or many times.
69
BPMN 2.0Page 176-178
New order received
Sto
re
Prepare invoice
Backup
1.00 am
Perform online store back-up
Customer
Check products availability
Send products
status
Product status
Order confirmation
received
Order confirmation
Send invoice
Invoice
Software update
New update received
Perform online store update
Event sub-process interrupting message event – it interrupts main process flow.
Event sub-process non-interrupting timer event – the main process flow continues.
Event sub-process is bordered with a dotted line.
BPMN Sub-Processes: Transactions
• BPMN provides built-in support for business transactions.
• A transaction consists of several activities and might result in following outcomes:– Successful completion. In this case, all tasks in a
transaction are completed successfully.
– Failed completion (cancel). This scenario occurs if any of the pre-determined criteria of failure of the transaction is satisfied or in case an ‘abort’ message is received from outside of the transaction.
– Hazard (exception). In this case any of the tasks in the transaction end up not being executed or compensated.
BPMN 2.0Page 178-180
Book service
package
Cancel
transaction
Error in
transaction
Successful completion
Transactional sub-process.
Consists of at least two activities.
All activities have been successfully finished.
Failed completition.
Hazard (serious problem) in transaction.
BPMN Sub-processes: Transactions Example
Book service package
Service required
Book service item
Book service
Unavailable
UnavailableCancel
Dispose item
Cancel service booking
Request approoval of
service‘s date
1 hour
Error in transaction
Resolve problem manually
Customer approves
service‘s date
Disapproval received
1 day
Purchase service package
Payment error
Service package
confirmed
Undo Book service
package
Service package canceled
Transactional sub-process.
Transactional input.
Transactional successful completion.
Canceling transaction undoes finished activities with compensating activities.
Compensating activity is activated in case of cancel or throwing compensation event.
Error in the transaction terminates the process.
In case of cancel the transaction is repeated in an hour.
Throw compensation event.
Directed association.
BPMN Gateways
• Gateways are used to control how sequence flows interact as they converge and diverge within a process. – Decisions/branching (exclusive, inclusive, and complex), merging,
forking, and joining.
• Gateways are capable of consuming or generating additional tokens (i.e. AND gateway).
• Gateways have zero effect on the operational measures of the process being executed– E.g. process duration, and costs.
• A single gateway could have multiple input and multiple output flows.
72
ExclusiveXOR
InclusiveOR
Parallel
Event based
Exclusive Event-based
start
Parallel Event-based
start
Complex
BPMN 2.0Page 287,288
BPMN 2.0 Gateways
Choose payment method
PayPal
Credit card
Bank debit
Pay with PayPal
Pay with Credit Card
Pay with Bank debit
Pay on DeliveryCash on delivery
Checkout Deliver order
BPMN Gateways: Exclusive (XOR)
• A diverging exclusive gateway (XOR) is used to create alternative paths (i.e. decisions) within a process flow. – A decision can be thought of as a
question that is asked at a particular point in the process.
– The question has a defined set of alternative answers.
• The exclusive gateway may be represented with or without an x marker.
73
Branch implemented with an exclusive gateway (with X marker).
The token travels only along one path (sequence flow).
Default flow prevents deadlocks in case no Gateway’s conditions are met.
Token.
The process continues from checkout.
Merging flows with XOR.
XOR Gateway without X marker.
BPMN 2.0Page 290-292
Conditions.
BPMN Gateways: Inclusive (OR)
• A diverging inclusive gateway (inclusive decision) can be used to create alternativebut also parallel paths within a process flow.
• All combinations of the outgoing paths may be taken, from zero to all. – A default flow assures at least one active path.
• A converging inclusive gateway is used to merge a combination of alternative and parallel paths. – An or gateway join is like an and gateway join
except that it ignores incoming sequence flows that are not enabled.
74
Analyze customer‘s profile
Analyze customer‘s orders history
Analyze customer‘s ratings
New customer
Default
Order > 1000 €
Order received
Prepare invoice
Branch implemented with an inclusive gateway.
Several outgoing paths may be activated.
BPMN 2.0Page 292-293
Each condition is evaluated independently.
A converging inclusive gateway (join).
One token continues after OR join.Inclusive gateway is
semantically equal to conditional sequence flow.
Condition
BPMN Gateways: Parallel (AND)
• A parallel gateway is used to create parallel flows and synchronize(combine) parallel flows.– A parallel gateway creates parallel paths
without checking any conditions.
– Each outgoing sequence flow receives a token upon execution of and gateway.
• For incoming flows, the parallel gateway will wait for all incoming flows before triggering the flow through its outgoing sequence flows.
75
Prepare invoice
Prepare package
Deliver order
Payment conformed
AND gateway representing unconditional split.
AND gateway representing join.
Prepare invoice
Prepare package
Payment conformed
Unconditional split without a gateway.
All outgoing paths become active.
All incoming paths need to be active to proceed.
BPMN 2.0Page 293-295
Order over 10000 €
Validate user‘s profile
Validate user‘s ratings
Validate user‘s credit card
Low risks
Whichever completes first
Report
High risksContact user
BPMN Gateways: Complex
• The complex gateway is mainly used to model complex synchronization behavior. – Text annotation may be used to explain intended behavior.
– Example behavior: three out of five incoming sequence flows are needed to activate the gateway.
• What tokens are produced by the gateway is determined by conditions on the outgoing sequence flows (similar to inclusive gateway).
• Complex gateway commonly implements discriminator pattern– It passes the first incoming sequence flow and blocks all the rest.
76
Discriminator pattern (behavior) disposes the “slowest” token.
Complex behavior is defined in a text annotation.
Branching behavior is similar to inclusive gateway.
Complex gateway.
BPMN 2.0Page 295-296
BPMN Gateways: Event Based XOR
• Event-based exclusive gateway is similar to XOR gateway but the trigger of the gateway is based on event instead of data condition.
• Each alterative path must include a ‘catching flow element’.– Receive activity may be also used.
• The timer event commonly acts as a ‘default event’.
– E.g. wait for any messages for a day.
77
BPMN 2.0Page 297-298
Customer
Stor
e
Takeover requested
Delivery requested
1 day
Dispose order
Prepare order for delivery
Prepare order for takeover
Takeover
Delivery
Timer event acts as a default flow.
The decision is made by another participant. The first
triggered event defines the sequence flow.
Event based exclusive gateway.
Other tokens are disposed.
BPMN Gateways: Event Based Start
• Event-based start gateways are used to instantiate a process in case of several start events.
78
Message A
1 day
X > 100
Message A
X > 100
1 day
=
Message A
1 day
X > 100
Message A
X > 100
1 day
=The process is instantiated with the first triggered event. However other events are required for the same process instance.
Parallel event-based gateway to start a process.
Exclusive event-based gateway to start a process
In this case triggering of each new start event creates a new process instance.
The process is instantiated if one of the corresponding events is activated.
The behavior is similar to an XOR gateway, which merges multiple star events.
BPMN 2.0Page 299
Task Task
Task Task
Controlled and Uncontrolled Flows
Controlled flows
• Control of sequence flows from one flow object (i.e. gateway, activity, event) to another with:– Gateways
– Conditional sequence flows
Uncontrolled flows
• No control of sequence flows from one flow object (i.e. gateway, activity, event) to another.– Use of (normal) sequence flows.
79
Task
Task
Task
BPMN 2.0Page 500-503
?
?
?
The execution of these flows (?) depends on a condition.
These flows perform always.
Forking Uncontrolled Flows
• BPMN uses the term “fork” to refer to the dividing of a path into two or more parallel paths (also known as an AND-Split). It is a place in the process where activities can be performed concurrently, rather than sequentially.
80
Task
Task
Task
Uncontrolled fork realized with multiple outgoing flows.
BPMN 2.0Page 36
These two processes behaviors are equal.
Task
Task
Task
Controlled fork realized with a parallel gateway.
Task
Task
Task
Merging Uncontrolled Flows
• BPMN uses the term “merge” to refer to the exclusive combining of two or more paths into one path.– Uncontrolled merge should be used only if all incoming sequence flows are alternative (exclusive).
81
Uncontrolled merge realized with multiple incoming flows.
BPMN 2.0Page 38
Task
Task
Task
Controlled merge is realized with an exclusive parallel gateway.
These two processes behaviors are equal.
In this case this and the following tasks will be performed twice.
Items and Data
• Process modeling commonly requires modeling of items, that are managed (e.g. created, manipulated, stored, sent, received) during process execution.
• Items may represent:– Information (e.g. order and invoice) which moves via information flows.
– Physical items (e.g. online store products) which move via material flows.
• BPMN elements, which are capable to manipulate with items, are called “item aware elements” (i.e. data objects, data object references, data stores, properties, data inputs and data outputs)– Properties are not visual BPMN elements, but are part of following flow
elements: processes, activities and events.
– Data object references are a way to reuse data objects in the same diagram. They can specify different states of the same data object at different points in a process.
82
An invoice (data) is an information item
The products of an order might be physical items.
BPMN 2.0Page 203
Data Objects
• Data object represents a local instance variable. It is visible only within the process level in which it is defined and its child levels and the variable is disposed when the process level instance is complete.
• Data object collection represents an array of data object elements.– Data object has an optional [state] attribute (e.g. draft, reviewed, released).
• Data inputs (collections) represent the inputs to a top-level process or a called process.
• Data output (collections) are visually displayed on a top-level process diagram to show the outputs of the process.
• A data store provides a mechanism for activities to retrieve or update stored information that will persist beyond the scope of the process.
83
Data Object Data Object collection
Data input Data input collection
Data output Data Output collection
(Silver 2011)
Data Store
BPMN 2.0Page 203-209
Po
ol
Pool
Task 1 Task 2
Data Object
Comment
Connecting Objects
• In BPMN, different types of connecting objects are necessary to represent different types of flows in a process diagram.
84
Message Flows are used to show the flow of messages between two participants (i.e. pools) that are able to send and receive them.
Sequence Flows are used to represent the order of flow elements in a process.
Data Associations are used to show the flow of information between activities in a business process.
Associations are used to link artefacts with other BPMN (graphical) elements.
Connecting Objects: Sequence Flows
• A sequence flow is used to represent the order of flow elements in a process.
• Each sequence flow has only one source and only one target.
• Sub-types of sequence flows: default sequence flow, conditional sequence flow.
85
New order received
Stor
e
Prepare invoice
Customer
Order
Check items availability All items
available Send invoice
Invoice
Item unavailableRequest from warehouse
Warehouse
Item available
Solid arrows represent sequence flows.
Diamond represents conditional sequence flow (similar to inclusive gateway).
Sequence flows may NOT be used between Pools (processes).
Default (sequence) flow is used to prevent deadlocks in case of conditional flows or gateways.
BPMN 2.0Page 97-98
Connecting Objects: Sequence Flow Rules
• Sequence flow may NOT connect to
– A start event, catching link event.
– Artefacts and data objects.
• Sequence flow may not result from
– An end event, throwing link event.
– Artefacts and data objects.
• Sequence flow may not cross:
– Pool’s boundary.
– Process – sub-process boundary.
86
Task
Sub Process
Task
Sub Process
Sequence flows may connect FROM these (groups of) elements.
Sequence flows may connect TO these (groups of) elements.
Sequence flows.
BPMN 2.0Page 42-43
Connecting Objects: Message Flows
• A message flow is used to show the flow of messages between two participants that are ‘capable’ to send and receive them.– The source of a message flow must be either a
message or multiple end event, or throwing intermediate event, an activity or black-box pool.
– The target of a message flow must be either a message or multiple start event, catching (message, multiple) intermediate event, boundary event, an activity or a black-box pool.
• A message can be optionally depicted as a graphical decorator on a message flow.
• To associate a message to a particular process instance, bpmn uses correlations (non-visible concept).
(Silver 2011)
Message flows may connect FROM these elements.
Message flows may connect TO these elements.
Message flow.
Initiating message
Message (non-initiating)
BPMN 2.0Page 44
Pool
Task
Sub Process
Pool
Task
Sub Process
Task
Data Associations
• Data associations are used to represent the flow of data between item-aware elements (i.e. data objects, data object references, data stores, properties, data inputs and data outputs).
• Tokens do not flow along a data association, and as a result data associations have no direct effect on the flow of the process.
88
Data associations may connect FROM these elements.
Data associations may connect TO these elements.
BPMN 2.0Page 222-225
Data association connector.
Pool
Task
Sub Process
Global Activity
Pool
Task
Sub Process
Global Activity
Data Store
Data Object
Items availability
New order receivedSt
ore
Prepare invoice
Customer
Order
Check items availability
Send invoice
Invoice
Warehouse
Validate customer
User report
Customer‘s history
[updated]
Items
Customer‘s history
InvoiceOrder
Data and Data Associations Example
89
For a catch event, data associations are used to push data from the message received into data objects and properties.
For a throw event, data associations are used to fill the message that is being thrown.
Data objects MAY be directly associated with a sequence flow connector.
Data associations are used to represent inputs and outputs of activities.
Data associations may cross process’s (pool) boundaries.
Two processes interacting via data store.
This data output object has a state defined [updated].
Data object inputs and outputs provide information for processes.
Full Set of Process Modeling Elements BPMN 2.0Page 3-4
None
Message
Timer
Error
Escalation
Cancel
Compen-sation
Conditional
Link
Signal
Terminate
Multiple
Multiple paralel
Start Intermediate
EndEvent sub-pr. Boundary
Inter.Non-inter.
Inter.Non. Inter.
Catching
Throwing
User Task
Send Task
Rule
Task
Service Task
Receive Task
Script
Standard Loop
Parallel multiple
instance
Sequential multiple
instance
Compensation
Ad-hoc
Global (call) Activity
Sub Process (collapsed)
Event-based Sub Process
Transaction
Sub Process (expanded)
Task Task
Manual Task ExclusiveXOR
InclusiveOR
Parallel
Event based
Exclusive Event-based
start
Parallel Event-based
start
Complex
Annotation
Group
Documentation
Sequence flow
Default flow
Conditional flow
Message flow
Association
Directed/data association
Data object
Data store
Message
Data input
Collection
Data output
Initiatingmessage
Pool
Lane Lane Lane
Full class
Analytical class
Descriptive class
BPMN Modeling Rules (i.e. BPMN Syntax)
• Address the syntactic quality of BPMN diagrams.
• Formally defined in BPMN meta-model– UML class diagrams.
– Include precise definition of BPMN elements, their attributes and the relationships between elements.
• BPMN modeling rules are scattered over the BPMN specification.
91(Silver 2011)
Excerpts of BPMN 2.0 rules, collected by Bruce Silver:
• All flow objects other than start events, boundary events, and compensating activities must have an incoming sequence flow, if the process level includes any start or end events.
• All flow objects other than end events and compensating activities must have an outgoing sequence flow, if the process level includes any start or end events.
• A start event cannot have an incoming sequence flow.• A start event cannot have an outgoing message flow.• A start event with incoming message flow must have a message trigger.• A start event cannot have an error trigger.• A start event in a sub-process must have a none trigger.• A boundary event must have an outgoing sequence flow.• A boundary event trigger must be either message, timer, signal, error,
escalation, conditional, cancel, or compensation.• A boundary event cannot have incoming sequence flow.• An error boundary event on a sub-process requires a matching error
throw event.
BPMN Modeling Style
• Addresses the pragmatic quality of BPMN diagrams.
• Non-normative conventions used in BPMN diagrams.
• Out of scope of BPMN 2.0 Specification.
• Useful to create consistent and unambiguous BPMN diagrams.
• Can be acquired or evolved within an organization.
92(Silver 2011)
Examples of Bruce Silver’s Style Rules:
1. Use icons and labels to make process logic clear from the printed diagram.
2. Make models hierarchical, fitting each process level on one page.3. Use a black-box pool to represent the Customer of other external
requester or service provider.4. A child-level diagram should not be enclosed in an expanded sub-
process shape.5. The label of a child-level page should match the name of the sub-
process.6. Activities should be labeled.7. Two activities in the same process should not have the same
name. (Use global activity to reuse a single activity in a process.)8. A Send task should have an outgoing message flow.9. A Receive task should have an incoming message flow.10. A Timer start event should be labeled to indicate the process schedule.11. A start event in a top-level process should be labeled. If a top-level
process contains more than one start event, all should be labeled to identify the alternative start conditions.
BPMN Modeling Method
• BPMN Method – A ‘recipe’ (also approach or process) about how to create business process diagrams.
• BPMN Method is out of scope of BPMN 2.0 Specification.
• Useful to create consistent business process diagrams across an organization.
• Can be acquired or evolved within an organization.
93(Silver 2011)
Bruce silver’s method of hierarchical top-down modeling:
1. Agree on process scope, when it starts and ends, what the instance represents, and possible end states.
2. Enumerate major activities in a high-level map, ten or fewer, each aligned with the process instance. Think about possible end states of each activity.
3. Create top-level bpmn diagram. Arrange high-level map activities as sub processes in a BPMN process diagram, with one top-level end event per process end state. Use gateways to show conditional and concurrent paths.
4. Expand each top-level sub process in a child-level diagram. If sub process at parent level is followed by a gateway, match sub process end states to the gateway (or gate) labels.
5. Add business context by drawing message flows between the process and external requester, service providers, and other internal processes, drawn as black-box pools. Message flows connecting to collapsed sub process at parent level should be replicated with same name in the child-level diagram.
6. Repeat steps 4 and 5 with additional nested levels, if any.
BPMN BEYOND PROCESS MODELING
Business process modeling with BPMN 2.0
94
BPMN Meta-model
• Meta-model is a formal specification of:– semantic BPMN elements (most of them have
visual representations) and
– relationships between semantic BPMN elements.
• Meta-model is represented in UML’s class diagrams.– (semantic) BPMN elements are represented as
object classes with defined required and optional attributes.
• All valid BPMN models must conform to the specification of the meta-model.
95
M1: Instance of a model
Metadata instances e.g. Mark’s invoice
M2: Model
Metadata Schemae.g. BPMN data object representing an Invoice
M2: Meta-model
Schema definition languagese.g. BPMN Meta-model for
Data Object
M3: Meta-meta-model
Universal modeling language
MOF Meta-Levels Hierarchy(Silver 2011)
BPMN Meta-model Example: Data Object
96
BaseElement is the abstract super class for most BPMN elements. It provides the attributes id and documentation, which are inherited other elements (classes).
Inheritance relationship.
DataObject is an Item Aware Element.
DataObjectmight have Data states (e.g. draft, in review, final).
Each element might have documentation attached to it.
The DataObject element inherits the attributes and model associations of FlowElement and ItemAwareElement.
Meta-model defined in UML’s class diagram notation.
isCollection attribute defines if the Data Object represents a collection of elements.
Data Object References are a way to reuse Data Objects in the same diagram.
Classes are organized in packages (e.g. foundation).
BPMN 2.0Page 204
BPMN Layered Structure
• The BPMN specification is structured in layers (i.e. packages of classes, where a class represents a semantic BPMN element).– A semantic element might have a visual
representation or not.
• Each layer defines a subset of BPMN semantic elements and models.– Each layer builds on top of and extends
lower layers.
• Process modeling with BPMN includes elements and diagrams, which belong to all layers except choreography.
97
BPMN 2.0Page 2
Basic BPMN elements, which are common to all
BPMN models.
This layer defines elements, specific for
Conversation diagrams.
Elements, which belong to yellow layers are specific
for process diagrams.
Layer of elements, which are specific for
choreography models.
This layer defines elements, specific for
Collaboration diagrams.
Choreography layer IS NOT part of process modeling conformance.
BPMN Diagram Interchange (DI)
• BPMN DI describes the location and size of shapes and connectors as well as the linked page structure of BPMN diagrams.– BPMN DI Meta-model is similar to BPMN’s
semantic meta-model.
• The BPMN DI is meant to facilitate interchange of BPMN diagrams between tools rather than being used for internal diagram representation by the tools.
• BPMN diagram consists of– BPMN DI meta-model information,
– BPMN semantic meta-model information.
98
DI::Labeled Shape
BPMNShape
isHorizontal:boolean [0..1]isExpanded:boolean [0..1]isMarkerVisible:boolean [0..1]isMessageVisible:boolean [0..1]participantBandKind:participantBandKind:[0..1]
-memberName
BPMNLabel
BPMN::BaseElement
shape
0..1
label 0..1
shape
*
bpmnElement0..1
1
0..1
Referenced BPMN element, which defines the semantic of BPMN element.
BPMNShape represents a depiction of a BPMN element.
BPMN DI Shape meta-model.
BPMN 2.0Page 372
BPMNShapealso contains an optional label of type BPMNLabel.
(Silver 2011)
BPMN Serialization
• BPMN Meta-models (semantic and DI), which are represented in class diagrams, are published (i.e. serialized) in two alternative XML formats:– OMG’s Metadata interchange (XMI) and
– W3C’s XML Schema Definition (XSD).• Most BPMN tool vendors use XSD for interchanging models.
• Cannot represent certain relationships of UML class diagrams (e.g. multiple inheritance).
– Transformations between XSD and XMI exist.• Defined in XSLT.
• In BPMN XSD, the information concerning the graphical layout of shapes (e.g. position, size, connection points) is separated from the semantic model.– A valid BPMN model may omit the graphical informations of
a BPMN model completely.
99
BPMN20.xsd
Semantic.xsd BPMNDI.xsd
DI.xsd
DC.xsd
BPMN 2.0 schema file structure
Semantics of a BPMN model.
Graphical layout of a BPMN model.
(Silver 2011)
BPMN Execution Semantics
• Part of BPMN Process Execution Conformance.
– Not required for BPMN Process Modeling Conformance.
• Describes a clear and precise understanding of the operation of BPMN ‘executable’ elements.
– Common executable subclass of BPMN elements defines basic ‘executable’ BPMN elements.
– Those BPMN elements, capable of being executed on a process engine.
– Non-operational elements examples: manual task, ad-hoc process and abstract task.
• BPMN execution semantics defines:
– Process instantiation and termination,
– Flow elements (activities, gateways, events) behavior,
• Execution semantics includes:
– A description of the operational semantics of the element.
– Exception issues for the element where relevant.
– List of workflow patterns supported by the element where relevant.
100
BPMN 2.0Page 425
BPMN Execution Semantics: Activity Lifecycle
101
BPMN 2.0Page 428-429
An activity is ready for execution if the required number of tokens is available to activate the activity /…/.
When some data InputSetbecomes available, the Activity changes from Ready to the Active state /…/.
An Activity, if Ready or Active, can be Withdrawn from being able to complete in the context of a race condition /…/.
An Activity’s execution is interrupted if an interrupting Event is raised or if an interrupting Event Sub-Process is initiated. In this case, the Activity’s state changes to Failing (in case of an error) or Terminating (in case any other interrupting Event).
If an Activity’s execution ends without anomalies, the Activity’s state changes to Completing /…/.
If an Activity fails during execution, it changes from the state Active to Failed.
After all completion dependencies have been fulfilled, the state of the Activity changes to Completed /…/.
References
• OMG, 2011. Business Process Model and Notation version 2.0. Available at: http://www.omg.org/spec/BPMN/2.0/ [Accessed January 15, 2014].
• Weske, M., 2012. Business process management concepts, languages, architectures, Berlin; New York: Springer. Available at: http://site.ebrary.com/id/10650313 [Accessed January 14, 2014].
• Orand, B., 2011. Foundations of IT Service Management: The ITIL Foundations Course in a Book 3rd ed. J. Villarreal, ed., CreateSpace Independent Publishing Platform.
• Silver, B., 2011. BPMN method and style: a structured approach for business process modeling and implementation using BPMN 2.0, Aptos: Cody-Cassidy Press.
102
Top Related