540 likes | 625 Views
Eindhoven University of Technology Faculty of Technology Management Department of Information and Technology P.O. Box 513 5600 MB Eindhoven The Netherlands w.m.p.v.d.aalst@tm.tue.nl. Analysis of workflows a-priori and a-posteriori analysis. Wil van der Aalst. Outline. BPM lifecycle
E N D
Eindhoven University of Technology Faculty of Technology Management Department of Information and Technology P.O. Box 513 5600 MB Eindhoven The Netherlands w.m.p.v.d.aalst@tm.tue.nl Analysis of workflowsa-priori and a-posteriori analysis Wil van der Aalst
Outline • BPM lifecycle • a-priori analysis • validation • verification • performance analysis • a-posteriori analysis • process mining
Design-time (a-priori) and run-time (a-posteriori) questions Run-time Design-time - verification- validation- performance analysis - process mining
Design-time analysis of workflows • Validation is concerned with the relation between the model and reality. • Verification is typically used to answer qualitative questions • Is there a deadlock possible? • It is possible to successfully handle a specific case? • Will all cases terminate eventually? • It is possible to execute two tasks in any order? • Performance analysis is typically used to answer quantitative questions • How many cases can be handled in one hour? • What is the average flow time? • How many extra resources are required? • How many cases are handled within 2 days?
Verification: analysis techniques can be used to avoid logical errors. c3 check_policy send_letter c4 c1 c2 c5 start register ready check_damage pay_damage c6 Is this a correct workflow? If not, how to correct it?
WF-net • A WorkFlow (WF) net is a labeled place/transition net with places i and o such that: • i is the only source place, • o is the only sink place, and • all nodes are on a directed path from i to o. i o
i o Soundness • A WF-net is sound if and only if • marking o is reachable from every reachable marking (initial marking is i), • marking o is the only reachable marking marking place o, and • there are no dead transitions.
Syntactic sugaring • Note silent (tau) steps. • Branching bisimulation is used as an equivalence relation to distinguish internal/external choices.
Corresponding WF-net Not sound!
Results • A WF-net is sound if and only if the short-circuited net is live and bounded. • For free-choice WF-nets soundness can be decided in polynomial time. • For nets without PT and TP handles, soundness can be decided in polynomial time. • Inheritance notions, etc., etc.
problem toolbox modeling Petri net description analysis structural analysis reachability analysis Markovian analysis OR-techniques simulation answers Petri-nets: a solver-independent medium
Place invariants can be used to check detect errors • There should be a positive place invariant assigning positive weights to all places and identical weights to begin and end. • 1.begin + 1.end + ..... = constant begin end
Transition invariants can be used to detect errors short-circuited net • There should be a positive transition invariant assigning positive weights to all transitions. begin end
Exercise c3 send_letter check_policy c1 c4 c5 c2 start register ready check_damage pay_damage c6 Use invariants to motivate the correctness of the process definition.
Example process_form send_form c1 c5 archive c3 time-out evaluate start register ready c7 c2 c6 c4 check_proc Sound? Inv.? process_complaint
Example (2) process_form send_form c1 c5 archive c3 time-out evaluate start register ready c2 c6 c4 check_proc Sound? Inv.? process_complaint
Example (3) process_form send_form c1 c5 archive c3 time-out evaluate c8 start register ready c7 c2 c6 c4 check_proc Sound? Inv.? process_complaint
Example (4) process_form send_form c1 c5 archive c3 time-out evaluate start register ready c7 c2 c6 check_proc c4 Sound? Inv.? process_complaint
Example (5) process_form send_form c1 c5 archive c3 time-out evaluate start register ready c7 c2 c6 c4 check_proc Sound? Inv.? process_complaint
Performance analysis Questions: • throughput, waiting and service times • service levels • occupation rates Techniques: • simulation • queuing theory • Markovian analysis
Example: sequential (1) 24 arrivals per hour • average throughput time : 22.2 minutes • service time: 8.0 minutes • waiting time: 14.2 minutes 2 resources, average service time of 4 minutes 2 resources, average service time of 4 minutes c1 task1 c2 task2 c3
Parallel (2) 24 arrivals per hour 2 resources, average service time of 4 minutes • average throughput time : 15 minutes • service time: 4 minutes • waiting time: 11 minutes c21 c23 task1 c1 c3 task2 c22 c24 2 resources, average service time of 4 minutes
Compose (3) • average throughput time : 9.5 minutes • service time: 7.0 minutes • waiting time: 2.5 minutes 24 arrivals per hour 4 resources, average service time of 7 minutes c1 task12 c3
Flexible resources (4) • average throughput time : 14.0 minutes • service time: 8.0 minutes • waiting time: 6.0 minutes 24 arrivals per hour 4 resources, average service time of 4 minutes c1 task1 c2 task2 c3
Triage (5) 1 resource, average service time of 8 minutes • average throughput time : 31.1 minutes • service time: 8.0 minutes • waiting time: 23.1 minutes difficult cases 2 resources, average service time of 4 6 difficult c21 minutes cases per hour task1a c1 c23 task2 c3 task1b 18 easy cases c22 per hour easy cases 1 resource, average service time of 2.66 minutes
Priority (6) easy cases have priority 2 resources, average service time 8 (difficult case) or • average throughput time : 14 minutes • service time: 8 minutes • waiting time: 6 minutes 2.66 (easy case) minutes 6 difficult cases per hour task2 c1 task1 c2 c3 18 easy cases per hour easy cases have priority 2 resources, average service time 8 (difficult case) or 2.66 (easy case) minutes
situation description average average average throughput t. service time waiting t. Situation 1 sequential 22.2 8.0 14.2 Situation 2 parallel 15 4(8) 11(7) Situation 3 compose 9.5 7.0 2.5 Situation 4 flexibility 14.0 8.0 6.0 Situation 5 triage 31.1 8.0 23.1 Situation 6 priorities 14.0 8.0 6.0 Results
Process mining: Reversing the process process mining • Process mining can be used for: • Process discovery (What is the process?) • Delta analysis/conformance (Are we doing what was specified?) • Performance analysis (How can we improve?)
Overview 2) process model 3) organizational model 4) social network 1) basic performance metrics 5) performance characteristics 6) auditing/security If …then … www.processmining.org
Analysis plug-in: Conformance checker Fitness: 0.99521846
Behavioral appropriateness: 0.970471 Structural appropriateness: 0.5263158 More advanced approaches: Footprints and state-space-based methods.