Lecture 1 - Introduction to BPM and Process Mining
A business process is a series of events, activities, decisions that follow a particular order can involve actors, Business Process Management lifecycle
physical objects, informational objects and lead to a certain outcome
“Processes are the foundation of every business”
“Business Process Management (BPM) is the
art and science of overseeing how work is
performed in an organisation to ensure
consistent outcomes and to take advantage of
improvement opportunities”
Why Process modelling?
• generate insights
• discussion basis with stakeholders
• documentation for internal and external stakeholders (compliance)
• verification (find error in systems more easily)
• performance analysis for estimating throughput time and enabling optimisation
Business Process Model and Notation (BPMN)
BPMN Basic Rules
• Every process starts with one event. The start event has no incoming flow
• Every process ends with one (or more) events. End events have no outgoing flows
• Flows connect events, tasks and gateways
• From the start event each end event can be reached through following the flows
• Each task has a label. Ideally events also have labels
• Avoid multiple outgoing/ingoing flows for tasks. Use gateways instead
BPMN Actor Elements
BPMN allows to not only model the control-flow but also specify different actors through
pools (hospital, laboratory) and lanes (doctor, nurse).
Note: communication between pools always through message flows, never sequence flows
Quality of Process Models
Syntactic Quality
• Structural correctness, e.g., for BPMN "activities must have at leas one incoming and one outgoing sequence flow"
• Behavioral correctness (soundness), e.g., "no dead activities"
Semantic Quality
• Validity, "all statements that one can make from the model are correct and relevant to the real-world process"
• Completeness, "the model contains all relevant statements about the corresponding business process"
Pragmatic Quality and Certification
• Usability aspects like understandability, maintainability
Limitations of Process Modeling
• Does the model (still) reflect the reality?
• How could we optimize this process, e.g., reduce throughput time?
• While executing this process, what is the next step (optimal) task?
• Is a process model available at all?
The process starts when the logistics department of the bakery receives an order. It handles the order
and in the next step, the production determines the ingredients list. If all ingredients are available, the
How to get a process model? cookies are produced. If ingredients are missing, the production notes down the missing ingredients.
First identify all relevant elements like actors, activities together with their flow, Then, the logistics orders the missing ingredients, and the cookies can be produced. Finally, the logistic
decisions and their condition, … . Then start modeling department packages and ships the cookies
Data for Process Mining
Event logs eXtensible Event Stream (XES) Format
• XML schema
• unified grammar for logging system behaviour
in information systems
• event logs, event streams
Standard extensions for different process
perspectives
• concept extension
• time extension
• organisational extension
Note that:
• event logs can be available in CSV format (then
you have to select which column corresponds to
the event label, event id, etc.
In PM, we are often (only) interested in the control flow perspective and therefore use a short
notation for event logs containing only event labels, e.g.,
• new research streams like object-centric
process mining use object-centric event logs
L = [<prepare sample, put in centrifuge, centrifugation, prepare results>, (OCEL)
<prepare sample, put in centrifuge, centrifiguration, prepare results>, ..
, Different goals of process mining
Process mining enables organisations to discover, analyse and improve the behaviour of their business processes
-
How does our process look like? >
-
discover
Does the modeled behaviour align =>
with the observed behaviour? compare
How to improve the existing model? >
-
enhance
Process Discovery
How does our process look like?
Note: we assume for now that traces are finished and there are no tasks wit duplicate labels
Parallel Gateway
7
Trace 1: <A,B,C,D,F>
Trace 2: <A,C,B,E,F>
Trace 3: <A,E,F>
Conformance checking
Does the modeled behaviour align with the observed behaviour?
Trace 1: <A,B,C,D, E,G> ✓
Trace 2: <A,B,E,C,D,B,F> X
Trace 3: <A,E,B,C,D,F,G> X
Trace 3: <A,B,E,C,D,B,C,E,D,F> X
Different Process Perspectives Beyond Control-Flow
Resource, time and data
Different goals of process mining - beyond ex-post
From ex-post analysis towards online and predictive process mining
What will be the next activity in the process?
What is the remaining time for this case?
What will be the outcome for this case?
Which activity to execute in order to optimize the outcome?
, Lecture 2 - Petri and Workflow nets
Petri nets
Formal presentation
Petri nets make sure that the process behaves the way it should behave
• are there any undesired deadlocks?
• can a certain task be reached?
Graphical representation
P = {p1, p2, p3, p4}
PA
P B T = {A, B, C,D}
F ={(p1,A), (A, p2), (p2, B), (p2, C), (B, p4), (C, p3), (p3, D), (D, p4), (p4, A)
D
Place ( passive elements ; events )
Input and output nodes
Transition ( active elements ; tasks )
Directed arc ( represents flow ) · A = {p1, p4} (arcs coming from p1 & p4)
A · = {p2} (p2 the place where and arc leaves A)
· Token
Tokens
• are represented by black dots
• reside in places
• are consumed and produced by transitions (active elements of the Petri net) ; action is called firing
•
(how is determined by firing rules)
constitute the dynamic aspects and state of a Petri net
B Py
• represent currently running process instances (can usually not be distinguished for basic classes of
Petri nets C
B D
Marking Current marking
The marking (or state) of a Petri net (P, T, F) is defined by a function M : P → ℕ mapping the set of places onto 0 = M(p2)
natural numbers, where ℕ is the set of natural numbers including 0 1 = M(p3) = M(p4)
2 = M(p1)
A pair of(N, M) with N being a Petri net and M a marking for N is called a marked Petri net.
The set 𝓜p denotes the set of all markings for a Petri net P Can also be expressed as
• all possible markings → reachability analysis (involves determining all possible configurations (or • array (places totally ordered by their identifier)
markings) of tokens that can be achieved by firing the transition in the Petri net M = [2, 0, 1, 1]
• multi-set: M=[p1², p2, p3, p4)
Different classes
• Labeled Petri nets: a labeled Petri net N = (P, T, F, A, l ) is a Petri net together with a set of activity labels A and a labeling function l ∈ T → A
Note that sometimes it becomes necessary to introduce transitions which mainly serve to properly model a Petri net; silent transitions (labeled as tau)
• Place-Transition nets: transitions can consume and produce more than one token from one place
• Workflow nets: sub-class tailored towards business processes
• Colored Petri nets: can deal with data-related and time-related aspects
Place Transition nets B
2
Py
Are Petri nets together wit a weighting function that assigns a weight (natural number not
including 0) to all arcs. If no number is given for an arc, weight 1 is assigned to this arc per default.
The weighting function determines the number of tokens a transition consumes or produces. C
B D
Transition A consumes 2 tokens from
place 1 and 1 token from place p4 and
produces one token in p2
Firing rules
• a transition can fire if it is enabled
• firing of a transitions is represented by a state change
• firing takes no time
Firing rule for Place-transition nets B Py
A transition t is enabled, if and only if each input place p of t contains at least the number of tokens defined as the
weight of the connecting arc B
C D
When firing, a transition
• consumes from each input place the number of tokens determined by the weighting function on the Which transition(s) in the given Place-Transition net
corresponding ingoing arc are enabled and why?
• produces the number of tokens determined by the weighting function on the corresponding outgoing arc in
each output place
Enabling → if each input place contains a token
P P2
. Pr Pa
Es Es Firing
Es
4344 p5 434445
p3 pu p5
Not enabled Enabled