You are on page 1of 81

FLOW OBJECTS

Slide 28, 25/10/2022


Flow Objects (1 of 8)

- Flow objects are the main describing elements within BPMN and consist

of three core elements

- Activities

- Events

- Gateways

Slide 29, 25/10/2022


Flow Objects – Activities (2 of 8)

- Activity describes the kind of work that must be done


- Represented with a rounded-corner rectangle

- Task
- Represents a single unit of work that cannot be broken down to a
further level of business process detail
- Sub-process
- Used to hide or reveal additional levels of business process detail
- Has its own self-contained start and end events
- Sequence flows from the parent process must not cross the
boundary

Slide 30, 25/10/2022


Flow Objects – Activities (3 of 8)

Task (Atomic) Collapsed


Expanded Sub-Process
Sub-Process

A Task is an atomic activity within a process flow. A Task is used when


the work in the Process cannot be broken down to a finer level of detail.

Slide 31, 25/10/2022


Flow Objects – Activities, Naming conventions (4 of 8)

- … the label should begin with a verb in the imperative form

- followed by a noun referring to a business object, e.g. “Approve order”.

Slide 32, 25/10/2022


Flow Objects – Events (5 of 8)

- An Event is something that “happens” during the course of a Process.


Events affect the flow of the process and usually have a cause or an impact,
for example the arrival of a message, reaching a certain date or the
occurrence of an exception situation.
- Depending on its position, an event in a business process is categorized as
a start, intermediate or end event:

an end error event

Slide 33, 25/10/2022


Flow Objects – Gateways, Naming conventions (6 of 8)

- … the label should begin with a noun (again, this would typically be a

business object)

- and end with a past participle, e.g. “Invoice emitted”.

Slide 34, 25/10/2022


Flow Objects – Gateways (7 of 8)

Gateways represent a branching point or a point where various control


flows merge. Gateways are drawn as a diamond.

Depending on the symbol inside the diamond, it stands for an AND, OR,
XOR, an event-based or an complex-gateway.
- AND-,

- OR-,

- XOR-,

- Complex

- Event-based

Slide 35, 25/10/2022


Flow Objects – Gateways (8 of 8)

- AND = express parallelism; create and synchronize parallel flows

- OR = selects or merges one or more paths, at least one path is taken

- XOR = express decisions; from several outgoing sequence flows,


exactly one must be selected

- Complex = models complex synchronization behavior, x out of y


(used for merging)

- Exclusive Event-based Gateway = alternative paths that follow


the Gateway are based on
Events

Slide 36, 25/10/2022


Exercise

- Exercise No. 11 – Cooking Process

Slide 37, 25/10/2022


DATA

Slide 38, 25/10/2022


Data

Data is represented with the four elements:

1. Data Objects

2. Data Inputs

3. Data Outputs

4. Data Stores

Slide 39, 25/10/2022


Data Objects

- Data Objects = represent information and material flowing in and out


of activities
= can be physical or electronic objects (paper, email)
= depict as a document with the upper-right corner folded

data object
(input)
data object
(output) data
association
(dotted arrow
with an open
arrowhead)

Slide 40, 25/10/2022


Data Stores

- Data Store = A Data Store provides a mechanism for Activities to


retrieve or update stored information that will persist
beyond the scope of the Process, e.g. a database for
electronic objects or a filing cabinet for physical ones.

Slide 41, 25/10/2022


CONNECTING OBJECTS

Slide 42, 25/10/2022


Connecting Objects

There are four ways of connecting the Flow Objects to each other or
other information.

There are four Connecting Objects:


1. Sequence Flows (solid arrow)
2. Message Flows (dashed arrow)
3. Associations (dotted line)
4. Data Associations (see Data) (dotted arrow with an open arrowhead)

Slide 43, 25/10/2022


Connecting Objects – Sequence Flow

A Sequence Flow is used to show the order that Activities will be


performed in a Process.

A Sequence flow connect activities, gateways and events.

Slide 44, 25/10/2022


Exercise

- Exercise No. 7 – Splitting and Joining


- Exercise No. 14 - Gateways

Slide 48, 25/10/2022


Conditional Flow – Splitting without Gateways

Slide 49, 25/10/2022


Default Flow

For Exclusive Gateways or Inclusive Gateways, one type of flow is the


default condition flow. This flow will be used only if all the other outgoing
conditional flows are not true at runtime.

The default flow is


represented by
a diagonal slash
added to the beginning
of the connector.

Slide 50, 25/10/2022


Exception Flow

The exception flow occurs outside the normal flow of the process and is
based on an intermediate event attached to the boundary of an activity
that occurs during the performance of the process.

Slide 51, 25/10/2022


Message Flow

A message flow is represented by a dashed arrow with a circle at the


starting point. It is used to show the flow of messages between two
processes (or pools). It can be used in conjunction with BPMN elements
that can send and receive messages.

