business process modeling with bpmn 2.0 - second edition

102
Business Process Modeling with BPMN 2.0 2 nd edition [email protected]

Upload: gregor-polancic

Post on 23-Jan-2018

77.965 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: Business Process Modeling with BPMN 2.0 - Second edition

Business Process Modeling with BPMN 2.0

2nd edition

[email protected]

Page 2: Business Process Modeling with BPMN 2.0 - Second edition

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

[email protected]

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.

Page 3: Business Process Modeling with BPMN 2.0 - Second edition

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

Page 4: Business Process Modeling with BPMN 2.0 - Second edition

THE BASICS OF BUSINESS PROCESSES AND BPMN

Business Process Modeling with BPMN 2.0

4

Page 5: Business Process Modeling with BPMN 2.0 - Second edition

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)

Page 6: Business Process Modeling with BPMN 2.0 - Second edition

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

Page 7: Business Process Modeling with BPMN 2.0 - Second edition

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)

Page 8: Business Process Modeling with BPMN 2.0 - Second edition

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

?

Page 9: Business Process Modeling with BPMN 2.0 - Second edition

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.

Page 10: Business Process Modeling with BPMN 2.0 - Second edition

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

Page 11: Business Process Modeling with BPMN 2.0 - Second edition

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.

Page 12: Business Process Modeling with BPMN 2.0 - Second edition

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

Page 13: Business Process Modeling with BPMN 2.0 - Second edition

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.

Page 14: Business Process Modeling with BPMN 2.0 - Second edition

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.

Page 15: Business Process Modeling with BPMN 2.0 - Second edition

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

Page 16: Business Process Modeling with BPMN 2.0 - Second edition

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

Page 17: Business Process Modeling with BPMN 2.0 - Second edition

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

Page 18: Business Process Modeling with BPMN 2.0 - Second edition

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

Page 19: Business Process Modeling with BPMN 2.0 - Second edition

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.

Page 20: Business Process Modeling with BPMN 2.0 - Second edition

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

Page 21: Business Process Modeling with BPMN 2.0 - Second edition

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.

Page 22: Business Process Modeling with BPMN 2.0 - Second edition

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

Page 23: Business Process Modeling with BPMN 2.0 - Second edition

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

Page 24: Business Process Modeling with BPMN 2.0 - Second edition

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.

Page 25: Business Process Modeling with BPMN 2.0 - Second edition

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.

Page 26: Business Process Modeling with BPMN 2.0 - Second edition

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

Page 27: Business Process Modeling with BPMN 2.0 - Second edition

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

Page 28: Business Process Modeling with BPMN 2.0 - Second edition

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

Page 29: Business Process Modeling with BPMN 2.0 - Second edition

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

Page 30: Business Process Modeling with BPMN 2.0 - Second edition

BASIC SET OF PROCESS MODELING ELEMENTS

Business Process Modeling with BPMN 2.0

30

Page 31: Business Process Modeling with BPMN 2.0 - Second edition

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

Page 32: Business Process Modeling with BPMN 2.0 - Second edition

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.

Page 33: Business Process Modeling with BPMN 2.0 - Second edition

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.

Page 34: Business Process Modeling with BPMN 2.0 - Second edition

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

Page 35: Business Process Modeling with BPMN 2.0 - Second edition

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

Page 36: Business Process Modeling with BPMN 2.0 - Second edition

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

Page 37: Business Process Modeling with BPMN 2.0 - Second edition

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.

Page 38: Business Process Modeling with BPMN 2.0 - Second edition

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

Page 39: Business Process Modeling with BPMN 2.0 - Second edition

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.

Page 40: Business Process Modeling with BPMN 2.0 - Second edition

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

Page 41: Business Process Modeling with BPMN 2.0 - Second edition

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.

Page 42: Business Process Modeling with BPMN 2.0 - Second edition

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

Page 43: Business Process Modeling with BPMN 2.0 - Second edition

FULL SET OF PROCESS MODELING ELEMENTS

Business Process Modeling with BPMN 2.0

43

Page 44: Business Process Modeling with BPMN 2.0 - Second edition

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

Page 45: Business Process Modeling with BPMN 2.0 - Second edition

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

Page 46: Business Process Modeling with BPMN 2.0 - Second edition

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.

Page 47: Business Process Modeling with BPMN 2.0 - Second edition

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

Page 48: Business Process Modeling with BPMN 2.0 - Second edition

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.

