0% found this document useful (0 votes)
9 views75 pages

01 Introduction 2023

Uploaded by

Arafath Jazeeb
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
9 views75 pages

01 Introduction 2023

Uploaded by

Arafath Jazeeb
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 75

Business Processes Modelling

MPB (6 cfu, 295AA)

Roberto Bruni
http://www.di.unipi.it/~bruni

01 - Introduction

1
2
Every

Tuesday:

Classes
11:00-13:00
M1

Thursday:
16:00-18:00
L1

3
Course Material shared on Microsoft Teams and DidaWiki

No streaming / recording planned


Who am I?
http://www.di.unipi.it/~bruni

@
[email protected]

Office hours: by appointment


preferably
Wednesday 16:00-18:00

5
Who are you?
Hi, I’m … from …

I have studied … at the University of …

I am now a student of the MSc degree in …

Hi, I’m Paolo Rossi from Italy


I have studied Computer Science at the University of Pisa (Italy)
I am now a student of the MSc degree in Data Science and
Business Informatics
6
Who are you?

Background check (form)


Enrollment number:
Bachelor degree:
MSc course of enrollment:
Subjects of interest:
…:

7
Who are you?

Background check (form)


Enrollment number: 123456
Bachelor degree: Comp. Sci., Pisa, IT
MSc course of enrollment: Data Science and BI
Subjects of interest: Data analysis, AI
…:

8
The Course

9
Some quotes
All models are wrong, but some are useful
- George Box

Subjects are divided in two categories:


1) too dif cult matters, that CANNOT be studied
2) easy matters, that DO NOT NEED to be studied
- back of a t-shirt

10
fi
What is a BP?

Any set of steps aimed to reach some outcome

from opening an account

to processing a custom order

11
What is BPM about?

12
Course objectives
Key issues in Business Analysis techniques and
Process Management correctness by construction
(patterns, architectures, (soundness, boundedness,
methodologies,…) liveness, free-choice,…)

Graphical languages &


Tool-supported verification
visual notation
(WoPeD, ProM, Woflan, ...)
(BPMN, EPC, ...)

Structural properties,
Performance analysis
behavioural properties
(bottlenecks, simulation,
and problematic issues
capacity planning,…)
(dead tasks, deadlocks, ...)

Formal models Process mining


(automata, Petri nets, (discovery, conformance
workflow nets, ...) checking, enhancement,…)
13
Course activities
attend classrooms:
ask questions!
(sleep quietly)

learn theorems:
(drink many coffees)
do some thinking:
solve ALL exercises
(at least try to)
deliver a project:
practice with concepts,
experiment with tools

give the exam:


time for a party!
14
Exam
• Project + Oral exam (see FAQ for more infos)

• Group project

• at most 2 students for group

• can be requested any time

• three-weeks deadline

• modelling + analysis + short report

• the validity of the project is for the current academic year

• Oral exam

• registration mandatory

• actual date fixed at the time of project delivery

• group discussion of the project

• followed by individual questions on course topics


15
Main Textbook

Mathias Weske
Business Process Management: Concepts, Languages, Architectures
(3rd ed.) Springer 2019
http://bpm-book.com

16
Suggested Reading

Joerg Desel and Javier Esparza


Free Choice Petri Nets
Cambridge Tracts in Theoretical Computer Science 40, 1995
https://www7.in.tum.de/~esparza/bookfc.html

Marlon Dumas, Marcello La Rosa, Jan Mendling, Hajo Reijers


Fundamentals of Business Process Management
(2nd ed.) Springer 2018
http://fundamentals-of-bpm.org
17
Other Textbooks

Wil van der Aalst


Process Mining
(2nd ed.) Springer 2016
http://springer.com/978-3-662-49850-7

Wil van der Aalst, Kees van Hee


Workflow Management: Models, Methods, and Systems
MIT Press (paperback) 2004
https://mitpress.mit.edu/books/workflow-management

18
Main resources
Petri nets world
http://www.informatik.uni-hamburg.de/TGI/PetriNets

BPMN
http://www.bpmn.org

Workflow Patterns
http://www.workflowpatterns.com

19
Main resources (tools)
WoPeD
http://www.woped.org

ProM (and Woflan)


http://www.promtools.org/

http://www.win.tue.nl/woflan

Diagnosing workflow processes using Woflan. H.M.W. Verbeek, T. Basten, W.M.P. van derAalst.
Computer J. 44(4): 246-279 (2001)

http://www.padsweb.rwth-aachen.de/wvdaalst/publications/p110.pdf

YAWL
https://yawlfoundation.github.io
20
Modelling
Giving shape to ideas, organizations,
processes, collaborations, practices

21
Modelling
Giving shape to ideas, organizations,
processes, collaborations, practices

