400 likes | 524 Views
This paper provides an overview of process mining, emphasizing the BPM lifecycle, from discovery to conformance checking. It describes the ProM framework and introduces various discovery algorithms and tools. The importance of log-based verification and the four-eyes principle are also examined. Through practical examples, the paper highlights the capabilities of process mining tools such as Alpha and Genetic miners. It concludes by stressing the significance of process mining in both research and practical applications, encouraging contributions to the field.
E N D
Process Miningfrom discovery to checking Prof.dr.ir. Wil van der Aalst Eindhoven University of Technology, Department of Information Systems, P.O. Box 513, 5600 MB Eindhoven, The Netherlands w.m.p.v.d.aalst@tm.tue.nl
Outline • BPM lifecycle • Process mining overview • ProM framework • Example • discovery algorithms • LTL • Conclusion Thanks toTon Weijters, Boudewijn van Dongen, Ana Karla Alves de Medeiros, Minseok Song, Laura Maruster, Eric Verbeek, Monique Jansen-Vullers, Hajo Reijers, Michael Rosemann, Anne Rozinat, Christian Guenther Peter van den Brand, Huub de Beer, Andrey Nikolov, et al.for their on-going work on process mining.
Design-time (a-priori) and run-time (a-posteriori) questions Run-time Design-time -verification- validation- performance analysis - process mining
Process discovery: Reversing the process process discovery 1
Log based verification formula four_eyes_principle (a1:activity,a2:activity) := forall[p:person | (!(execute(p,a1)) \/ !(execute(p,a2)))]; 3
ProM CPN Tools ARIS/ARIS PPM YAWL Caramba
SNA with Netminer betweenness metric points out that the editor and the two editorial assistants are most central
formula accept_or_reject_but_not_both() := {} (<>(activity == "accept") <-> !(<>(activity == "reject"))); Question 1
formula action_follows_decision() := {Is every decision followed by one of the three possible actions? } []( (activity == "decide" -> _O( ((activity == "accept" \/ activity == "reject") \/ activity == "invite additional reviewer") ))); Question 2
subformula execute( p : person, a : activity ) := {Is a specfic activity executed by a specific person?} <> ( (activity == a /\ person == p ) ) ; formula not_the_same_reviewer() := {Is every reviewer unique?} forall[p:person | (((!(execute(p,"get review 1")) \/ !(execute(p,"get review 2"))) /\ (!(execute(p,"get review 1")) \/ !(execute(p,"get review 3")))) /\ (!(execute(p,"get review 2")) \/ !(execute(p,"get review 3")))) ]; Question 3
subformula accept(a : activity ) := {Is the result a some activity an accept?} <> ( (activity == a /\ ate.result == "accept" ) ) ; formula dont_reject_paper_unjustified() := {Are all papers with strong support indeed accepted.} (((accept("get review 1") /\ accept("get review 2")) /\ accept("get review 3")) -> <> ( activity == "accept" ) ); Question 4 accept reject
formula four_eyes_principle(a1:activity,a2:activity) := { <h2>The four-eyes-principle</h2> <p> Check whether two activities are never executed by the same person for a given case.</p> <p> Arguments:<br> <ul> <li><b>a1</b> of type string denoting an activity</li> <li><b>a2</b> of type string denoting an activity</li> </ul> </p> } forall[p:person |(!(execute(p,a1)) \/ !(execute(p,a2)))]; Question 5
Additional plug-ins • State space analysis, invariants, EPC reduction/verification, etc.
Conclusion • Process mining is an exciting topic both from a practical and scientific point of view. • Join us by: • Applying this in different setting. • Contributing logs, adapters, and plug-ins. useful links: • www.processmining.org • www.workflowpatterns.com • BPMcenter.org • www.workflowcourse.com • www.citi.qut.edu.au/babel/ • www.yawl-system.com