Vous êtes sur la page 1sur 102

Business Process Modeling

with BPMN 2.0

2nd edition

gregor.polancic@gmail.com
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 software
engineering and information systems. He has a decade of experience in BPMN, starting to investigate and actively use BPMN since its
first 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 and
already exceeded 50.000 downloads. In 2008, he was one of the first authors who published an article, dedicated to the experiences and
practical use of BPMN. The article was published in ‘BPM and Workflow Handbook’ in association with the Workflow Management
Coalition (WfMC). Gregor Polančič is teaching BPMN and BPM since 2005 in several undergraduate and postgraduate courses and has
been an invited BPMN lecturer on several Universities. He has participated in several BPMN related local and international workshops
and projects and is currently researching BPMN from different technological and user aspects. Gregor Polančič is also owner of the
international certificate Certified Business Process Professional for Higher Education Institutions. Gregor Polančič is periodically authoring
for Orbus Software and blogging as well preparing learning materials for Good e-learning.

This work is licensed under a Creative Commons Attribution-Non


http://www.linkedin.com/in/gregorpolancic Commercial-No Derivatives 4.0 International License.

gregor.polancic@gmail.com
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
Business Process Modeling with BPMN 2.0

THE BASICS OF BUSINESS


PROCESSES AND BPMN
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).

Realizes

Product or service

Business process

• Each business process is enacted by a single organization, but it may interact with
business processes performed by other organizations.

(Weske 2012) 5
Should you Care about Business Processes?
• Yes, because each organization produces something
or services somebody.

• So, each company runs processes, however Sales Quality assurance


only some companies are aware of them. Don’t Shipping

agree? Try to find a counterexample!


Engineering

• Did you know that business processes are Marketing


Customer service
organizational assets that are central to creating
value for customers?
Manufacturing

Packaging

Examples of business processes


6
What Kind of Assets are Business Processes?

Tangible assets Intangible assets


Material, Knowledge,
Machines, Relationships,
Infrastructure, Processes,
Money,… 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) 7
Are you Aware of Business Processes?

Process AWARE company Process UNAWARE company


• A simple approach to evolve (i.e. • Any ideas how to evolve processes?
improve) processes:
1. If you are aware of processes you can
identify them. ?
2. If you can identify processes you
can analyze them.
3. If you can analyze processes, you
can evolve (i.e. improve) them.

Deming (PDCA) circle

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

Transformation of a real-
world business process
Help desk center in a real world Help desk process model
into a process model.
9
Benefits of Process Modeling

• Representation of processes. Plan: model


processes

• Analysis of processes.

• Continuous improvement of processes. Act: adjust Do: perform


processes processes

• A basis for IT support.

Check: monitor
• A solid basis for process management. processes

Deming (PDCA) circle


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

Computers and humans can effectively communicate and collaborate in case of a


common (process modeling) language. 11
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.

= BPMN
12
What is BPMN?
• Business Process Model and Notation
– Business Process - A collection of related, structured
activities or tasks that produce a specific service or Business process
product for a particular customer. Customer request Process outcome

Content for the model


– Model –a representation of a business process.
• Visual proces model – process diagram Task Task Task
• Non-visual proces model (e.g. executable process model)
‚Alphabet‘ for the model
– Notation – a set of elements (language) + rules used for
representing a business process in a business process
model (diagram).
Task

The current BPMN version is 2.0.2, released in January 2014. 13


Why BPMN?
Standardization
 Standardized. The de-facto & ISO/IEC enables
communication.
19510:2013 standard in process modeling.
Openness enables
 Open. Created and controlled in an open and transparency and
democracy.
fair process.
 Simple & complete. Can be used in a simple Simplicity and
learnability enable
or detailed way. acceptance and
popularity.
 Learnable. Based on previous notations.
Interoperability
 Interchangeable. Capable of being enables humans and IT
collaboration.
interchanged between IT solutions.
 Executable. Capable of being automated. Automation improves
process’s efficiency
and consistency.

14
Primary Goal of BPMN BPMN 2.0
Page 1

• “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.”
Process
New request
Receive
owner
request

Analyze
request
Process
Approve Reject
participants
Process Approve Reject
request request
modeler

Request Request
Real-world business process approved rejected

BPMN model IT engineer


15
In Scope of BPMN BPMN 2.0
Page 1-12

Business process modeling Business process execution


• Diagrams (e.g. process diagrams, • Execution semantics.
collaboration diagrams). • Formats for exchanging executable
• Syntax, semantics and visual appearance models.
for process elements • Support for BPMN and BPEL process
(e.g. events, activities and gateways). engines.
• Attributes and properties of the semantic
elements represented by the graphical
process elements. Focus of these slides
• Formats for exchanging diagrams. Introduced in these slides

16
Out-of-Scope of BPMN BPMN 2.0
Page 22

• BPMN is constrained to support only the concepts of


modeling that are applicable to business processes.
• Out of scope, but related domains are:
Business rules
– Definition of organizational models and resources.
– Modeling of functional breakdowns.
– Data and information models.
Data models
– Modeling of strategy.
– Business rules models.

Organizational structures

17
Purposes of BPMN Use BPMN 2.0
Page 12

BPMN Conformance types define formal purposes of the use of BPMN and the corresponding software
implementations. These slides focus on process modeling conformance.

Conformance type Diagram types Diagram elements Execution

Process modeling Process, collaboration, Full process modeling Not available.


Focus of
conversation. conformance.
these slides
Process execution Not available. Not available. Process diagrams.
with BPMN

Process execution Not available. Not available. Process diagrams.


with BPEL

Choreography Choreography and Choreography diagram elements Choreography.


collaboration (partially). and some basic process elements.

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

Set of BPMN The meaning of


Set of BPMN
BPMN 2.0 rules for BPMN elements
(visual) elements
diagram combining and their
(i.e. symbols).
BPMN elements. combinations.

Expressed in

BPMN BPMN BPMN BPMN


notation vocabulary syntax semantics

19
BPMN Diagram Types BPMN 2.0
Page 22-23

• 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

The majority of examples


on the following slides is
related to online store
processes.

20
BPMN Process Diagrams BPMN 2.0
Page 23,150

• 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.
Private (internal) An executable process is modeled
Takeover
Customer goes to
processes - for the purpose of being executed.
the store at his
Complete order
Request
takeover convenience represent a specific
Start
online

Type of process A non-executable process modeled


shopping Order ready
notification delivery?
Delivery (orchestration) in for the purpose of documenting
Request Order Shopping
delivery delivered complete
an organization. process behavior at a modeler-
Can be executable defined level of detail.
Processes can be defined at any level: from enterprise-wide or non-executable
processes to processes performed by a single person.
Customer goes to
Takeover
Request the store at his
Complete order takeover convenience
online
Start
Only those activities that are used to communicate to other shopping Order ready
notification
Type of
delivery?
DeliveryTakeover
participants are included in the public process. Order request
Order available
Request
delivery
Order Ready for Shopping
delivered takeover complete
Order
Delivery
delivery

Public process - represents interactions between a private Store


business process and another process or participant.
21
BPMN Collaboration Diagrams BPMN 2.0
Page 24