Slide 52, 25/10/2022


Associations (1 of x)

An Association is used to link information and Artifacts with BPMN graphical


elements.

- Data Objects are linked to Activities.

- An Association is used to connect user-defined text (an Annotation) with


a Flow Object.

Slide 53, 25/10/2022


SWIMLANES

Slide 54, 25/10/2022


Pool & (Swim)Lanes (1 of 2)

The entire process is contained in a pool.

- BPMN Pools describe whole organizations and contain lanes.


- BPMN Lanes describe who is executing a specific set of tasks.
Expanded pool

Slide 55, 25/10/2022


Pool & Lanes (2 of 2)

BPMN Lanes should represent specific roles.


BPMN Lanes should not represent individuals. Collapsed pool

Slide 56, 25/10/2022


Collaboration / Choreography Diagram

A collaboration is a synchronized interaction of two or more processes


without central control. The processes communicate by exchanging
messages.

A message flow can represent any kind of information exchange, for


example a phone call or the sending of an e-mail, a fax, or a letter. Messages
can also be connected to physical objects, e.g. a delivery of goods can be
modeled as a message flow in a collaboration.

Slide 57, 25/10/2022


Allowed constructs when working with pools and message
flow

Slide 58, 25/10/2022


Forbidden constructs when working with pools and message
flows

Slide 59, 25/10/2022


ARTIFACTS

Slide 60, 25/10/2022


Artifacts

BPMN 2.0 provides three standardized Artifacts:

- Associations, (slide 51, dotted line)


- Groups, and
- Text Annotations (slide 51, dotted line)

Slide 61, 25/10/2022


Group (1 of 2)

Slide 62, 25/10/2022


Group (2 of 2)

- The rounded rectangle with the dash-dotted line is a group.

- It only serves presentation purposes, such as highlighting interesting

parts of a model, or grouping elements that belong together, as it is

the case here. The control flow logic of the model is not influenced by a

group.

- You can apply groups any way you like —even across pool boundaries.

Slide 63, 25/10/2022


Text Annotation

- We use annotations to supplement diagrams.

- An annotation is used for adding explanations, remarks, etc. to a certain


model element. Thus, annotations increase the understanding of a model.
They do not have any effect on the control flow logic of the model.

Slide 64, 25/10/2022


Common mistakes: Process Model

Generally good quality models, but:

- Missing labels on (X)OR-split conditions, message flows, start/end events

- Two actions in one task (e.g. “Ship goods and invoice customer”) –

decompose into 2 tasks instead

- Too low level tasks such as “click X button” or “continue to X page on

website” – aggregate when performed by same resource (e.g. “Fill out

form”)

- Normal sequence flow crossing pools’ boundaries

Slide 65, 25/10/2022


Exercise

- Exercise No. 8 – Birthday Party

Slide 66, 25/10/2022


ADDITIONAL MODELING
ELEMENTS

Slide 67, 25/10/2022


Activity Markers

Marker:

- Loop Marker

- Multi-Instance Marker

Slide 68, 25/10/2022


Activity Looping

- A loop task repeats until a defined condition either applies or ceases to


apply.

Slide 69, 25/10/2022


Sequence Flow Looping,
Cycle

Sometimes we may require


to repeat one or
several activities.

Slide 70, 25/10/2022


Exercise

- Exercise No. 10 – Shopping Process

Slide 71, 25/10/2022


Sequential and parallel multi-instance activities (1 of 3)

Example: Talent show on television

- “Performance” = sequential
- Sub-process “Determine Score” = sequential
- “Vote” = parallel

Slide 72, 25/10/2022


Sequential and parallel multi-instance activities (2 of 3)

- Useful when the same activity needs to be executed for multiple entities or
data items, such as:
- Request quotes from multiple suppliers
- Check the availability for each line item in an order separately
- Send and gather questionnaires for multiple witnesses in the context of
an insurance claim

Multi-Instance Multi-Instance
Task Sub-process

Slide 73, 25/10/2022


Sequential and parallel multi-instance activities (3 of 3)

A multiple instance (Multi Instance, markers: three vertical parallel lines)


repeats - parallel - all contained activities with different data (e.g. every WG
member selects a pizza) until the corresponding defined condition (e.g. all
WG members) is fulfilled.

Example for parallel multi-instance activities:

Quelle: Jakob Freund und Bernd Rücker: Praxishandbuch BPMN 2.0, Carl
Hanser Verlag, 3., aktualisierte Auflage, 2012, S. 78

Slide 74, 25/10/2022


Ad-hoc Process ~ (1 of 2)

An ad-hoc sub-process is marked with a tilde.

Although the activities contained in such a sub-process are determined, the


order is not known in advance, because it will only emerge when the sub-
process is carried out. Typical examples are creative, knowledge-intensive
processes.

(Collapsed) Ad-hoc sub-process

