1 Analysis of workflows : Verification, validation, and performance analysis. Wil van der Aalst Eindhoven University of Technology Faculty of Technology.

Slides:



Advertisements
Similar presentations
Workflow Mining: Concepts and Algorithm Dr. Boleslaw Mikolajczak.
Advertisements

On 1-soundness and Soundness of Workflow Nets Lu Ping, Hu Hao and Lü Jian Department of Computer Science Nanjing University
Techniques to analyze workflows (design-time)
1 SE-561 Formal Methods in Software Petri Nets - I.
An Introduction to Petri Nets
Petri Nets Section 2 Roohollah Abdipur.
Based on: Petri Nets and Industrial Applications: A Tutorial
PROTOCOL VERIFICATION & PROTOCOL VALIDATION. Protocol Verification Communication Protocols should be checked for correctness, robustness and performance,
Lab Assignment 1 COP 4600: Operating Systems Principles Dr. Sumi Helal Professor Computer & Information Science & Engineering Department University of.
Workflow Management Kap. 4. Analyzing Workflows Wil van der Aalst has copyrights to almost all figures in the following slideshow made by Lars Frank.
1 Modeling based on Petri-nets. Lecture 8. 2 High-level Petri nets The classical Petri net was invented by Carl Adam Petri in A lot of research.
Soundness problem for Resource-Constrained Workflow nets.
/faculteit technologie management PN-1 Petri nets refresher Prof.dr.ir. Wil van der Aalst Eindhoven University of Technology, Faculty of Technology Management,
Simulation of multiple server queuing systems
Mariska Netjes, Wil M.P. van der Aalst, Hajo A. Reijers - Analysis of resource-constrained processes with Colored Petri Nets CPN Workshop 2005 Analysis.
Queuing Systems Chapter 17.
Performance Analysis and Monitoring Facilities in CPN Tools Tutorial CPN’05 October 25, 2005 Lisa Wells.
CSC 402 Requirements Engineering 1 Requirements Techniques, cont. Formal requirements analysis techniques include: – DFD (covered) – ERD (covered) – Finite.
1 Analysis of workflows a-priori and a-posteriori analysis Wil van der Aalst Eindhoven University of Technology Faculty of Technology Management Department.
1 Performance Evaluation of Computer Networks Objectives  Introduction to Queuing Theory  Little’s Theorem  Standard Notation of Queuing Systems  Poisson.
Business Alignment Using Process Mining as a Tool for Delta Analysis Prof.dr.ir. Wil van der Aalst Eindhoven University of Technology Department of Information.
1 Validation and Verification of Simulation Models.
Linear and Branching Time Safety, Liveness, and Fairness
Capacity analysis of complex materials handling systems.
Verification & Validation
Modeling with ordinary Petri Nets Events: Actions that take place in the system The occurrence of these events is controlled by the state of the system.
Modeling. Conceptual modeling: Petri nets Implementation: Arena, CPN tools Simulation needed: build models. Start with concepts, then select appropriate.
1 QUEUES. 2 Definition A queue is a linear list in which data can only be inserted at one end, called the rear, and deleted from the other end, called.
مهندسی مجدد فرآیندهای تجاری
1 Chapters 8 Overview of Queuing Analysis. Chapter 8 Overview of Queuing Analysis 2 Projected vs. Actual Response Time.
1 Analysis of workflows : Verification, validation, and performance analysis. Wil van der Aalst Eindhoven University of Technology Faculty of Technology.
Modeling and Simulation Discrete-Event Simulation
Petri nets refresher Prof.dr.ir. Wil van der Aalst
Generalized stochastic Petri nets (GSPN)
Modelling by Petri nets
Ch8. Analysis Joosung, Ko.
CSCI1600: Embedded and Real Time Software Lecture 11: Modeling IV: Concurrency Steven Reiss, Fall 2015.
CAP 4800/CAP 5805: Computer Simulation Concepts
1 Modeling workflows : The organizational dimension and alternative notations. Wil van der Aalst Eindhoven University of Technology Faculty of Technology.
/faculteit technologie management PN-1 Petri nets refresher Prof.dr.ir. Wil van der Aalst Eindhoven University of Technology, Faculty of Technology Management,
 Simulation enables the study of complex system.  Simulation is a good approach when analytic study of a system is not possible or very complex.  Informational,