22
Modelling
Giving shape to ideas, organizations,
processes, collaborations, practices

To analyse them

23
Modelling
Giving shape to ideas, organizations,
processes, collaborations, practices

To analyse them
To communicate them to others
To change them if needed
24
Quoting Michelangelo
Every block of one has a atue inside

it and it task of sculptor to

scover it

25
di
is
the
st
the
st
Quoting Michelangelo
Every organization has some proc s

running inside it and it task of

d igner to scover em

26
the
es
di
is
th
the
es
es
A taste of BPMN

Consignee
Shipper

Receive Send Receive Send Receive Send


Message Message Message Message Message Message

Shipment Delivery Proposed Confirma-


Plan Proposed
Plan Plan & Cost tion
Variation Plan & Cost
Variation Variation Received
Variation

Send Receive
Message Message
Sh ipper

Send Receive Receive Send Receive Receive Send


Message Message Message Message Message Message Message

Send Receive
Message Message

Planned Order & Deliver Updated PO PO & PO & Confirma-


Finalized
Order Delivery Checkpoint & Delivery Delivery Delivery tion of
Schedule
Variations Variations Request Schedule Modifications Schedule Schedule
Reta il er

Receive Send Send Receive Send Send Send Receive Receive


Message Message Message Message Message Message Message Message Message

27
What

Data and processes


Traditionally, information systems
used information modelling as a starting point

28
How

Data and processes


Nowadays, processes are of equal importance
and need to be supported in a systematic manner

29
Motivation
• Each product is the outcome of a number of activities performed
• Because of modern communication facilities:
• traditional product cycles not suitable for today's dynamic market
• Competitive advantages of successful companies:
• the ability to bring new products to the market rapidly and
• the ability to adapt an existing product at low cost
• Business processes are the key instrument:
• to organize these activities
• to improve the understanding of their relationships
• IT is an essential support for this aim
30
Workflow wave
In the mid-nineties,
workflow management
systems aimed to the
automation of structured
processes

but their application


was restricted to
only a few
application domains
31
Process awareness
BPM moves from to the broader perspective of
workflow management systems process-aware
(intra-organization) information systems
(inter-organizations)

32
Process awareness

Know end goal

Handled differently
every time
Know how to handle
each occurrence

33
Benefits of BPM
automate workflow and
orchestrate processes,
reduce risk of errors,
provide metrics,
real time status,
enforce deadlines,
validate data,
reduce training costs,

34
35
Why BPM?

Highly relevant for


pratictioners

Offers intellectual challenges for


software developers and
computer scientists

36
BPM angles

Analysis: simulation,
verification, process mining, ...

Influences: business aspects,


social aspects, training, education, ...

Technologies: interoperability,
standardization efforts,
service orientation, ...

37
Essential concepts
Different educational
backgrounds and interests
are in place

This course is not about a


particular XML syntax (e.g., BPMN)
or tool (e.g. ProM)

It is about using some process


languages to describe, single out,
relate, compare essential concepts
38
Which target?
Formal methods people
-investigate properties
-detect and correct deficiencies
-abstract from "real world"

Software develop people


-provide robust and scalable sw
-integration of existing sw
-look at new technology trends

Business admin people


-increase customer satisfaction
-reducing costs
-establishing new products

39
BPM aims at
robust and correct realization of
business processes in software that
increases customer satisfaction and
ultimately contributes to the competitive
advantage of an enterprise

40
Abstraction
• Business admin people
– IT as a subordinate aspect (for expert technicians)
– This course: too much math!
• Software develop people
– Current technology trend as main concern
– This course: too abstract!
• Formal methods people
– Underestimate business goals and regulations
– This course: too much handwaving!

Abstraction as the key to achieve


some common understanding, to
build a bridge between views...
41
Levels of abstractions

One object,
many views
42
Different views are common

Different purposes
Different abstractions
Different models Same purpose
Different abstractions
Different models

43
Everybody wantsed to be the
Italian soccer team coach

44
What about the adversaries?
Can we find out their plan?

?
Knowing it would
be quite helpful

Any idea how to?

(abstractions can be designed but can also be derived)

45
A taste of Process Mining
1.3 Process Mining 9

46
Fig. 1.4 Positioning of the three main types of process mining: discovery, conformance, and en-
Digression:
formal modelling
and the importance of proofs

47
Digression...
Let us travel back in time to
the 18th century, in the
beautiful Prussian city of
Königsberg:

it was thanks to the layout of


that city that Leonhard Euler
answered a puzzle which
eventually contributed to the
birth of two new areas of
maths known as topology and
graph theory.
48
Digression...
Königsberg was built on the
bank of the river Pregel.
Seven bridges connected
two islands and the banks of
the river (see map).

A popular pastime of the