Page 49: Business Process Modeling with BPMN 2.0 - Second edition

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

Page 50: Business Process Modeling with BPMN 2.0 - Second edition

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.

Page 51: Business Process Modeling with BPMN 2.0 - Second edition

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.

Page 52: Business Process Modeling with BPMN 2.0 - Second edition

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.

Page 53: Business Process Modeling with BPMN 2.0 - Second edition

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

Page 54: Business Process Modeling with BPMN 2.0 - Second edition

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.

Page 55: Business Process Modeling with BPMN 2.0 - Second edition

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

Page 56: Business Process Modeling with BPMN 2.0 - Second edition

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.

Page 57: Business Process Modeling with BPMN 2.0 - Second edition

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.

Page 58: Business Process Modeling with BPMN 2.0 - Second edition

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

Page 59: Business Process Modeling with BPMN 2.0 - Second edition

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

Page 60: Business Process Modeling with BPMN 2.0 - Second edition

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

Page 61: Business Process Modeling with BPMN 2.0 - Second edition

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

Page 62: Business Process Modeling with BPMN 2.0 - Second edition

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

Page 63: Business Process Modeling with BPMN 2.0 - Second edition

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

Page 64: Business Process Modeling with BPMN 2.0 - Second edition

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.

Page 65: Business Process Modeling with BPMN 2.0 - Second edition

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

Page 66: Business Process Modeling with BPMN 2.0 - Second edition

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

Page 67: Business Process Modeling with BPMN 2.0 - Second edition

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.

Page 68: Business Process Modeling with BPMN 2.0 - Second edition

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.

Page 69: Business Process Modeling with BPMN 2.0 - Second edition

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.

Page 70: Business Process Modeling with BPMN 2.0 - Second edition

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.

Page 71: Business Process Modeling with BPMN 2.0 - Second edition

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.

Page 72: Business Process Modeling with BPMN 2.0 - Second edition

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

Page 73: Business Process Modeling with BPMN 2.0 - Second edition

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.

Page 74: Business Process Modeling with BPMN 2.0 - Second edition

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

Page 75: Business Process Modeling with BPMN 2.0 - Second edition

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

Page 76: Business Process Modeling with BPMN 2.0 - Second edition

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

Page 77: Business Process Modeling with BPMN 2.0 - Second edition

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.

Page 78: Business Process Modeling with BPMN 2.0 - Second edition

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

Page 79: Business Process Modeling with BPMN 2.0 - Second edition

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.

Page 80: Business Process Modeling with BPMN 2.0 - Second edition

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.

Page 81: Business Process Modeling with BPMN 2.0 - Second edition

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.

Page 82: Business Process Modeling with BPMN 2.0 - Second edition

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

Page 83: Business Process Modeling with BPMN 2.0 - Second edition

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

Page 84: Business Process Modeling with BPMN 2.0 - Second edition

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.

Page 85: Business Process Modeling with BPMN 2.0 - Second edition

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

Page 86: Business Process Modeling with BPMN 2.0 - Second edition

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

Page 87: Business Process Modeling with BPMN 2.0 - Second edition

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

Page 88: Business Process Modeling with BPMN 2.0 - Second edition

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

Page 89: Business Process Modeling with BPMN 2.0 - Second edition

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.

Page 90: Business Process Modeling with BPMN 2.0 - Second edition

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

Page 91: Business Process Modeling with BPMN 2.0 - Second edition

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.

Page 92: Business Process Modeling with BPMN 2.0 - Second edition

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.

Page 93: Business Process Modeling with BPMN 2.0 - Second edition

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.

Page 94: Business Process Modeling with BPMN 2.0 - Second edition

BPMN BEYOND PROCESS MODELING

Business process modeling with BPMN 2.0

94

Page 95: Business Process Modeling with BPMN 2.0 - Second edition

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)

Page 96: Business Process Modeling with BPMN 2.0 - Second edition

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

Page 97: Business Process Modeling with BPMN 2.0 - Second edition

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.

Page 98: Business Process Modeling with BPMN 2.0 - Second edition

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)

Page 99: Business Process Modeling with BPMN 2.0 - Second edition

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)

Page 100: Business Process Modeling with BPMN 2.0 - Second edition

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

Page 101: Business Process Modeling with BPMN 2.0 - Second edition

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 /…/.

Page 102: Business Process Modeling with BPMN 2.0 - Second edition

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