/faculteit technologie management PN-1 Petri nets refresher Prof.dr.ir. Wil van der Aalst Eindhoven University of Technology, Faculty of Technology Management,
1 BIS 3106: Business Process Management (BPM) Lecture Nine: Quantitative Process Analysis (2) Makerere University School of Computing and Informatics Technology.
Building Valid, Credible & Appropriately Detailed Simulation Models
Diagnostic Information for Control-Flow Analysis of Workflow Graphs (aka Free-Choice Workflow Nets) Cédric Favre(1,2), Hagen Völzer(1), Peter Müller(2)
Technology of information systems Lecture 5 Process management.
Module D Waiting Line Models.
/faculteit technologie management PN-1 مهندسی مجدد فرآیندهای تجاری بخش چهارم: تحلیل فرآیندها Analysis of workflows.
Polynomial analysis algorithms for free-choice workflow nets
Requirements Techniques, cont.
Lecture 14 – Queuing Networks
Advantages of FSM Their simplicity make it easy for inexperienced developers to implement with little to no extra knowledge (low entry level)
Concurrent Systems Modeling using Petri Nets
CSS 496 Business Process Re-engineering for BS(CS)
Clockless Computing COMP
Concurrent Systems Modeling using Petri Nets – Part II
Wil van der Aalst Eindhoven University of Technology
Wil van der Aalst Eindhoven University of Technology
بسمه‌تعالي فصل چهاردهم شبکه‌هاي پتري.
Wil van der Aalst Eindhoven University of Technology
Wil van der Aalst Eindhoven University of Technology
Modeling based on Petri-nets.
Variability 8/24/04 Paul A. Jensen
Petri nets refresher Prof.dr.ir. Wil van der Aalst
مهندسی مجدد فرآیندهای تجاری
Wil van der Aalst Eindhoven University of Technology
Lecture 14 – Queuing Networks
Petri nets refresher Prof.dr.ir. Wil van der Aalst
Business Alignment Using Process Mining as a Tool for Delta Analysis
Workflow Mining: Concepts and Algorithm
Presentation transcript:

1 Analysis of workflows : Verification, validation, and performance analysis. Wil van der Aalst Eindhoven University of Technology Faculty of Technology Management Department of Information and Technology P.O. Box MB Eindhoven The Netherlands

2 Design-time and run-time questions Run-timeDesign-time process mining verification validation performance analysis

3 Techniques to analyze workflows (design-time) 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?

4 Verification: analysis techniques can be used to avoid logical errors. Is this a correct workflow? If not, how to correct it? pay_damage check_policy readystartregister c5 c6 c4 c3 c2 c1 check_damage send_letter

5 It this process correct?

6 Error 1: dangling tasks task5task4 task3task2task1beginend

7 Error 2: deadlock (task2) task2 task1beginend

8 Error 3: unbounded and never-ending task3task2task1beginend

9 Error 4: deadlock before or after termination task3task2task1beginend

10 Soundness property The soundness property corresponds to two standard Petri-net properties (liveness and boundedness). Standard Petri-net-based tools can be used. For (almost) free-choice nets this can be checked in polynomial time! process definition endbegin Eventually the case terminates and the moment it terminates all references have been removed.

11 Petri-nets: a solver-independent medium problem Petri net description toolbox reachability analysis Markovian analysis simulation structural analysis OR-techniques modeling analysis answers

12 Reachability analysis rg1 red1 yellow1 green1 yr1 gy1 rg2 red2 yellow2 green2 yr2 gy2 safe

13 Reachability graph Each node corresponds to a reachable state. Done by a computer. A computer can cope with reachability graphs with millions of nodes. The traffic lights are safe!

14 Exercise: construct reachability graph pay_damage check_policy readystartregister c5 c6 c4 c3 c2 c1 check_damage send_letter

15 Structural analysis Many techniques are available: place invariants transition invariants traps and siphons reduction rules decomposition techniques S-covers/T-covers special techniques for subclasses: –state machines –marked graphs –free-choice nets –asymmetric free-choice nets

16 Place invariants A place invariant assigns a weight to each place such that the weighted token sum remains constant. divorcemarriage man woman couple 1man + 1woman+2couple =constant (man+woman+2couple=7) woman + couple man + couple man - woman

17 Example rg1 red1 yellow1 green1 yr1 gy1 rg2 red2 yellow2 green2 yr2 gy2 safe red1+yellow1+green1 = 1 red2+yellow2+green2 = 1 safe + green1 + green2 + yellow1 + yellow2 = 1 red1 + red2 - safe = 1

18 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 endbegin

19 Exercise pay_damage check_policy readystartregister c5 c6 c4 c3 c2 c1 check_damage send_letter Use place invariants to motivate the correctness of the process definition.

20 Example startregister send_form evaluate process_complaint check_proc process_form time-out archive ready c1 c2 c3 c4 c5 c6 c7 Sound? P-inv.?

21 Example (2) startregister send_form evaluate process_complaint check_proc process_form time-out archive ready c1 c2 c3 c4 c5 c6 Sound? P-inv.?

22 Example (3) startregister send_form evaluate process_complaint check_proc process_form time-out archive ready c1 c2 c3 c4 c5 c6 c7 c8 Sound? P-inv.?

23 Example (4) startregister send_form evaluate process_complaint check_proc process_form time-out archive ready c1 c2 c3 c4 c5 c6 c7 Sound? P-inv.?

24 Example (5) startregister send_form evaluate process_complaint check_proc process_form time-out archive ready c1 c2 c3 c4 c5 c6 c7 Sound? P-inv.?