Expanded ad-hoc sub-process

Slide 75, 25/10/2022


Ad-hoc Process ~ (2 of 2)

Contained activities can be executed


- in any order,
- several times or
- be omitted.

Which symbols may occur?

Slide 76, 25/10/2022


Exercise

- Exercise No. 6 – PC Treasure Hunt as a Process

Slide 77, 25/10/2022


Modeling of Exceptions – Exception Flow (1 of 2)

Slide 78, 25/10/2022


Modeling of Exceptions – Exception Flow (2 of 2)

- Non-Interrupting Intermediate Escalation Event (dashed line)

-> For an Escalation Event that does not interrupt the Activity to which
it is attached, the boundary of the Event is dashed.

− Interrupting Intermediate Error Event (solid line)

-> A catch Intermediate Error Event can only be attached to the


boundary of an Activity, i.e., it MAY NOT be used in normal flow.

Slide 79, 25/10/2022


Exercise

- Exercise No. 9 – Birthday Party II

Slide 80, 25/10/2022


SUBPROCESS

Slide 81, 25/10/2022


Syntactical rules for subprocesses

- Start with one start event

- Finish with at least one end event

- Sequence flows cannot cross sub-process boundaries

Slide 82, 25/10/2022


Possible Sub-processes (1 of 2)

Slide 83, 25/10/2022


Sub-processes (2 of 2)

Slide 84, 25/10/2022


LINK EVENT

Slide 85, 25/10/2022


Link Event

A Link Event is a mechanism for connecting two sections of a Process.

Slide 86, 25/10/2022


Types of Events and their Markers (1 of 2)

Start Intermediate Intermediate Intermediate Intermediate End

Top-Level Catching Boundary Boundary Throwing


interrupting Non-
interrupting

None

Message

Timer

Slide 87, 25/10/2022


Types of Events and their Markers (2 of 2)

Start Intermediate Intermediate Intermediate Intermediate End

Top-Level Catching Boundary Boundary Throwing


interrupting Non-
interrupting

Escalation

Error

Terminate

Link

Slide 88, 25/10/2022


EXAMPLES

Slide 90, 25/10/2022


An Event-Based Gateway example using Message Intermediate
Events

Slide 91, 25/10/2022


An Event-Based Gateway example using Receive Tasks

Slide 92, 25/10/2022


Complex Gateway

- Using complex gateways to realize m out of n merges.

Slide 93, 25/10/2022


A Group around Activities in different Pools

Slide 94, 25/10/2022


Message Flows connecting to the boundaries of two Pools

Slide 95, 25/10/2022


Message Flows connecting to Flow Objects within two Pools

Slide 96, 25/10/2022


Timer Events

Slide 97, 25/10/2022


Message Events

When used to “catch” the message, then the Event marker will be unfilled.
When used to “throw” the message, the Event marker will be filled.

Slide 98, 25/10/2022


ANALYSIS AND
OPTIMIZATION

Slide 99, 25/10/2022


Syntax and Semantic

Syntactic Errors
- Missing start or end event
- Missing (input-/output arrows)
- Message flows instead of sequence flows
- Sequence flows instead of message flows
- Intermediate event instead of end or start event etc.

Semantic Errors
- An AND-gateway joins an OR- oder XOR-gateway
- Wrong gateway logic
- Not synchronizing joining gateways

Slide 100, 25/10/2022


Process Analysis

Slide 101, 25/10/2022


Times in Business Processes

Slide 102, 25/10/2022


Process optimization –
Reduction of processing time

Slide 103, 25/10/2022


Process optimization – Eliminate

Slide 104, 25/10/2022


Process optimization – Collapse

Slide 105, 25/10/2022


Process optimization – parallelise

Slide 106, 25/10/2022


Process optimization – relocate

• Start activities earlier if there is no causal dependence


(e.g. E can only be made after C, but is independent of B and D)

• A=3, B=2, C=4, D=3, E=1


-Processing time: 3 + (5) = 8
➢ tasks B + D (= 5) takes as long as tasks C + E (= 5)

Slide 107, 25/10/2022


Summary of optimization alternatives

Slide 108, 25/10/2022


Representation of business situations

Slide 109, 25/10/2022


Compensation Event

- Compensations can be modeled without transactions.


- For this, throwing compensation end or intermediate events can be used.
- They contain filled rewind-symbols.

Slide 111, 25/10/2022


Compensation Event

- Typical examples (of transcations) are


- the booking of a train or flight journey
- the reservation of a rental car
- the charge of a credit card
- the contracting of a service provider

- A transaction can either be carried out in its entirety, or not at all.


- If something goes wrong, the transaction must be rolled back.

Slide 112, 25/10/2022


Compensation Event

- This (compensation) task is only used in the context of the compensation


event and is therefore only integrated in the process diagram via
associations and never sequence.

Slide 113, 25/10/2022

You might also like