• A collaboration represents the Complete order


Takeover
Request
takeover
Customer goes to
the store at his
convenience

Home
interactions between two or more
online
Start

Collaboration model shopping Order ready Type of


notification delivery?
Delivery
Request Order Shopping

business entities (e.g. processes). with white-box pools


delivery delivered complete

Order available
Order request

(i.e. visible details) Takeover


Delivery Ready
for takeover
Order delivery

• A collaboration usually contains two Check product


Deliver order
availability

or more pools (black-box or white-


YES
New order Send order Deliver order
received All producs in availability

Store
stock? notification
NO
Transaction

box), representing the participants in


completed
Request product Complete
transaction
Contact Products Hold order Customer at
distribution available the store
center

the collaboration. Delivery notification

Distribution center
• The message exchange between the
Transfer product to
store
New product Product
requested delivered

participants is shown by a message


flow that connects two pools (or the Store

elements within the pools). Collaboration model with


black-box pools (i.e. hidden Order Order delivery Product request Product delivery

details)
Home Distribution center

22
BPMN Collaboration Diagram Example

A customer starts shopping and completes order Customer goes to


Takeover
online. The order is sent to Store. Then the customer Request the store at his

Customer
Complete order takeover convenience
online
waits for a notification that the product is ready. Based Start
shopping Order ready Type of
on preferred type of delivery (takeover or delivery) the notification delivery?
Delivery
customer receives or gets the desired product. Request
delivery
Order
delivered
Shopping
complete

Order available
Order request
Takeover Ready Order delivery
Delivery
Message flows are used for between-process for takeover

interactions and synchronization.

Check product
Deliver order
availability
When the store receives a new order it checks for New order
YES
Send order Deliver order
received All producs in availability

Store
products availability. In case a product is not in stock, it stock?
NO
notification

contacts distribution center. When all order‘s products Transaction


completed
are available the customer is notified that the product Request product Complete
transaction

is ready. Based on preferred type of delivery, the Contact


distribution
Products
available
Hold order Customer at
the store

product is delivered to customer and the transaction center

completes. Delivery notification


Distribution center

Transfer product to

In case of a new product request, the desired product is New product


store
Product

delivered to requesting store. requested delivered

23
BPMN Conversation Diagrams BPMN 2.0
Page 26

• 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 Conversation
collaboration diagrams. participant.
Conversation nodes
• Conversation diagrams use simple and links are used
only in conversation
notation: participants, conversation diagrams.
nodes (hexagons) and conversation
links (i.e. a series of message Conversation nodes (i.e.
topic of conversation) are
exchanges). actually collections of
message flows.

24
BPMN Choreography Diagrams BPMN 2.0
Page 25

• Choreography models are NOT part of


Choreographies exist
process modelling conformance. between pools (e.g.
• Choreographies are new in BPMN 2.0 participants,
organizations).
and focus on between-processes Customer

interactions and message flows. Order


Go to the store

• A choreography diagram can be used


Takeover

Customer Customer Customer

to analyse how participants exchange


Store

Complete order Check product Complete

information to coordinate their Start


shopping
online availability

Type of
Order received
confirmation
transaction
Shopping
complete

interactions.
delivery
Store Store Customer Store

• Another way to look at choreography Delivery


Deliver order

is to view it as a type of business Order confirmation Order availability status Store Order complete confirmation

‘contract’ between two or more Choreography tasks


organizations. are used only in Order sent

choreography
diagrams.
25
Common Use of Different BPMN Diagrams BPMN 2.0
Page 133, 138

Black-box process 2. Process 2

Choreography model
within Process 1 – Process
Conversation link to Task 1 Task 2 2 collaboration model.
Process 1 event.

Process model for Process 1.

Process 1
Task 1 Task 2
Message exchanges in
Process 1 - Process 3
collaboration.
Collaboration between
Participant 1
Process 1 and Participant 1.
Process 3

Process model for Process Task


3.
Conversation model
between Participant 1 and
Conversation between 2.
Participant 2
Participant 2 and Process 1.
Conversation 2 Conversation 1 26
BPMN Process Modeling Elements BPMN 2.0
Page 27-28

• 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. Categories of
– Visual and non-visual attributes. (visual) BPMN
elements

Data Connections Flow objects Swimlanes Artifacts


Comment

Events Activities Gateways

27
Classes of BPMN Elements BPMN 2.0
Page 2

• The full set of BPMN process modeling elements is


additionally divided into three subclasses: Visible elements and Non-visible elements
attributes and attributes
– Descriptive subclass of elements is concerned with visible
elements and attributes used in high-level modeling. It Full class
should be comfortable for majority of process analysts.
Analytical
– Analytic subclass of elements is concerned with visible
subclass
elements and attributes used in detailed process
modeling. Includes all elements from the descriptive level Common executable subclass
and about half of all process modeling elements.
– Common executable subclass of elements focuses on what Descriptive
is needed for executable process models. The palette of subclass
elements is between descriptive and analytical, but
includes attributes related to executable details.

(Silver 2011) 28
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.
Used for representing an overview of organizational processes
and their relationships. Partially supported by BPMN (i.e.
Conversation diagrams).
Process landscape
diagrams
Used for a conceptual overview of individual business
Strategic process processes. Supported by BPMN with the use of descriptive set
of BPMN elements.
diagrams

Used for detailed business process descriptions (i.e. workflows)


Operational process diagrams intended for (technical or human) operation. Supported by
BPMN with the use of the full set of BPMN elements.

Process architecture levels 29


Business Process Modeling with BPMN 2.0

BASIC SET OF PROCESS


MODELING ELEMENTS
30
Descriptive Subclass of Process Modeling Elements

• Used to create process diagrams

LANE
which are readily understood by

POOL

LANE
almost any business person and
supported by almost all BPMN tools.

• Suited for high-level process <group>

modeling. Task Task Task

Sub Process Call Text


(expanded) Activity

• Should be comfortable for analyst Sub Process

that have used “flowcharts”.


Descriptive subclass of BPMN elements
Swimlanes and Message Flows BPMN 2.0
Page 29-30

• A swimlane is a graphical container for A pool represents a participant in a


partitioning a set of activities from other collaboration.
activities. Lanes are sub-
partitions of a pool.
– A pool is a container for partitioning a Process

IT system
from other Processes or Participants.
– Lanes are used to organize and categorize

Online store

Technical
support
activities within a Pool.

Employees
• Between pools communication is modeled

Customer
service
Lanes can be
with message flows. nested.
• Pools are used in process and collaboration Between pool
Product order Product delivery

diagrams. communication is
performed with Customer
message flows.

A black-box
pool.
32
Activities and Sequence Flows Bpmn 2.0
Page 29

• 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.
Sequence flow is
A collapsed sub-process A task is an atomic An expanded sub-process Sub-processes
represented with
with hidden details. activity. has visible details. can be nested.
directed solid lines.

Complete order online

Select Checkout
Complete order online
product

33
Descriptive Subclass of Activities BPMN 2.0
Page 158-184

• Descriptive subclass of BPMN