residents was to try to
cross all the bridges in one
complete circuit
(without crossing any of the
bridges more than once).
49
Digression...
A seemingly simple task
was more than tricky...

Nobody had been able to


find a solution to the puzzle
when Euler first heard of it
and, intrigued by this, he
set about proving that
no solution was possible!

50
Digression...
In 1736, Euler analysed the problem by converting the map
into a more abstract diagram… and then
into a graph (a formal model):

areas of land separated by the river were turned into points,


which he labelled with capital letters.
Modern graph theorists call these vertices or nodes.

The bridges became edges between nodes.

51
Digression...
Modeling activities require several steps of abstraction that
must preserve the set of solutions: in other words
the abstractions must preserve the topology of the problem.
Original problem: seven bridges of Königsberg

Graph problem: redrawing this picture without retracing any line


and without picking your pencil up off the paper

Generalized problem: given a connected graph,


find a circuit that visits every edge precisely once, if it exists
52
Digression...
A non-connected graph

F
G

53
Digression...
Informal reasoning:
All the vertices in the picture are connected to an odd number of edges

3
5
3
3
In a circuit every time you enter a node you must be able to leave it:
thus, every vertice must be connected to an even number of edges!

This suffices to establish that no solution can be found!


54
Digression...
Take one of these vertices, say A, and start trying to trace the figure
out without picking up your pencil: then two edges are left from/to A.

Next time you arrive in A, one edge will be left, and when you will leave
A, no edge to re-enter it will be left!

Analogously for B, C, D: No circuit is possible!


55
Digression...
Formal reasoning:

Definition: A path is a (finite) sequence of contiguous edges.


It is a circuit if it ends in the same vertex where it starts.

Definition: An Eulerian path is a path that passes through


every edge of the graph once and only once.

Definition: The number of edges attached to v is called degree of v.


A vertex is called odd if it has an odd degree, even otherwise.

Theorem: A (connected) graph G contains an Eulerian circuit


if and only if each vertex is even.

56
Digression...

ODD

ODD

ODD

ODD

Theorem: A (connected) graph G contains an Eulerian circuit


if and only if each vertex is even.

57
Digression...
Proof of necessity:
(If G has an Eulerian circuit, then any vertex is even)

Suppose G contains an Eulerian circuit C.

Then, for any choice of vertex v, C contains all the edges that are
adjacent to v.

Furthermore, as we traverse along C, we must enter and leave v the


same number of times, and it follows that v must be even. qed

While this proof of necessity was given by Euler, the converse was not
stated in his paper.

It is not until 1873 (137 years later) when a young German


mathematician, Carl Hierholzer published the proof of sufficiency.
58
Digression...
Proof of sufficiency:
(If any vertex is even, then G has an Eulerian circuit)

The proof is by induction on the numbers of edges, ctd)

Base case: the smallest possible number of edges is 3 (i.e. a triangle)


and the graph trivially contains an Eulerian circuit.

59
Digression...
Proof of sufficiency: (by induction on the numbers of edges, ctd)

Inductive case:
Inductive hypothesis: Let us assume that any connected graph H that
contains k or less than k edges and such that every vertex of H is
even, contains an Eulerian circuit.

Now, let G be a graph with k + 1 edges, and such that every vertex is
even. We want to prove G has an Eulerian circuit

Since there is no odd vertex, G cannot be a tree (no leaves).


Thus, G must contain at least one cycle C.

...

60
Digression...
Proof of sufficiency: (by induction on the numbers of edges, ctd)
… Remove the edges of C from G, and take the remaining graph G′.

Since removing C from G may disconnect the graph, G′ is a collection


of connected components, namely G1 , G2 , . . . , etc.

G2 G

G1 C G3
...
61
Digression...
Proof of sufficiency: (by induction on the numbers of edges, ctd)
… Remove the edges of C from G, and take the remaining graph G′.

Since removing C from G may disconnect the graph, G′ is a collection


of connected components, namely G1 , G2 , . . . , etc.

G2 G’

G1
G3
...
62
Digression...
Proof of sufficiency: (by induction on the numbers of edges, ctd)
… When the edges in C are removed, each vertex loses an even
number of adjacent edges.
Thus, the parity of each vertex is unchanged in G′.

It follows that, for each connected component of G′, every vertex is


even (and G′ must have less than k edges).

Therefore, by the inductive hypothesis, each of G1 , G2 , . . . has its


own Eulerian circuit, namely C1 , C2 , etc.

G1 G2 G3


63
Digression...
Proof of sufficiency: (by induction on the numbers of edges, ctd)
… We can now build an Eulerian circuit for the whole graph G.

Pick an arbitrary vertex v from C.

Traverse the edges along C until we reach a vertex vi that belongs to


one of the connected components Gi.