25 Transition invariants A transition invariant assigns a weight to each transition such that the net effect of firing each transition the specified number of time is zero, i.e., the initial marking is reproduced. divorcemarriage man woman couple marriage + divorce 2.marriage + 2.divorce

26 Transition invariants can be used to detect errors There should be a positive transition invariant assigning positive weights to all transitions. endbegin short-circuited net

27 Example Give transition invariants of short-circuited net. pay_damage check_policy readystartregister c5 c6 c4 c3 c2 c1 check_damage send_letter

28 Why invariants? Can be calculated efficiently (polynomial time for a basis). Independent of initial marking. However, the main reason is didactical! You only truly understand a model if you think about it in terms of invariants!

29 Performance analysis Questions: throughput, waiting and service times service levels occupation rates Techniques: simulation queuing theory Markovian analysis

30 Example: sequential (1) average throughput time : 22.2 minutes service time: 8.0 minutes waiting time: 14.2 minutes task2task1c3c1c2 2 resources, average service time of 4 minutes 24 arrivals per hour 2 resources, average service time of 4 minutes

31 Parallel (2) average throughput time : 15 minutes service time: 4 minutes waiting time: 11 minutes task2 task1 c3 c1 c21 24 arrivals per hour c23 c24c22 2 resources, average service time of 4 minutes 2 resources, average service time of 4 minutes

32 Compose (3) average throughput time : 9.5 minutes service time: 7.0 minutes waiting time: 2.5 minutes task12c3c1 24 arrivals per hour 4 resources, average service time of 7 minutes

33 Flexible resources (4) average throughput time : 14.0 minutes service time: 8.0 minutes waiting time: 6.0 minutes task2task1c3c1c2 24 arrivals per hour 4 resources, average service time of 4 minutes

34 Triage (5) average throughput time : 31.1 minutes service time: 8.0 minutes waiting time: 23.1 minutes task1b task1a c3 c1 c21 6 difficult cases per hour c23 c22 1 resource, average service time of 8 minutes 1 resource, average service time of 2.66 minutes task2 2 resources, average service time of 4 minutes 18 easy cases per hour difficult cases easy cases

35 Priority (6) average throughput time : 14 minutes service time: 8 minutes waiting time: 6 minutes task2 task1c3 c1 c2 easy cases have priority 2 resources, average service time 8 (difficult case) or 2.66 (easy case) minutes 6 difficult cases per hour 18 easy cases per hour easy cases have priority 2 resources, average service time 8 (difficult case) or 2.66 (easy case) minutes

36 Results

37 Queuing models Basic characteristics: average number of arrivals per time unit: (mean arrival rate) average number that can be handled by one server per time unit:  (mean service rate) number of servers: c arrivals waiting service  c

38 Queuing models (2) Basic relationships: average time between arrivals: 1/ average service time: 1/  occupation rate:  c*  ) average number being served: r   c W,Lq S,L W (S) = average time in queue (system) Lq (L) = average number in queue (system) L = Lq + r S = W + 1/  Lq = * W L = * S (Little’s formula)

39 M/M/1 queue  1 Lq = (  L =  W =  S =  Assumptions: time between arrivals and service time follow a negative expontential distribution 1 server (c = 1) FIFO Also formulas for M/Er/1, M/G/1, M/M/c,... !

40 Exercise Calculate: occupation rates, average waiting time, average throughput time, average number in system. task1b task1a c3 c1 c21 6 difficult cases per hour c23 c22 1 resource, average service time of 8 minutes 1 resource, average service time of 2.66 minutes task2 1 resource, average service time of 2 minutes 18 easy cases per hour difficult cases easy cases Increase the occupation rate until 90%: average waiting time, average throughput time, average number in system.

41 Queuing models Basic characteristics: average number of arrivals per time unit: (mean arrival rate) average number that can be handled by one server per time unit:  (mean service rate) number of servers: c arrivals waiting service  c

42 Queuing models (2) Basic relationships: average time between arrivals: 1/ average service time: 1/  occupation rate:  c*  ) average number being served: r   c W,Lq S,L W (S) = average time in queue (system) Lq (L) = average number in queue (system) L = Lq + r S = W + 1/  Lq = * W L = * S (Little’s formula)

43 M/M/1 queue  1 Lq = (  L =  W =  S =  Assumptions: time between arrivals and service time follow a negative expontential distribution 1 server (c = 1) FIFO Also formulas for M/Er/1, M/G/1, M/M/c,... !

44 Exercise Calculate: occupation rates, average waiting time, average throughput time, average number in system. task1b task1a c3 c1 c21 6 difficult cases per hour c23 c22 1 resource, average service time of 8 minutes 1 resource, average service time of 2.66 minutes task2 1 resource, average service time of 2 minutes 18 easy cases per hour difficult cases easy cases Increase the occupation rate until 90%: average waiting time, average throughput time, average number in system.

45 Simulation Random walk through the reachability graph Computer experiment –pseudo random numbers –random generator Validation Statistical aspects –start run –subruns Animation Flexible No proof!

46 Simulation using Protos/ExSpect