Define shipping User Task is a typical “workflow” task
elements includes following address where a human performs a task with
the assistance of a software.
activities:
– Task (see previous slide)
– User Task Credit card Service Task is a task that uses some
– Service Task verification sort of service, which could be a web
service or an automated application.
– Expanded sub-process (see previous slide)
– Collapsed sub-process (see previous slide)
– Call Activity (Task and Sub-process) Validate address Call Activity represents a point in the
process where a global process [+] or a
Call activity
global task is used (i.e. GOTO activity).
has a thick
border. Convert to local
currency

34
Events Bpmn 2.0
Page 29

• An event is something that A start event begins a


new process (instance). Start
»happens« during the process. shopping

• Basic (descriptive) events can An intermediate boundary event reacts


(e.g. interrupts) to the behavior of the Select a product

start a process, as well, they corresponding activity.


Product is not
occur at the end of a process. available

A new process flow is started out of


• Icons within the circle shape of an intermediate boundary event. Select an
alternative product
Wait for
an event can indicate the type confirmation

An intermediate event stops /


of triggering (e.g. a message, resumes process flow.
Buy a product
time condition, rule, etc.). A start event can start an
independent process thread (i.e.
event-based sub process).

An end event indicates the state of a End shopping

process when it comes to an end. 35


Descriptive Subclass of Events BPMN 2.0
Page 233-287

• Descriptive subclass of BPMN A general mechanisms that will instantiate a


particular process. It indicates, where a
Begin
elements includes following shopping particular process will start.

events: A message arrives from a participant and


New order
triggers the start of a process.
– Generic start event received
A specific time-date or a specific time interval
– Generic end event can be set that will trigger the start of a
– Message start event 8.00 am process.
– Message end event Indicates where a process will end. This type of
– Timer start event end event does not have a defined result.
Shopping
– Terminate event completed
Indicates that a message is sent to a participant
at the end of a process.
Product
shipped
Indicates that all activities (active process
paths) in a process should be immediately
ended.
Shutdown
online store 36
Gateways BPMN 2.0
Page 29, 34

• 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.
In case of ‚Credit card‘ the process Pay with credit card
flow will continue here. Credit card
Checkout
completed

Proceed to In case Condition A is ‘true’ the


checkout
process flow will continue here.
Start
checkout Choose
process payment

In case of ‚PayPal‘ the process Pay with PayPal


PayPal
flow will continue here. Checkout
completed 37
Descriptive Subclass of Gateways BPMN 2.0
Page 287-302

Branching • Descriptive subclass of Forking of


(decision) of
process paths BPMN elements includes process paths.
(A AND B)
(A XOR B).
A
B
following Gateways: A
B
– Exclusive (XOR) gateway. It is
used to create alternative paths
A B
within a process flow. A B

– The Exclusive (XOR) gateway


MAY or MAY NOT use a marker
that is shaped like an “X”.
Merging of
– Parallel (AND) gateway. It is Joining of
process paths used to create parallel flows and process paths.
C
(A XOR B). to synchronize (combine) (A AND B) C

parallel flows.

38
Data and Data Associations Bpmn 2.0
Page 30, 208

• Data objects provide information about Data association: task


what activities require to be performed ‘insert user data’ ‘writes’
(produces) information to New user
and/or what they produce. a data object.
– Local variable in a process level.
A data object holds Insert user
information relevant to data
• Data store represents persistent data, activities.

which exists outside the scope of the Data association: task


process. ‘store user data’ ‘reads’
User data
(requires) information
• Data objects and data store elements are from a data object.
Store user
data
connected to other process elements (i.e.
A data store based
activities, events) with data associations information persist
(dotted arrows). beyond the scope of Registered
the process. users User
registered
39
Artifacts and Associations BPMN 2.0
Page 29,30

• Artifacts are used to provide additional Text annotation On a local


website
represents additional
information about the process to modelers. description for any part
• Artifacts DO NOT affect process flow. of a process diagram.
Select a
• Artifacts are: text annotation, group and An association is
product

documentation. commonly used with


text annotation.
– Documentation is not a visible element. It is an On the online store website

attribute of most elements. Proceed to


Group label.
• An association is used to link information and checkout

artifacts with BPMN graphical elements. Group is a grouping of


graphical elements that are
within the same category. Validate order
details

40
Connecting Objects BPMN 2.0
Page 29

• Connecting object are visually


Data association. Association.
represented with different styles of non-
directed or directed lines. Comment

• Sequence flows represent the order of Data Object

Pool A
performed activities. Task 1 Task 2

• Data associations represent information


flows.
• Associations connect artifacts with other
bpmn elements. Sequence flow.
Pool B

• Message flows represent exchange of


messages between pools. Message flow.
Descriptive Process Modeling Elements BPMN 2.0
Page 3-4

Graphical Graphical Graphical


Element Element Element
representation representation representation

participant (pool) serviceTask Task startEvent (None)

LANE
POOL

LANE subProcess Sub Process


laneSet (expanded) endEvent (None)
(expanded)
sequenceFlow subProcess Sub Process
messageStartEvent
(unconditional) (collapsed)
Call
messageFlow CallActivity Activity
messageEndEvent

exclusiveGateway DataObject timerStartEvent

Text
parallelGateway TextAnnotation terminateEndEvent

association/dataAsso
task (None) Task Documentation Non-visual element
ciation

userTask Task dataStoreReference Group <group>


42
Business Process Modeling with BPMN 2.0

FULL SET OF PROCESS


MODELING ELEMENTS
43
Full Process Modeling Conformance Elements BPMN 2.0
Page 2

• 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
About Process Instances and Tokens BPMN 2.0
Page 456

• 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.
Task 3 is ready. Task 3 is active. Task 3 is complete.

A new token Tokens can be generated also


represents a States of an activity
within processes (e.g. in case Task 3 in relation to the
new process of a parallel gateway).
instance. position of a token.

A process is End events consume


instantiated when tokens.
Task 1 Task 2
one of its Start
events occurs. 45
BPMN Process, Pool and Participant Bpmn 2.0
Page 112, 145

A pool may include a process. Pool


Process Pool
Customer goes to A pool is not required to
Complete order
online
Takeover
Request
takeover
the store at his
convenience
contain a process (i.e. it Iii
Start
shopping Order ready Type of
notification delivery?
Delivery
Request Order Shopping
can be “black box”).

Lane Lane
delivery delivered complete

Pool
This symbol (III) annotates
In BPMN a process is depicted as a that a pool has multiple
graph of flow elements, which are participants.
a set of activities, events,
gateways, and sequence flows that
define finite execution semantics. A pool can be
Participant positioned
Lanes are used vertically or
to organize and horizontally.
A participant represents a specific partner categorize
entity or a more general partner role. activities within
Person or role Organization a pool.
46
BPMN Events BPMN 2.0
Page 233

• BPMN 2.0 defines 12 different triggers of events: none, Start


Event sub-pr.
Non-
Catc
Intermediate
Boundary
Non.
Thro End
Inter. Inter.
message, timer, error, escalation, cancel, compensation, None
inter.
hing
Inter.
wing

conditional, link, signal, terminate, multiple and multiple Message

parallel. Timer

