Process Mining: Data Science in Action

Workflow Nets and Soundness

prof.dr.ir. www.processmining.org

©Wil van der Aalst & TU/e (use only with permission & acknowledgements) Motivation

• For we often use (or aim at) Nets (WF-nets).

• WF-nets: start end − have a well-defined start and end − should be free of obvious anomalies (soundness) • WF-nets are a subclass of Petri nets often used in the context of workflow management and business process management (systems).

©Wil van der Aalst & TU/e (use only with permission & acknowledgements) "Business Process Management (BPM) is the discipline that combines knowledge from information technology and knowledge from management sciences and applies this to operational business processes"

Wil M. P. van der Aalst, “Business Process Management: A Comprehensive Survey,” ISRN Software Engineering, vol. 2013, Article ID 507984, 37 pages, 2013. doi:10.1155/2013/507984 Adam Smith (1723-1790) showedFrederick the advantages Taylor (1856 of- the1915) divisionHenry introduced of Fordlabor. (1863 the initial-1947) principlesintroducedSince of scientific 1950 the computersproduction and management.linedigital for the communication mass production of “blackinfrastructures T-Fords”. are the most dominant factor influencing business processes and their management. BPM lifecycle

- -based based

modelanalysis

run & adjust )design (re

implement/configure ©Wil van der Aalst & TU/e (use only with permission & acknowledgements) What is the role of (process) models?

• Role of models in BPM/WFM: − reason about processes (redesign) and − make decisions inside processes (planning and control). • Process models may be used to: − discuss responsibilities, − analyze compliance, − predict performance using simulation, and − configure a WFM/BPM system.

©Wil van der Aalst & TU/e (use only with permission & acknowledgements)

Business Process Model Many notations and Notation (BPMN)

select add extra car insurance

register initiate check driver’s provide car request check-in licence start end

charge credit Event-Driven Process card Chains (EPCs) Petri nets

ready to select (often theadd extra be needed added selected car subclassinsurance of ready to check register initiate ready for start XOR no need XOR AND be driver’s AND provide car done request check-in check-in workflow nets) checked licence

ready to charge be charged credit card Event log (example/observed

add extra d behavior) insurance b select car abcdefg a c e g acedfg acfedg register check driver’s out in initiate provide abcdfeg request check-in license car abcfdeg acdef f ... charge credit card ©Wil van der Aalst & TU/e (use only with permission & acknowledgements) Petri nets (as seen before)

XOR-split XOR-join XOR-split t transition b AND-split examine AND-join p place thoroughly g token c1 c3 pay c compensation a e examine start register casually decide c5 end request h d c2 c4 reject check ticket request f reinitiate request XOR-join AND-split

©Wil van der Aalst & TU/e (use only with permission & acknowledgements) Example run of the model

examine thoroughly

c1 c3 pay compensation examine start register casually decide c5 end request

c2 c4 reject check ticket request reinitiate request Only[start] one of[c1,c2] infinitely many[c2,c3] possible [c3,c4] firing sequences! [c5] [end]

©Wil van der Aalst & TU/e (use only with permission & acknowledgements) Reachability graph

examine thoroughly

c1 c3 pay compensation examine start register casually decide c5 end request

c2 c4 reject check ticket request reinitiate request

pay examine reinitiate compensation thoroughly request

register examine check reject request casually ticket request [start] [c1,c2] [c2,c3] [c5] [end] check decide ticket examine casually [c1,c4] [c3,c4] examine ©Wil van der Aalst & TU/e (use only with permission & acknowledgements) thoroughly Good model?

examine thoroughly

c1 c3 pay compensation examine start register casually decide c5 end request

c2 c4 reject check ticket request reinitiate request No, deadlock possible: [c3]. ©Wil van der Aalst & TU/e (use only with permission & acknowledgements) Good model?

examine thoroughly

c1 pay compensation examine start register casually c3 decide c5 end request

c2 reject check ticket request reinitiate request No, AND-split does not have corresponding join!

©Wil van der Aalst & TU/e (use only with permission & acknowledgements) Good model?

examine thoroughly

c1 c3 pay compensation examine start register casually decide c5 end request

c2 c4 reject check ticket request reinitiate request No, "pay compensation" is dead!

©Wil van der Aalst & TU/e (use only with permission & acknowledgements) Good model?

examine thoroughly

c1 c3 pay compensation examine start register casually decide c5 end request

c2 c4 reject check ticket request reinitiate request Yes, but why? ©Wil van der Aalst & TU/e (use only with permission & acknowledgements) WF-nets

A WorkFlow net (WF-net) has one source place (typically called start or i) and one sink place (typically called end or o) and all other nodes are on a path from source to sink.

start end

©Wil van der Aalst & TU/e (use only with permission & acknowledgements) Soundness start end

A WF-net is sound if and only if the following properties hold: • safeness: places cannot hold multiple tokens at the same time, • proper completion: if the sink place is marked, all other places are empty, • option to complete: it is always possible to reach the marking that marks just the sink place, and • absence of dead parts: for any transition there is a firing sequence enabling it.

©Wil van der Aalst & TU/e (use only with permission & acknowledgements) Sound?

t1 p2 t3 p4 t5

p1 p6

t2 p3 t4 p5 t6

• safeness: places cannot hold multiple tokens at the same time • proper completion: if the sink place is marked, all other places are empty • option to complete: it is always possible to reach the final target marking • absence of dead parts: for any transition there is a firing sequence enabling it

©Wil van der Aalst & TU/e (use only with permission & acknowledgements) Sound?

p4 p3 t3

p1 t1 p2 t2 p5

• safeness: places cannot hold multiple tokens at the same time • proper completion: if the sink place is marked, all other places are empty • option to complete: it is always possible to reach the final target marking • absence of dead parts: for any transition there is a firing sequence enabling it

©Wil van der Aalst & TU/e (use only with permission & acknowledgements) Sound?

t3

p1 t1 p2 t2 p3

• safeness: places cannot hold multiple tokens at the same time • proper completion: if the sink place is marked, all other places are empty • option to complete: it is always possible to reach the final target marking • absence of dead parts: for any transition there is a firing sequence enabling it

©Wil van der Aalst & TU/e (use only with permission & acknowledgements) Sound?

examine thoroughly

c1 c3 pay compensation examine start register casually decide c5 end request

c2 c4 reject check ticket request reinitiate request • safeness: places cannot hold multiple tokens at the same time • proper completion: if the sink place is marked, all other places are empty • option to complete: it is always possible to reach the final target marking • absence of dead parts: for any transition there is a firing sequence enabling it

©Wil van der Aalst & TU/e (use only with permission & acknowledgements) Checking soundness may be far from trivial for larger examples. Not sound: Unsafe

Examples of reachable markings: • [c52] • [c1,c2,c3,c4] 2 2 • [c1 ,c2 ] examine thoroughly • etc. c1 c3 pay compensation examine start register casually decide c5 end request

c2 c4 reject check ticket request reinitiate request

©Wil van der Aalst & TU/e (use only with permission & acknowledgements) Not sound: No option to complete in [c3]

examine thoroughly

c1 c3 pay compensation examine start register casually decide c5 end request

c2 c4 reject check ticket request reinitiate request

©Wil van der Aalst & TU/e (use only with permission & acknowledgements) No need to check proper completion: It is implied by other properties

start end option to complete (it is always possible to reach the marking that marks just the sink place) implies proper completion (if the sink place is marked all other places are empty)

©Wil van der Aalst & TU/e (use only with permission & acknowledgements) Link between soundness and classical properties

examine examine thoroughly thoroughly

c1 c3 pay c1 c3 pay compensation compensation examine examine start register casually decide c5 end start register casually decide c5 end request request c2 c4 reject c2 c4 reject check ticket request check ticket request reinitiate reinitiate request request t*

A WF-net is sound if and only if the corresponding "short-circuited" Petri net is live and bounded!

©Wil van der Aalst & TU/e (use only with permission & acknowledgements) Main types of model-based analysis

verification (like soundness checking)

performance analysis (simulation)

data analysis- -based based

modelanalysis

run & adjust )design (re

©Wil van der Aalst & TU/e (use only with permission & acknowledgements) implement/configure Limitations of model-based analysis

• Verification and performance analysis heavily rely on the availability of high quality models. • When the models and reality have little in common, model-based analysis does not make much sense! • There is often a poor alignment between hand-made models and reality. • Process mining aims to address these problems by establishing a direct connection between the models and actual event data about the process.

©Wil van der Aalst & TU/e (use only with permission & acknowledgements) Next: Using the Alpha Algorithm to discover WF-nets from event logs

b supports/ controls “world” business a p1 e p3 processesd software start people machines end system components p2 p4 c organizations records events, e.g., messages, specifies models transactions, configures analyzes etc. implements analyzes

discovery (process) event model conformance logs

enhancement

©Wil van der Aalst & TU/e (use only with permission & acknowledgements) Part I: Preliminaries Part III: Beyond Process Discovery Chapter 1 Chapter 2 Chapter 3 Chapter 7 Chapter 8 Chapter 9 Introduction and Data Mining Conformance Mining Additional Operational Support Analysis Checking Perspectives

Part II: From Event Logs to Process Models Part IV: Putting Process Mining to Work

Chapter 4 Chapter 5 Chapter 6 Chapter 10 Chapter 11 Chapter 12 Getting the Data Process Discovery: An Advanced Process Tool Support Analyzing “Lasagna Analyzing “Spaghetti Introduction Discovery Techniques Processes” Processes”

Part V: Reflection Chapter 13 Chapter 14 Cartography and Epilogue Navigation

©Wil van der Aalst & TU/e (use only with permission & acknowledgements)©Wil van der Aalst & TU/e (use only with permission & acknowledgements)