Workflow Nets and Soundness
Total Page:16
File Type:pdf, Size:1020Kb
Process Mining: Data Science in Action Workflow Nets and Soundness prof.dr.ir. Wil van der Aalst www.processmining.org ©Wil van der Aalst & TU/e (use only with permission & acknowledgements) Motivation • For process mining we often use (or aim at) Workflow 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 data analysis- -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 Petri net 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