• An event may ‘catch’ a trigger or ’throw’ it as a result. Error

• Events may be of the following types: Escalation

Cancel
– Start events, which indicate where a process will start. Compen-

• Start events are always of ‘catch’ type.


sation

Conditional
– End events, which indicate process’s end state. Link
• End events are always of ‘throw’ type. Signal

– Intermediate events, which indicate where something happens Terminate


within a process. Multiple
• Intermediate events may be of ‘catch’ or ‘throw’ type. Multiple
paralel

47
BPMN ‘Events by Type’ Example
Customer Intermediate
Intermediate throwing catching events
events ‘produce’ a Product status ‘wait’ for a specific
new event. Order confirmation
Invoice event to continue
with process flow.
Start events begin Check products
Send Order Prepare invoice
(instantiate) a new
availability
products confirmation End events represent
New order Send invoice
process instance received
status received final process instance
New product 1 minute state.
received Software update
Restart products
Non-interrupting availability service
Store

Perform online
store update
boundary events start Interrupting event-
New update
a new process flow. Stock update
received based sub process
Maintenance starting events start
Perform online
a new process flow.
Product
delivery store maintenance
notification
1.00 am

Interrupting boundary
events interrupt Non-interrupting event-based
existing and start a sub process starting events start
new process flow. Distribution center
a new process flow. 48
BPMN Message Events BPMN 2.0
Page 240-251

• Message events are used for communication between


processes.
• Message events send (i.e. throw) or receive (i.e. catch)

Pool A
Message
messages sent

• Message events can be used for modeling: Message

– Asynchronous process start,


– Waiting,

Pool B
– Interrupting current work in case a message receives, Message
received
– Informing other about process results and process end,
Common use of message
– Start of an asynchronous task, etc. events

49
BPMN Message Events Example
In case of a black-box
New process instance Customer pool, a message is
starts with a new connected to pool’s
order. Order
Request
boundary.
Order request Transaction
Order available update Order delivery
completed
notification

Intermediate catching In case of reaching end


events wait for a Order state, the message is
Check product request
message. When availability YES changed
Deliver order
triggered.
message receives, the New order
received All producs in
Send order
availability
Transaction
completed
Store

flow continues. stock?


NO
notification
Software update
In case a message
Intermediate throwing Request product Perform online receives a boundary
store update
events are source (i.e. Contact Products
message event start a
New update
generate, trigger) a distribution available received new process flow.
center
message. New software update

Delivery notification This sub-process is


In case of a white-box started with a message
Distribution center

pool, the messages are and interrupts the


connected to events Transfer product to
store
IT Support
‘main’ process flow.
and activities. New product Product
requested delivered 50
BPMN Signal Events Bpmn 2.0
Page 241

• Signals are generated by throwing signal events Signal A is thrown Signal B is


and caught by catching signal events. twice. caught twice.

• A signal differs from a message, since it has no

Pool C
specific target. Signal A

Pool A
Signal B
thrown received

– Throw  catch behavior: message events, error events, escalation


Signal B
events. received

– Publish  subscribe behavior: signal events.

Pool B
Signal A
thrown

• Same signals can be thrown or received several Signal A


received
Signal B
thrown

times. Signal A is Signal A is


thrown and thrown and
• Signals have within pool and between pools scope. caught in the caught in
same pool. different pools.
51
BPMN Signal Events Example
Online store is subscribed to
Non interrupting event based Manage ISP maintenances
ISP’s notifications. In case a
sub process signal start event.

Online store
Notify registered ‘signal’ is received, the work
users about online
store unavailability continues, however customers
ISP
maintenance are notified about the potential
notification
Signal catching events are similar online store unavailability.
to radio receivers.

Distribution center is subscribed Manage ISP maintenances

Distribution center
to ISP’s notifications. In case a
‘signal’ is received, the
Connect to the Signal throwing events are similar
secondary ISP
distribution center connects to ISP to a radio transmitter.
maintenance
the secondary ISP provider. notification

Note that signals are NOT


In case an Internet Service
directed to a specific target (i.e.
Internet service

Provider (ISP) plans a new


provider

Define
no connections). maintenance
schedule maintenance it published
Maintenance ISP
schedule maintenance maintenance notification.
notification
52
BPMN Timer Events BPMN 2.0
Page 253,254

• A timer event occurs by a specific time condition Scheduled


(e.g. specific time, interval, duration) process start.

• Timer events can only react on the corresponding Interrupt activity


8.00 AM

after 1 hour.
condition (i.e. ‘catch type’).
• Timer events can be used for modeling:
Do work
Inform about
elapsed time
– Scheduled process start, each minute. 1 minute 1 hour

– Waiting,
– Interrupting current activity after the elapsed time, Inform about
elapsed time
10 minutes

– Informing about the elapsed time,


– Start of a pre-scheduled job, etc.
Wait 10 minutes.
53
BPMN Timer Events Example

At 6.00 pm, the In case the service checks


distribution center YES
for products more than a
stops receiving minute, it is restarted.
Close 6 pm Product
requests. distribution
center
available
notification
Product not
available
Open distribution Check product notification In case restart takes
Wait until 6.am. center
6.00 am New product
availability
NO
more than 5 minutes, IT
request
expert is contacted.
Distribution center

1 minute
Order
At 5.45 AM the product from
manufacturer
distribution center
5.45 AM
starts working. Restart service
Distribution center
database

5 minutes
Each hour, the Service restart
Database backup
database is backed- At 0.00, the distribution
Restart
up where the Inform IT service center service is
Backup
current work Each hour Backup
expert 0.00 Service
restarted restarted.
complete
continues

54
BPMN Error Events BPMN 2.0
Page 247,255

• An error (end) event is thrown when an An error start event can only start End throwing
activity (i.e. task, sub process) does not end an event-based sub process. error event.
successfully.
Sub Process
– All currently active threads in the particular sub- An
process are terminated as a result. intermediate Event-based subprocess

error
• An exceptional end state can be caught by boundary
event catches
an intermediate error event attached to exception
Task Task

the boundary of an activity. end state exit


from the task
– An activity can have several boundary error or sub
events attached (each representing distinct end process.
exception states).
– Note that an error event always interrupts the
activity to which it is attached. Exception end state
exit from the task In this case the catch
or sub process. exception event will
terminate the process. 55
BPMN Escalation Events BPMN 2.0
Page 247,255

• Escalations events are useful for the


Escalation events. Error events.
communication between sub-processes
and processes.
– Escalation events enable “throw-catch” behavior (i.E.
In case an escalation happens, the next higher level of An error event

Start
Event
responsibility is involved). based
Interrupting
always interrupts

• In concept, escalations are similar to current activity or


sub- Non-
process interrupting flow.
errors, but are generally less critical. Catching

– In contrast to error events escalation events can be

Intermediate
Interrupting

Boundary
non-interrupting. An escalation
Non-
• Escalations events usually represent a interrupting event doesn’t
need to interrupt
situation where human intervention is Throwing current activity or
flow.
required. End

