01 Introduction 2023
01 Introduction 2023
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
5
Who are you?
Hi, I’m … from …
7
Who are you?
8
The Course
9
Some quotes
All models are wrong, but some are useful
- George Box
10
fi
What is a BP?
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,…)
Structural properties,
Performance analysis
behavioural properties
(bottlenecks, simulation,
and problematic issues
capacity planning,…)
(dead tasks, deadlocks, ...)
learn theorems:
(drink many coffees)
do some thinking:
solve ALL exercises
(at least try to)
deliver a project:
practice with concepts,
experiment with tools
• Group project
• three-weeks deadline
• Oral exam
• registration mandatory
Mathias Weske
Business Process Management: Concepts, Languages, Architectures
(3rd ed.) Springer 2019
http://bpm-book.com
16
Suggested Reading
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
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
scover it
25
di
is
the
st
the
st
Quoting Michelangelo
Every organization has some proc s
d igner to scover em
26
the
es
di
is
th
the
es
es
A taste of BPMN
Consignee
Shipper
Send Receive
Message Message
Sh ipper
Send Receive
Message Message
27
What
28
How
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
32
Process awareness
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?
36
BPM angles
Analysis: simulation,
verification, process mining, ...
Technologies: interoperability,
standardization efforts,
service orientation, ...
37
Essential concepts
Different educational
backgrounds and interests
are in place
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!
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
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:
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):
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
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!
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!
56
Digression...
ODD
ODD
ODD
ODD
57
Digression...
Proof of necessity:
(If G has an Eulerian circuit, then any vertex is even)
Then, for any choice of vertex v, C contains all the edges that are
adjacent to v.
While this proof of necessity was given by Euler, the converse was not
stated in his paper.
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
...
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′.
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′.
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′.
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.
Then, traverse Gi along its Eulerian circuit Ci until we traverse all the
edges of Ci.
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.
65
Digression...
The theorem, as such, is only an existential statement.
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.
67
Digression...
In the late 19th century an eighth
bridge was built (see map).
Was Königsberg Eulerised?
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’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.
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!)
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...
69
Recap
70
Lessons learned
• Start with a concrete instance of the problem
71
Yet to learn
72
Avoid bad designs!
73