discovering processes from event logs
TRANSCRIPT
-
8/15/2019 Discovering Processes From Event Logs
1/58
rocess Mining:Discovering processes from eventlogs
All truths are easy to understand once they are discovered;the point is to discover them.
Galileo Galilei (1564 - 1642)
Prof.dr.ir. Wil van der Aalst Eindhoven University of Technology
Department of Information and Technology P.O. Box 51 ! 5"## $B Eindhoven
The %etherlands&.m.p.v.d.aalst'tm.t(e.nl
-
8/15/2019 Discovering Processes From Event Logs
2/58
Outline• BPM research in Eindhoven• Process Mining• ProM
– Architecture – Process mining plug-ins
• Alpha-algorithm• Multi-phase mining• Genetic mining
– Anal sis plug-ins – !onformance testing plug-in
– "#" chec$er plug-in – %ocial net&or$ plug-in – !onvertors 'e-mail( %taff&are( )n!oncert( %AP( etc.*
• !onclusion
-
8/15/2019 Discovering Processes From Event Logs
3/58
BPM research in Eindhoven
-
8/15/2019 Discovering Processes From Event Logs
4/58
Computer Science/information Systems in Eindhoven
TU/e
TM
(Technology Management)MCS
(Math. and Comp. Science)
IS
(Information Systems)CS
(Computer Science)
BPM
(Business Process Management)
Math.
ICTA
SE
IS
(Information Systems)
BETA
-
8/15/2019 Discovering Processes From Event Logs
5/58
Research within the BPM group• Wor$flo& management s stems• Process modeling 'design and redesign*
• Process anal sis 'validation( verification( andperformance anal sis*
• Process mining
Often +ased on Petri nets
-
8/15/2019 Discovering Processes From Event Logs
6/58
Analysis and improvement
of resource-constrainedwor flow processesMariska Netjes
simulationusing final
circumstances
real data
simulationusing initial
circumstances
after WfM implementation
before WfM implementation
,a-measurement
,+-measurement
-measurement
a-measurement
+-measurement
/-measurement
-
8/15/2019 Discovering Processes From Event Logs
7/58
Product-driven process designIrene Vanderfeesten
handle insurance claim
registration
chec! policy
chec! damage
e"aluate claim
pay damage
re#ect claim
$uery policy data
$uery payments data phone
send fa%
send letter
dial
&'
&' send letter
administrati"e e"aluation
thorough e"aluation
minimal e"aluation
e"aluation y traffic e%pert
e"aluation y department man
e"aluation y fire e%pert
chec! fire damage
chec! other types of damage
minimal damage chec!
chec! car damage
chec! car damage *++,
chec! car damage *++-
ma!e appointment "isual inspection
is)part)of
speciali*es
try again
-
8/15/2019 Discovering Processes From Event Logs
8/58
!mproving wor distri"utionmechanisms in #$M systemsMaja Pesic
-
8/15/2019 Discovering Processes From Event Logs
9/58
Patterns in process-aware
information systemsNataliya Mulyar
pattern standard
P/0 1M0 BPE0 0A 2 3S40 BPM0 3SCI
Se$uence , , , , , , ,
Parallel Split , , , , , , ,
Synchroni5ation , , , , , , ,
E%clusi"e Choice , , , , , , ,
Simple Merge , , , , , , ,
Multi Choice , - , - , - -
Synchroni5ing Merge , - , - , - -
Multi Merge - - - - - ,6- ,6-
/iscriminator - - - - - - -
Ar itrary Cycles , - - - - - -
Implicit Termination , - , - , , ,
MI 7ithout Synchroni5ation , , , , , , ,
MI 7ith a Priori /esign Time
'no7ledge, , , , , , ,
MI 7ith a Priori 8untime 'no7ledge - , - - - - -
MI 7ithout a Priori 8untime'no7ledge - - - - - - -
/eferred Choice - , , , - , ,
Interlea"ed Parallel 8outing - - ,6- - - - -
Milestone - - - - - - -
Cancel Acti"ity - , , , , , ,
Cancel Case - , , , , , ,
-
8/15/2019 Discovering Processes From Event Logs
10/58
%enetic process mining Ana Karla Alves de Medeiros
-
8/15/2019 Discovering Processes From Event Logs
11/58
Process mining in case handlingsystemsC ristian !"nt er
-
8/15/2019 Discovering Processes From Event Logs
12/58
Process mining&
a formal approach#oud$ijn van %ongen
-
8/15/2019 Discovering Processes From Event Logs
13/58
'erification of wor flowprocesses&ric Verbeek
-
8/15/2019 Discovering Processes From Event Logs
14/58
(A#)& (et Another #or flow )anguage
-
8/15/2019 Discovering Processes From Event Logs
15/58
• Arthur ter 0ofstede 'patterns( 1AW" def.*• Marlon 2umas 'BABE"( %O!*• "achlan Aldred '1AW" engine( comm. pats*• "indsa Bradford '1AW" designer*
• #ore 34ellheim '1AW" logging( timers*• Gu 5edding '1AW" forms*• 6ic$ 5ussell '&or$ distri+ution7transactions*
• Moe W nn 'verification( optimi8ation*• Michael Adams 'fle9i+ilit *
-
8/15/2019 Discovering Processes From Event Logs
16/58
Process Mining
processdesign
implementation7configuration
processenactment
diagnosis
-
8/15/2019 Discovering Processes From Event Logs
17/58
Motivation: 5eversing the process
• Process mining can +e used for:
– Process discover 'What is the process;* – 2elta anal sis 'Are &e doing &hat &as specified;* – Performance anal sis '0o& can &e improve;*
processmining
5egister order
Prepareshipment
%hipgoods
5eceivepa ment
'5e*send+ill
!ontactcustomer
Archiveorder
-
8/15/2019 Discovering Processes From Event Logs
18/58
Overvie&
*+ "asicperformancemetrics
,+ process modelStartRegister order
Prepareshipment
Ship goods
-Re+send "ill
Receive paymentContactcustomer
Archive order
End
.+ organi ational model 0+ social networ
1+ performancecharacteristics
If …then …
2+ auditing/security
&&&.processmining.org
-
8/15/2019 Discovering Processes From Event Logs
19/58
"et us focus on mining process models <
*+ "asicperformancemetrics
,+ process modelStart
Registerorder
Prepareshipment
Ship goods
-Re+send "ill
Receive paymentContactcustomer
Archive order
End
.+ organi ational model 0+ social networ
1+ performancecharacteristics
If …then …
2+ auditing/security
... and a ver simple approach: #he alpha algorithm
-
8/15/2019 Discovering Processes From Event Logs
20/58
Process log
• Minimal information inlog: case id=s and tas$id=s.
• Additional information:event t pe( time(resources( and data.
• )n this log there are threepossi+le se>uences: – AB!2 – A!B2 – E3
case 1 : task A
case 2 : task A
case 3 : task A
case 3 : task B
case 1 : task B
case 1 : task C
case 2 : task C
case 4 : task A
case 2 : task B
case 2 : task D
case 5 : task E
case 4 : task C
case 1 : task D
case 3 : task C
case 3 : task D
case 4 : task B
case 5 : task F
case 4 : task D
-
8/15/2019 Discovering Processes From Event Logs
21/58
?( →(@@( relations
• 3irect succession : 9?iff for some case 9 isdirectl follo&ed + .
• Causality : 9→ iff 9?and not ?9.
• Parallel : 9@@ iff 9? and?9
• Choice : 9 iff not 9?and not ?9.
case 1 : task A
case 2 : task A
case 3 : task A
case 3 : task B
case 1 : task B
case 1 : task C
case 2 : task C
case 4 : task A
case 2 : task B
case 2 : task D
case 5 : task E
case 4 : task C
case 1 : task D
case 3 : task Ccase 3 : task D
case 4 : task B
case 5 : task F
case 4 : task D
A?B
A?!B?!B?2!?B!?2E?3
A→B A→!B→2! →2E→3
B@@!!@@B
-
8/15/2019 Discovering Processes From Event Logs
22/58
Basic idea ',*
9
9→
-
8/15/2019 Discovering Processes From Event Logs
23/58
Basic idea ' *
9→ ( 9→8( and @@8
9
8
-
8/15/2019 Discovering Processes From Event Logs
24/58
Basic idea '/*
9→ ( 9→8( and 8
9
8
-
8/15/2019 Discovering Processes From Event Logs
25/58
Basic idea ' *
9→8( →8( and 9@@
9
8
-
8/15/2019 Discovering Processes From Event Logs
26/58
Basic idea 'C*
9→8( →8( and 9
9
8
-
8/15/2019 Discovering Processes From Event Logs
27/58
)t is not that simple: Basic alpha algorithm
"et W +e a &or$flo& log over #. α 'W* is defined as follo&s.,. # W D t∈ # | ∃σ ∈ W t ∈ σF(
. # ) D t∈ # | ∃σ ∈ W t D first ' σ* F(
/. # O D t∈ # | ∃σ ∈ W t D last ' σ* F(. W D 'A(B* | A⊆ # W ∧ B ⊆ # W ∧ ∀ a ∈ A∀+ ∈ B a →W + ∧ ∀ a,(a ∈ A a , W a ∧ ∀+,(+ ∈ B + , W + F(
C. 1 W D 'A(B*∈ | ∀ 'A ′(B′*∈ A ⊆ A′ ∧B ⊆ B ′⇒ 'A(B* D 'A ′(B′* F(
H. PW D p'A(B* | 'A(B* ∈ 1 W F∪ iW(oWF(I. 3 W D 'a(p 'A(B** | 'A(B* ∈ 1 W ∧ a ∈ A F ∪ 'p 'A(B*(+* | 'A(B* ∈ 1 W ∧ + ∈ B
F ∪ 'iW(t* | t ∈ # )F ∪ 't(oW* | t ∈ # OF( and
8. α 'W* D 'P W(# W(3 W*.The alpha algorithm has een pro"en to e correct for a large class of free-choice nets.
-
8/15/2019 Discovering Processes From Event Logs
28/58
E9amplecase 1 : task A
case 2 : task Acase 3 : task Acase 3 : task Bcase 1 : task Bcase 1 : task Ccase 2 : task C
case 4 : task Acase 2 : task Bcase 2 : task Dcase 5 : task Ecase 4 : task Ccase 1 : task D
case 3 : task Ccase 3 : task Dcase 4 : task Bcase 5 : task Fcase 4 : task D
A
B
!
2
E 3
α (3)
3
-
8/15/2019 Discovering Processes From Event Logs
29/58
!hallenges
• 5efining e9isting algorithm for 'control-flo&7processperspective* – 'idden tasks – %uplicate tasks – Non(free(c oice constructs
– )oops – %etecting concurrency *implicit or e+plicit, – Mining and e+ploiting time – %ealing $it noise – %ealing $it incompleteness
• Mining other perspectives 'data( resources( roles(
-
8/15/2019 Discovering Processes From Event Logs
30/58
3EM4 Alpha algorithm
9: cases;< performers
-
8/15/2019 Discovering Processes From Event Logs
31/58
ProM framewor
-
8/15/2019 Discovering Processes From Event Logs
32/58
ProM Staffware
!nConcert
M5 Series
$orkflo$ management systems
$)4#er
Jectus
%ie+el
case andling - C.M systems
SAP R/.
Baa6
Peoplesoft
&.P systems
common GM" format for storing7e9changing &or$flo& logs
input7outputCore
Plugins
ProM
framework
visuali8ation anal sis
alpha algorithm geneticalgorithm#singhua alpha
algorithmMulti phasealgorithms
social net&or$miner
case datae9traction propert verifier
E6ternal7ools
6etMiner Jiscover 888888
888
-
8/15/2019 Discovering Processes From Event Logs
33/58
!onverter plug-in: EMailAnal 8er
-
8/15/2019 Discovering Processes From Event Logs
34/58
M" format
-
8/15/2019 Discovering Processes From Event Logs
35/58
ProM architecture
-
8/15/2019 Discovering Processes From Event Logs
36/58
-
8/15/2019 Discovering Processes From Event Logs
37/58
%tep ,: Get instances
-
8/15/2019 Discovering Processes From Event Logs
38/58
%tep : Pro4ect
-
8/15/2019 Discovering Processes From Event Logs
39/58
%tep /: Aggregate
-
8/15/2019 Discovering Processes From Event Logs
40/58
%tep : Map onto EP!
-
8/15/2019 Discovering Processes From Event Logs
41/58
%tep C: Map onto Petri net 'or other language*
-
8/15/2019 Discovering Processes From Event Logs
42/58
Mining plug-in: Genetic Miner
-
8/15/2019 Discovering Processes From Event Logs
43/58
Overvie& of approach
-
8/15/2019 Discovering Processes From Event Logs
44/58
Anal sis plug-in: %ocial net&or$ miner
-
8/15/2019 Discovering Processes From Event Logs
45/58
-
8/15/2019 Discovering Processes From Event Logs
46/58
!li>ues
-
8/15/2019 Discovering Processes From Event Logs
47/58
%6 +ased on hand-over of &or$ metric
density of network is 0.225
-
8/15/2019 Discovering Processes From Event Logs
48/58
%6 +ased on &or$ing together 'and ego net&or$*
-
8/15/2019 Discovering Processes From Event Logs
49/58
Anal sis plug-in: "#" chec$er
-
8/15/2019 Discovering Processes From Event Logs
50/58
-
8/15/2019 Discovering Processes From Event Logs
51/58
Anal sis plug-in: !onformance chec$er
/o they agree=
-
8/15/2019 Discovering Processes From Event Logs
52/58
-
8/15/2019 Discovering Processes From Event Logs
53/58
-
8/15/2019 Discovering Processes From Event Logs
54/58
%creenshot
(Also runs on Mac.)
-
8/15/2019 Discovering Processes From Event Logs
55/58
Other anal sis plug-ins
-
8/15/2019 Discovering Processes From Event Logs
56/58
More demos9
-
8/15/2019 Discovering Processes From Event Logs
57/58
-
8/15/2019 Discovering Processes From Event Logs
58/58
More information
http&//www8wor flowcourse8com
http&//www8wor flowpatterns8com
http&//www8processmining8org