56
BPMN Error and Escalation Events Example
In case of bad Validate order
Intermediate
credit escalation is escalation events
thrown but the sub Check credit
Check product can throw
availability
process continues. escalations and
then continue.
Bad credit Service Service Product Technical
In case of
Sales
New order unavailable unavailable unavailable problems
request notification
unavailability the
sub process cannot This end event
Resolve Service Resolve Contact

continue normally. issue unavailable issue manufacturer represents


successful process
Online store

Contact IT stuff
Resolve
issue
Service end.
unavailable
Finances

Contact customer
Escalation is In case an error
commonly event is caught
manually resolved the corresponding
by another role or activity is
Warehouse

Fulfil order
department. Deliver order
interrupted.
Service
unavailable
57
BPMN Conditional and Link Events BPMN 2.0
Page 267-270

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

Check
temperature Continue
Check server‘s process flow
CPU temperature Stop cooling at ‘Check
Send server if T < 40°C temperature’
Start Server room
room
temperature
temperature
process in > 40°C
> 50°C
case this Start emergency Stop emergency
condition is Begin new cooling cooling
CPU Check
‘true’. process path if temperature temperature
58
T > 50°C < 40°C
BPMN Multiple Events BPMN 2.0
Page 271-273

Multiple (OR) Parallel multiple (AND)


• Start • Start

Start
Event
– There are multiple ways of starting based
Interrupting
– There are multiple triggers
the process. sub-
process
Non-
interrupting
required to start the process.
• Intermediate / boundary
– Catch / boundary: only one event Catching • Intermediate / boundary
definition is required to catch the – All of the defined event

Intermediate
Interrupting

Boundary
trigger. definitions are required to
– Throw: all of the event definitions are Non- trigger the event.
interrupting
considered and the subclasses will
Throwing
• Parallel multiple events are
define which results apply.
only of type ‘receive’
• End End
– There are multiple consequences of
(catch).
ending the process.
59
Multiple Events Example
Multiple ways of Restart online Multiple
store‘s server
starting the 0.00 AM OR Status OK Send server
‘consequences’ of
process. request for AND 10 restarted OR ending the process.
restart OR minutes signal server
signal OR > 5 minutes OR restarted
60°C Error
Event definitions Multiple event definitions (i.e. basic
with OR conditions. Restart is interrupted after 5 Inform IT events) are necessary to continue with
staff
minutes or after an error is caught. the process.

0.00 AM
Started with message
Server status Send server
Equivalent OK restarted
process Request for Restart online
restart store‘s server
with non-
multiple
Restart signal Started with signal
events Error 5 minutes Signal server
10 minutes restarted

Temperature Inform IT
over 60°C staff 60
BPMN Activities BPMN 2.0
Page 151

• Activities represent points in a process flow Process


where work is performed. They are the
Task 1 Sub Process 1

executable (i.e. manual, automatic) elements


of a BPMN process. Sub process 1
• The types of activities that are a part of a
process are:
– Task (atomic activity) Task 1.1 Sub Process 1.1 Task 1.2

– Sub-process (compound activity)


– Call activity (allows the inclusion of re-usable Sub process 1.1
Tasks and Processes in the diagram),
• A process is not a specific graphical object. Task 1.1.1 Task 1.1.2
Instead, it is a set of graphical objects.

61
Types of BPMN Activities BPMN 2.0
Page 151-152

• Special activities (i.e. sub-processes


Task Manual Task

User Task Rule

and tasks) Special task Service Task Script

– Behavior: loop, multiple instance (sequential, types.


Send Task Receive Task
parallel), compensation, call activity. Standard Loop Parallel multiple

• Special sub-processes (i.e. compound


instance

Sequential multiple
Special task instance Global (call) Activity

activities) and sub- Compensation

process types.
– View: collapsed / expanded Sub Process (collapsed)

– Type: basic (i.e. embedded), event-based sub Sub Process (expanded)

process, transaction, ad-hoc. Task Task

• Special tasks (i.e. atomic activities)


Ad-hoc subprocess

Special sub-
Event-based Sub Process
– Types: manual, user, service, send, receive, rule, process types.
script. Transaction

62
BPMN Task Types BPMN 2.0
Page 158-164