Then, traverse Gi along its Eulerian circuit Ci until we traverse all the
edges of Ci.

We are now back at vi, and so we can continue on along C.

In the end, we shall return back to the first starting vertex v of C, after
visiting every edge exactly once. qed

64
Digression...
The theorem, as such, is only an existential statement.

If the necessary and sufficient condition is satisfied, we’d like to find an


Eulerian circuit.

The sufficiency proof gives us an algorithm to build Eulerian circuits:


recursively find a cycle, and then remove the edges of the cycle.

65
Digression...
The theorem, as such, is only an existential statement.

If the necessary and sufficient condition is satisfied, we wish to find an


Eulerian circuit.

The proof naturally gives an algorithm to construct Eulerian circuits:


recursively find a cycle, and then remove the edges of the cycle.

66
Digression...
Theorem: A graph contains an Eulerian path if and only if there are 0 or 2 odd vertices.

Proof. (first part: if G has an Eulerian path then there are 0 or 2 odd vertices)
Suppose a graph G contains an Eulerian path P.
Then, for every vertex v, P must enter and leave v the same number of times, except
when it is either the starting vertex or the final vertex of P.
When the starting and final vertices are distinct, there are precisely 2 odd vertices.
When these two vertices coincide, there is no odd vertex.

(second part: if G has 0 or 2 odd vertices, then there is an Eulerian path)


Conversely, suppose G contains 2 odd vertices u and v.
(The case where G has no odd degree vertex is shown in the previous Theorem.)
Then, temporarily add a dummy edge (u, v) to G.
Now the modified graph contains no odd vertex.
By the previous Theorem, this graph contains an Eulerian circuit C that includes (u, v).
Remove (u, v) from C, and now we have an Eulerian path where u and v serve as initial
and final vertices.

67
Digression...
In the late 19th century an eighth
bridge was built (see map).
Was Königsberg Eulerised?

Exercise: prove that an Eulerian path


can be found (but not a circuit)

Sadly, in 1944 air raids obliterated most


of the bridges. However, five bridges
crossing were rebuilt (see map).
Was the city Eulerised?

Exercise: prove that an Eulerian path


can be found (but not a circuit)
68
Euler Paths and Euler Circuits

An Euler Path is a path that goes through every edge of a graph exactly once
An Euler Circuit is an Euler Path that begins and ends at the same vertex.

Euler Path Euler Circuit

Euler Path: BBADCDEBC Euler Cicuit: CDEBADC

Euler’s Theorem:
1. If a graph has more than 2 vertices of odd degree then it has no Euler paths.
2. If a graph is connected and has 0 or exactly 2 vertices of odd degree, then it has at least
one Euler path
3. If a graph is connected and has 0 vertices of odd degree, then it has at least one Euler
circuit.

# Odd Vertices Euler Path? Euler Circuit?


0 YES YES
2 YES No
4, 6, 8 … No No
1, 3, 5 … No Such Graphs Exist!!!
Tracing a graph: A graph can be traced if you can begin at an edge and draw the entire graph
without lifting up your pencil or going over an edge twice. If a graph contains two odd vertices,
you must begin at one and end at the other.
Euler Paths and Euler Circuits

Finding an Euler Circuit: There are two different ways to find an Euler circuit.
1. Fleury’s Algorithm: Erasing edges in a graph with no odd vertices and keeping track
of your progress to find an Euler Circuit.
a. Begin at any vertex, since they are all even. A graph may have more than 1
circuit).
b. After you have traveled over an edge, erase it. If all edges at a particular
vertex have been erased, erase the vertex as well.
c. Only travel over an edge that is a bridge if there is no other option.

2. Eulerizing a Graph: Repeating edges on a graph with odd vertices so that the graph
has no odd vertices. (Remember, there will always be an even number of odd
vertices!)

a. Pick out all vertices of an odd degree.


b. Repeat edges between vertices until the final graph has no odd vertices.
c. You must repeat pre-existing edges only!!!!

3 \4
2 2 4\

3 3 4\ \4

2 2
3 \4

*For this example, you can add edges AB and AD, but you CANNOT add BD because there
isn’t already an edge between vertices B and D.
Digression...

Exercises: find Eulerian paths/circuits in the graphs


above or prove that they cannot exist.

69
Recap

70
Lessons learned
• Start with a concrete instance of the problem

• Abstraction: modeling and generalization, property preserving

• Visual notation: informal, intuitive

• Mathematical notation: rigorous, precise

• Theorems: alternative ways to find answers

• Proofs: construct solutions from formal reasoning

• Implementation: solve any concrete instance of the problem

71
Yet to learn

• Formal models used in prescriptive manner


• Correctness by design
• Separation of concerns
• Model discovery

72
Avoid bad designs!

73

You might also like