Service Task
• 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
Send Task
(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
Receive Task
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
User Task 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
Manual Task
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.
Business Rule
• 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
Script Task will execute the script. When the script is completed, the task will also be completed.
63
BPMN Task Types Example
Send task symbol indicates Receive task symbol
that a task sends a Customer indicates that a task waits
message prior to its end. for a message from
Invoice Payment
Order
another participant (pool)
Service task in order to be performed.
symbol indicates
that an (external) Send invoice Receive payment
Manual task
IT solution New order Order sent symbol indicates
(service) received
that a task is
performs a task. performed without
IT support.
Store

Check products
Prepare invoice Order packaging
availability
Business rule
symbol indicates
that a business Script task symbol indicates that a
rule engine Evaluate user Calculate total task is automatically executed by
rating costs
evaluates a task. a business process engine.

64
BPMN Activities: Loops BPMN 2.0
Page 189-190

• Loop activity is a repeating activity with


NO

sequential iteration.
– You cannot start second loop iteration until Add a product to
the cart
Complete order
YES
finishing the first one. Start
shopping Proceed to
Order sent

checkout

• Loop activity is primary evaluated at the end.


– ‘Do-while’ type of loop. A non-loop activity with gateway-loopback.
– When the first iteration starts, the number of
iterations is unknown. Loop condition can be
Until go to checkout highlighted in a comment.
• The activity will loop as long as loop condition
is true. Add a product to
Complete order
the cart
• A loop marker can be attached to sub- Start Order sent
shopping
processes and tasks.
A loop activity.
(Silver 2011) 65
BPMN Activities: Multi Instance BPMN 2.0
Page 432, 433

• The multi instance activity represents an Multiple parallel Check item 1


instances availability

activity with several activity instances. realized with an


• The instances may execute in parallel or AND gateway. Check item 2
availability

may be sequential.
New order Check item 3

• Multi instance activity makes sense when received availability

the process instance data contains some Number of items


Check item 4
is indicated with availability
kind of collection (e.g. items in an order). a text annotation.
• The number of iterations is known in Multiple
advance Check order‘s
instance
marker
– ‘For each’ type of loop. items availability For each order item
(parallel).
• Can be applied to tasks and sub-processes.
Check order‘s
This marker annotates items availability
sequential execution of New order
received
multiple instances. 66
BPMN Sub-processes BPMN 2.0
Page 174-175

• A sub-process is a graphical object within a Repeating


subprocess
Multi instance
(paralel)
process, which can be “opened up” to show subprocess

a lower-level process.
• Sub-processes define a contextual scope that Multi instance
(sequential)
Compensation
subprocess
can be used for : subprocess

Collapsed sub-
– attribute visibility, process markers.
– transactional scope, Compensation
subprocess
Compensation ad-
hoc subprocess
– for the handling of exceptions or events,
– for compensation.
• A sub process can be in collapsed (i.e. hidden Sub Process (expanded)

details) or expanded (i.e. visible details) view. Task


1
Task
2
Task
3

An expanded sub-process
with three parallel tasks. 67
BPMN Sub-Processes: Ad-hoc BPMN 2.0
Page 180-183

• A specialized type of sub-process in which Not all of the child


Activities may be
activities must be
activities have no required sequence performed in order performed
multiple times.
relationships. to complete.
– The sequence and number of performances for the Online shopping
activities is determined by their performers.
– Some sequence and data dependencies can be
defined. Check Top Sellers Add to card

• During the execution of the ad-hoc sub-


process, any one or more of the activities may
be active. List a category View an item

• An ad-hoc sub process is complete when a


performed declares it to be complete.
Visual marker for an Some Activities
(Silver 2011) Ad-hoc sub-process. may be connected. 68
BPMN Sub-processes: Event-based BPMN 2.0
Page 176-178

• An event sub-process is not Customer

part of the normal process flow. Product status


Order confirmation

– It has no incoming or outgoing


Invoice

sequence flows. Check products


Prepare invoice
availability

• When an event sub-process is New order


received
Send
products
Order
confirmation
Send invoice

Store
status received
triggered the parent process: Backup Software update

– Can be interrupted, Perform online


store back-up
Perform online
store update

– Can continue its work. 1.00 am New update


received

• An event sub-process may


Event sub-process Event sub-process is Event sub-process
occur zero or many times. non-interrupting bordered with a interrupting message
timer event – the dotted line. event – it interrupts
main process flow main process flow.
continues. 69
BPMN Sub-Processes: Transactions BPMN 2.0
Page 178-180

• BPMN provides built-in support for Transactional Consists of at least


business transactions. sub-process. two activities.

• A transaction consists of several activities


and might result in following outcomes: Book service Successful
– Successful completion. In this case, all tasks in a package completion
transaction are completed successfully.
– Failed completion (cancel). This scenario occurs if any All activities have
Error in Cancel been successfully
of the pre-determined criteria of failure of the transaction transaction
transaction is satisfied or in case an ‘abort’ message is finished.
received from outside of the transaction.
Hazard (serious Failed
– Hazard (exception). In this case any of the tasks in the
problem) in completition.
transaction end up not being executed or transaction.
compensated.
BPMN Sub-processes: Transactions Example
Transactional Directed association. Transactional
sub-process. successful
Book service package completion.

Transactional Book service item Dispose item


Purchase service
input. package
Customer Service
Unavailable approves package
service‘s date confirmed
Payment Throw
error
Request compensati
Service approoval of Disapproval
required service‘s date received on event.
Book service Cancel service
booking
1 day Undo Book Service
service package
package canceled
Unavailable
Cancel
Canceling transaction undoes
In case of Error in finished activities with
cancel the transaction
compensating activities.
transaction 1 hour Compensating activity is Resolve
problem
is repeated activated in case of cancel or manually Error in the transaction terminates
in an hour. throwing compensation event. the process.
BPMN Gateways BPMN 2.0
Page 287,288

• Gateways are used to control how sequence flows Exclusive

interact as they converge and diverge within a XOR

process. Inclusive
OR
– Decisions/branching (exclusive, inclusive, and complex), merging,
forking, and joining. Parallel

• Gateways are capable of consuming or generating


additional tokens (i.e. AND gateway). Event based

• Gateways have zero effect on the operational Exclusive


Event-based
measures of the process being executed start

– E.g. process duration, and costs. Parallel


Event-based

• A single gateway could have multiple input and start

multiple output flows. Complex

BPMN 2.0 Gateways


72
BPMN Gateways: Exclusive (XOR) BPMN 2.0
Page 290-292

• A diverging exclusive gateway (XOR) The token travels only along


is used to create alternative paths one path (sequence flow).
Pay with Credit

(i.e. decisions) within a process Card Merging


Conditions.
flows with
flow. Credit card
XOR.
Token.
– A decision can be thought of as a Pay on Delivery
Cash on delivery
question that is asked at a particular
point in the process.
The
– The question has a defined set of process
Pay with PayPal
alternative answers. continues Checkout
PayPal
Deliver order
from Choose
• The exclusive gateway may be checkout.
payment
method
XOR
represented with or without an x Gateway
Bank debit Pay with Bank
debit without X
marker. Branch implemented
marker.
with an exclusive
gateway (with X marker). Default flow prevents
deadlocks in case no
Gateway’s conditions are met. 73
BPMN Gateways: Inclusive (OR) BPMN 2.0
Page 292-293

• A diverging inclusive gateway (inclusive Each condition is A converging


decision) can be used to create alternative evaluated inclusive
independently.
but also parallel paths within a process flow. Analyze customer‘s
gateway (join).

• All combinations of the outgoing paths may


New customer profile

be taken, from zero to all.


– A default flow assures at least one active path. Analyze customer‘s

• A converging inclusive gateway is used to


orders history
Default
Order Prepare
received invoice
merge a combination of alternative and
parallel paths. Order > 1000 € Analyze customer‘s
One token
– An or gateway join is like an and gateway join ratings
continues
Branch
except that it ignores incoming sequence flows after OR
implemented
that are not enabled. Inclusive gateway is with an Several outgoing join.
semantically equal inclusive paths may be
Condition to conditional gateway. activated.
sequence flow. 74
BPMN Gateways: Parallel (AND) BPMN 2.0
Page 293-295

• A parallel gateway is used to create AND gateway


AND gateway
parallel flows and synchronize representing
representing join.
unconditional split.
(combine) parallel flows.
– A parallel gateway creates parallel paths Prepare invoice

without checking any conditions.


– Each outgoing sequence flow receives a Deliver order

Payment
token upon execution of and gateway. conformed
Prepare package
All outgoing
All incoming paths
• For incoming flows, the parallel paths become
need to be active to
active.
gateway will wait for all incoming Prepare invoice
proceed.
flows before triggering the flow
through its outgoing sequence flows. Unconditional split
Payment
conformed
without a gateway.
Prepare package

75
BPMN Gateways: Complex BPMN 2.0
Page 295-296

• 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
Complex behavior
– It passes the first incoming sequence flow and blocks all the rest.
is defined in a text
Discriminator pattern annotation.
(behavior) disposes the
Validate user‘s
“slowest” token. profile Whichever completes first
Contact user
High risks

Order over Report


10000 € Low risks Validate user‘s
Validate user‘s credit card Branching behavior
Complex gateway.
ratings is similar to inclusive
76
gateway.
BPMN Gateways: Event Based XOR BPMN 2.0
Page 297-298

• Event-based exclusive gateway is The decision is


made by another
similar to XOR gateway but the participant. The first
Customer triggered event
trigger of the gateway is based on defines the
Event based
event instead of data condition. exclusive gateway.
sequence flow.
Takeover

• Each alterative path must include Delivery


Prepare order for

a ‘catching flow element’. Takeover


takeover

requested
– Receive activity may be also used.

Store
Prepare order for

• The timer event commonly acts as


delivery
Delivery
requested

a ‘default event’. Dispose order

– E.g. wait for any messages for a day. 1 day

Other tokens are


Timer event acts
disposed.
as a default flow. 77
BPMN Gateways: Event Based Start BPMN 2.0
Page 299

Parallel event-based gateway • Event-based start gateways are used to Exclusive event-based
to start a process. instantiate a process in case of several gateway to start a process
start events.
Message A
Message A

X > 100 X > 100

The process is instantiated The process is


1 day with the first triggered instantiated if one of the 1 day

= event. However other


events are required for the
same process instance.
corresponding events is
activated. =
Message A
In this case triggering of The behavior is similar to Message A

each new start event an XOR gateway, which


X > 100 creates a new process merges multiple star X > 100

instance. events.
1 day 1 day 78
Controlled and Uncontrolled Flows BPMN 2.0
Page 500-503

Controlled flows Uncontrolled flows


• Control of sequence flows from one flow • No control of sequence flows from one
object (i.e. gateway, activity, event) to flow object (i.e. gateway, activity, event)
another with: to another.
– Gateways – Use of (normal) sequence flows.
– Conditional sequence flows
The execution of these
? flows (?) depends on a
Task Task Task
condition.
Task
These flows perform
Task
always.
Task Task
?
?
79
Forking Uncontrolled Flows BPMN 2.0
Page 36

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

These two processes


behaviors are equal.
Task

Task

Task

Task

Task

Uncontrolled fork realized Task


with multiple outgoing
flows. Controlled fork realized
with a parallel gateway.
80
Merging Uncontrolled Flows BPMN 2.0
Page 38

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

These two processes Task


behaviors are equal.
Task

Task

Task
Task

Task
Uncontrolled merge In this case this and the Controlled merge is realized
realized with multiple following tasks will be with an exclusive parallel
incoming flows. performed twice. gateway.
81
Items and Data BPMN 2.0
Page 203

• 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. An invoice (data) is
an information item
• 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. The products of an
order might be
physical items. 82
Data Objects BPMN 2.0
Page 203-209

• 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
Data Object Data Object
collection
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 input Data input


collection • 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
Data output Data Output
diagram to show the outputs of the process.
collection

• A data store provides a mechanism for activities to retrieve or update stored


information that will persist beyond the scope of the process.
Data Store

(Silver 2011) 83
Connecting Objects
• In BPMN, different types of connecting objects are necessary to represent different types
of flows in a process diagram.
Sequence Flows are used Data Associations are
to represent the order of used to show the flow of
flow elements in a information between
process. activities in a business
Data Object process.
Pool

Task 1 Task 2

Associations are used to


Message Flows are used link artefacts with other
to show the flow of Comment BPMN (graphical)
messages between two elements.
participants (i.e. pools) Pool
that are able to send and
receive them.
84
Connecting Objects: Sequence Flows BPMN 2.0
Page 97-98

• 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.
Default (sequence)
Sequence flows may Customer flow is used to prevent
NOT be used between deadlocks in case of
Pools (processes). Order Invoice conditional flows or
gateways.
Check items
Prepare invoice
availability All items
available
Diamond represents New order Send invoice
Store

received
conditional sequence
flow (similar to
Item unavailable
inclusive gateway). Request from Item
Solid arrows represent
warehouse available
sequence flows.
Warehouse
85
Connecting Objects: Sequence Flow Rules BPMN 2.0
Page 42-43

• Sequence flow may NOT connect to


– A start event, catching link event.
– Artefacts and data objects.
• Sequence flow may not result from
Task Task

– An end event, throwing link event.


– Artefacts and data objects. Sub Process Sub Process

• Sequence flow may not cross: Sequence


– Pool’s boundary. flows.
– Process – sub-process boundary.
Sequence flows may Sequence flows may
connect FROM these connect TO these
(groups of) elements. (groups of) elements. 86
Connecting Objects: Message Flows BPMN 2.0
Page 44

• A message flow is used to show the flow of


messages between two participants that are Pool Pool

‘capable’ to send and receive them.


– The source of a message flow must be either a
Message
message or multiple end event, or throwing
(non-initiating)
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, Initiating Task

multiple) intermediate event, boundary event, an Task message


activity or a black-box pool.
• A message can be optionally depicted as a Task

graphical decorator on a message flow.


Message
• To associate a message to a particular process Sub Process
flow. Sub Process
instance, bpmn uses correlations (non-visible
concept).
Message flows may Message flows may
connect FROM connect TO these
(Silver 2011)
these elements. elements.
Data Associations BPMN 2.0
Page 222-225

• Data associations are used to represent the Data associations may


connect TO these elements.
flow of data between item-aware elements
(i.e. data objects, data object references,
data stores, properties, data inputs and data Pool Pool

outputs). Task Task

• Tokens do not flow along a data association, Data Store

and as a result data associations have no Sub Process Sub Process

direct effect on the flow of the process.


Global Activity Global Activity
Data Object

Data associations
may connect FROM Data
these elements. association
connector. 88
Data and Data Associations Example
For a catch event, Customer
data associations For a throw
are used to push event, data
Invoice
data from the Order
associations are
message received used to fill the
into data objects Order Invoice
message that is
Validate Check items
and properties. customer availability
Prepare invoice
being thrown.
Store

New order Send invoice


Data object inputs received
Data objects
and outputs
Items MAY be directly
provide
Customer‘s associated with
information for Customer‘s
history
history User report a sequence flow
processes. [updated]
connector.
Data associations Data associations Two processes
are used to may cross interacting via This data output
Items availability
represent inputs process’s (pool) data store. object has a state
and outputs of boundaries. defined [updated].
activities. Warehouse 89
Full Set of Process Modeling Elements BPMN 2.0
Page 3-4

Start Intermediate Annotation


Event sub-pr. Boundary Manual Task Task Exclusive
Catc Thro End
Non- Non. XOR
Inter.
inter.
hing Inter.
Inter.
wing Group
User Task Ad-hoc Data object Collection
None Inclusive Documentation
Standard Loop OR
Message Service Task
Sequence flow Data input Data output
Timer Send Task Parallel multiple Parallel
instance Default flow
Error Sequential multiple Message
Receive Task Conditional flow Data
instance Event based store
Escalation
Rule Message flow Initiating
Compensation
Cancel Exclusive message
Association
Event-based
Compen- Script Global (call) Activity start Directed/data association
sation
Parallel
Conditional Sub Process (collapsed) Event-based
start
Full class
Link
Sub Process (expanded)
Complex
Signal Task Task Analytical class
Terminate
Event-based Sub Process
Pool Descriptive
Multiple class
Multiple Transaction Lane Lane Lane
paralel
BPMN Modeling Rules (i.e. BPMN Syntax)
• Address the syntactic quality of Excerpts of BPMN 2.0 rules, collected by Bruce Silver:

BPMN diagrams. • All flow objects other than start events, boundary events, and
compensating activities must have an incoming sequence flow, if the
• Formally defined in BPMN meta- process level includes any start or end events.
model • All flow objects other than end events and compensating activities
must have an outgoing sequence flow, if the process level includes any
– UML class diagrams. start or end events.
– Include precise definition of BPMN • A start event cannot have an incoming sequence flow.
• A start event cannot have an outgoing message flow.
elements, their attributes and the • A start event with incoming message flow must have a message trigger.
relationships between elements. • A start event cannot have an error trigger.

• BPMN modeling rules are scattered •
A start event in a sub-process must have a none trigger.
A boundary event must have an outgoing sequence flow.
over the BPMN specification. • 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.

(Silver 2011) 91
BPMN Modeling Style
• Addresses the pragmatic quality of Examples of Bruce Silver’s Style Rules:

BPMN diagrams. 1. Use icons and labels to make process logic clear from the printed
diagram.
• Non-normative conventions used in 2. Make models hierarchical, fitting each process level on one page.
BPMN diagrams. 3. Use a black-box pool to represent the Customer of other external
requester or service provider.
• Out of scope of BPMN 2.0 4. A child-level diagram should not be enclosed in an expanded sub-
process shape.
Specification. 5. The label of a child-level page should match the name of the sub-
• Useful to create consistent and process.
6. Activities should be labeled.
unambiguous BPMN diagrams. 7. Two activities in the same process should not have the same
name. (Use global activity to reuse a single activity in a process.)
• Can be acquired or evolved within 8. A Send task should have an outgoing message flow.
an organization. 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.
(Silver 2011) 92
BPMN Modeling Method
• BPMN Method – A ‘recipe’ (also Bruce silver’s method of hierarchical top-down modeling:

approach or process) about how to 1. Agree on process scope, when it starts and ends, what the instance
create business process diagrams. represents, and possible end states.
2. Enumerate major activities in a high-level map, ten or fewer, each
• BPMN Method is out of scope of aligned with the process instance. Think about possible end states of
each activity.
BPMN 2.0 Specification. 3. Create top-level bpmn diagram. Arrange high-level map activities as
• Useful to create consistent business sub processes in a BPMN process diagram, with one top-level end
event per process end state. Use gateways to show conditional and
process diagrams across an concurrent paths.
4. Expand each top-level sub process in a child-level diagram. If sub
organization. process at parent level is followed by a gateway, match sub process
• Can be acquired or evolved within an end states to the gateway (or gate) labels.
5. Add business context by drawing message flows between the process
organization. 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.
(Silver 2011) 93
Business process modeling with BPMN 2.0

BPMN BEYOND PROCESS


MODELING
94
BPMN Meta-model
• Meta-model is a formal specification of:
M3: Meta-meta-model
– semantic BPMN elements (most of them have
Universal modeling language
visual representations) and
– relationships between semantic BPMN
elements. M2: Meta-model
• Meta-model is represented in UML’s class Schema definition languages
e.g. BPMN Meta-model for
Data Object
diagrams.
– (semantic) BPMN elements are represented as M2: Model
object classes with defined required and e.g. BPMN data object
Metadata Schema
optional attributes. representing an Invoice

• All valid BPMN models must conform to


the specification of the meta-model. M1: Instance of a model
Metadata instances e.g. Mark’s invoice

(Silver 2011) MOF Meta-Levels Hierarchy 95


BPMN Meta-model Example: Data Object BPMN 2.0
Page 204

BaseElement is the abstract super Classes are organized in Meta-model defined in UML’s Each element might have
class for most BPMN elements. It packages (e.g. foundation). class diagram notation. documentation attached to it.
provides the attributes id and
documentation, which are inherited
other elements (classes).
DataObject
Inheritance relationship. might have Data
states (e.g. draft,
The DataObject element in review, final).
inherits the attributes
and model associations
of FlowElement and DataObject is an
ItemAwareElement. Item Aware
Element.
isCollection attribute
defines if the Data
Object represents a Data Object References are a
collection of elements. way to reuse Data Objects in
the same diagram.
96
BPMN Layered Structure BPMN 2.0
Page 2

• The BPMN specification is structured This layer defines


in layers (i.e. packages of classes, elements, specific for
where a class represents a semantic Conversation diagrams.
BPMN element).
This layer defines
– A semantic element might have a visual elements, specific for
representation or not. Collaboration diagrams.
• Each layer defines a subset of BPMN
semantic elements and models. Basic BPMN elements,
which are common to all
– Each layer builds on top of and extends BPMN models.
lower layers.
• Process modeling with BPMN Layer of elements,
includes elements and diagrams, which are specific for
choreography models.
which belong to all layers except
choreography. Elements, which belong to Choreography layer IS NOT part of
yellow layers are specific process modeling conformance.
for process diagrams. 97
BPMN Diagram Interchange (DI) BPMN 2.0
Page 372

• BPMN DI describes the location and size of BPMN DI Shape meta-model.


shapes and connectors as well as the linked
DI::Labeled Shape BPMNLabel
page structure of BPMN diagrams.
– BPMN DI Meta-model is similar to BPMN’s
label 0..1
semantic meta-model.
shape

• The BPMN DI is meant to facilitate BPMNShape


0..1
BPMNShape
isHorizontal:boolean [0..1]
interchange of BPMN diagrams between tools 1 isExpanded:boolean [0..1]
isMarkerVisible:boolean [0..1]
shape also contains
* an optional
rather than being used for internal diagram isMessageVisible:boolean [0..1]
participantBandKind:participantBandKind
label of type
:[0..1]
representation by the tools. BPMNShape represents -memberName BPMNLabel.
a depiction of a BPMN 0..1

• BPMN diagram consists of element. 0..1 bpmnElement

– BPMN DI meta-model information, BPMN::BaseElement


Referenced BPMN
– BPMN semantic meta-model information. element, which
defines the
semantic of BPMN
(Silver 2011) element. 98
BPMN Serialization
• BPMN Meta-models (semantic and DI), which are
represented in class diagrams, are published (i.e. Graphical
serialized) in two alternative XML formats: Semantics of a BPMN20.xsd layout of a
– OMG’s Metadata interchange (XMI) and BPMN model. BPMN model.
– W3C’s XML Schema Definition (XSD).
• Most BPMN tool vendors use XSD for interchanging models.
Semantic.xsd BPMNDI.xsd
• Cannot represent certain relationships of UML class diagrams
(e.g. multiple inheritance).
– Transformations between XSD and XMI exist.
• Defined in XSLT. DI.xsd
• In BPMN XSD, the information concerning the graphical
layout of shapes (e.g. position, size, connection points)
is separated from the semantic model.
DC.xsd
– A valid BPMN model may omit the graphical informations of
a BPMN model completely.
BPMN 2.0 schema file structure
(Silver 2011) 99
BPMN Execution Semantics BPMN 2.0
Page 425

• 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 Execution Semantics: Activity Lifecycle BPMN 2.0
Page 428-429

An activity is ready for An Activity, if Ready or Active,


execution if the required can be Withdrawn from being
number of tokens is available to able to complete in the context
activate the activity /…/. of a race condition /…/.

When some data InputSet


becomes available, the Activity An Activity’s execution is
changes from Ready to the interrupted if an interrupting
Active state /…/. Event is raised or if an
interrupting Event Sub-Process
is initiated. In this case, the
If an Activity’s execution ends
Activity’s state changes to
without anomalies, the
Failing (in case of an error) or
Activity’s state changes to
Terminating (in case any other
Completing /…/.
interrupting Event).

After all completion If an Activity fails during


dependencies have been execution, it changes from the
fulfilled, the state of the Activity state Active to Failed.
changes to Completed /…/.
101
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

Vous aimerez peut-être aussi