techniques and tools for the analysis of timed workflows
play

Techniques and Tools for the Analysis of Timed Workflows Jiri Srba - PowerPoint PPT Presentation

Techniques and Tools for the Analysis of Timed Workflows Jiri Srba Department of Computer Science, Aalborg University, Selma Lagerl ofs Vej 300, 9220 Aalborg East, Denmark NWPT15, Iceland, October 22nd, 2015 Joint work with Peter G.


  1. Techniques and Tools for the Analysis of Timed Workflows Jiri Srba Department of Computer Science, Aalborg University, Selma Lagerl¨ ofs Vej 300, 9220 Aalborg East, Denmark NWPT’15, Iceland, October 22nd, 2015 Joint work with Peter G. Jensen, Jos´ e A. Mateo and Mathias G. Sørensen.

  2. Workflow Definition Workflows [Wikipedia] A workflow consists of an orchestrated and repeatable pattern of business activity enabled by the systematic organization of resources into processes that transform materials, provide services, or process information. Examples: Car assembly line. Insurance claim. Blood transfusion. 2 / 26

  3. Workflow Definition Workflows [Wikipedia] A workflow consists of an orchestrated and repeatable pattern of business activity enabled by the systematic organization of resources into processes that transform materials, provide services, or process information. Examples: Car assembly line. Insurance claim. Blood transfusion. All these are examples of time-critical workflows. There is a need for methods and tools for timed workflow analysis. 2 / 26

  4. Introduction — Workflow Nets Workflow nets by Wil van der Aalst [ICATPN’97] are widely used for workflow modelling. Based on Petri nets. Abstraction from data, focus on execution flow. Early detection of design errors like deadlocks, livelocks and other abnormal behaviour. Classical soundness for workflow nets: option to complete, proper termination, and absence of redundant tasks. 3 / 26

  5. Focus of the Talk Theory of workflow nets based on timed-arc Petri nets. Definition of soundness and strong soundness. Results about decidability/undecidability of soundness. Minimum and maximum execution time of workflow nets. Integration within the tool TAPAAL and case studies. Discrete vs. continuous time. 4 / 26

  6. Timed-Arc Petri Net: Booking/Payment Example booking payment inv: ≤ 5 inv: ≤ 10 pay successful book [2 , 5] in out 0 start success 5 / 26

  7. Timed-Arc Petri Net: Booking/Payment Example booking payment inv: ≤ 5 inv: ≤ 10 pay successful book [2 , 5] 0 in out start success 5 / 26

  8. Timed-Arc Petri Net: Booking/Payment Example booking payment inv: ≤ 5 inv: ≤ 10 pay successful book [2 , 5] 1 in out start success 5 / 26

  9. Timed-Arc Petri Net: Booking/Payment Example booking payment inv: ≤ 5 inv: ≤ 10 pay successful book [2 , 5] 2 in out start success 5 / 26

  10. Timed-Arc Petri Net: Booking/Payment Example booking payment inv: ≤ 5 inv: ≤ 10 pay successful book [2 , 5] 5 in out start success 5 / 26

  11. Timed-Arc Petri Net: Booking/Payment Example booking payment inv: ≤ 5 inv: ≤ 10 pay successful book [2 , 5] 5 in out start success 5 / 26

  12. Timed-Arc Petri Net: Booking/Payment Example booking payment inv: ≤ 5 inv: ≤ 10 pay successful book [2 , 5] 8 in out start success 5 / 26

  13. Timed-Arc Petri Net: Booking/Payment Example booking payment inv: ≤ 5 inv: ≤ 10 pay successful book [2 , 5] 0 in out start success 5 / 26

  14. Timed-Arc Petri Net: Booking/Payment Example booking payment inv: ≤ 5 inv: ≤ 10 pay successful book [2 , 5] in out 0 start success 5 / 26

  15. Timed-Arc Petri Net: Booking/Payment Example booking payment inv: ≤ 5 inv: ≤ 10 pay successful book [2 , 5] [10,10] in out [5,5] start restart restart success fail fail 5 / 26

  16. Timed-Arc Petri Net: Booking/Payment Example booking payment inv: ≤ 5 inv: ≤ 10 pay successful book [2 , 5] [10,10] in out [5,5] start restart restart empty success 3 × attempts fail fail 5 / 26

  17. Timed-Arc Petri Net: Booking/Payment Example booking payment inv: ≤ 5 inv: ≤ 10 pay successful book [2 , 5] [10,10] in out 0 [5,5] start restart restart empty success 3 × attempts fail fail 5 / 26

  18. Timed-Arc Petri Net: Booking/Payment Example booking payment inv: ≤ 5 inv: ≤ 10 pay successful book [2 , 5] 0 [10,10] in out [5,5] start restart restart empty success 3 × attempts 0 0 0 fail fail 5 / 26

  19. Timed-Arc Petri Net: Booking/Payment Example booking payment inv: ≤ 5 inv: ≤ 10 pay successful book [2 , 5] 2 [10,10] in out [5,5] start restart restart empty success 3 × attempts 2 2 2 fail fail 5 / 26

  20. Timed-Arc Petri Net: Booking/Payment Example booking payment inv: ≤ 5 inv: ≤ 10 pay successful book [2 , 5] 0 [10,10] in out [5,5] start restart restart empty success 3 × attempts 2 2 fail fail 5 / 26

  21. Timed-Arc Petri Net: Booking/Payment Example booking payment inv: ≤ 5 inv: ≤ 10 pay successful book [2 , 5] 3 [10,10] in out [5,5] start restart restart empty success 3 × attempts 5 5 fail fail 5 / 26

  22. Timed-Arc Petri Net: Booking/Payment Example booking payment inv: ≤ 5 inv: ≤ 10 pay successful book [2 , 5] 3 [10,10] in out [5,5] start restart restart empty success 3 × attempts 7 7 fail fail 5 / 26

  23. Timed-Arc Petri Net: Booking/Payment Example booking payment inv: ≤ 5 inv: ≤ 10 pay successful book [2 , 5] 5 [10,10] in out [5,5] start restart restart empty success 3 × attempts 9 9 fail fail 5 / 26

  24. Timed-Arc Petri Net: Booking/Payment Example booking payment inv: ≤ 5 inv: ≤ 10 pay successful book [2 , 5] 0 [10,10] in out [5,5] start restart restart empty success 3 × attempts 9 9 fail fail 5 / 26

  25. Timed-Arc Petri Net: Booking/Payment Example booking payment inv: ≤ 5 inv: ≤ 10 pay successful book [2 , 5] 0 [10,10] in out [5,5] start restart restart empty success 3 × attempts 9 fail fail 5 / 26

  26. Timed-Arc Petri Net: Booking/Payment Example booking payment inv: ≤ 5 inv: ≤ 10 pay successful book [2 , 5] 0 [10,10] in out [5,5] start restart restart empty success 3 × attempts fail fail 5 / 26

  27. Timed-Arc Petri Net: Booking/Payment Example booking payment inv: ≤ 5 inv: ≤ 10 pay successful book [2 , 5] [10,10] in out 0 [5,5] start restart restart empty success 3 × attempts fail fail 5 / 26

  28. Monotonic Timed-Arc Petri Nets Timed-Arc Petri Nets (TAPN) Modelling Features: Timed tokens, intervals (guards) on arcs. Weighted arcs. Transport arcs. Inhibitor arcs. Age invariants. Urgent transitions. 6 / 26

  29. Monotonic Timed-Arc Petri Nets Timed-Arc Petri Nets (TAPN) Modelling Features: Timed tokens, intervals (guards) on arcs. Weighted arcs. Transport arcs. Inhibitor arcs. Age invariants. Urgent transitions. Monotonic Timed-Arc Petri Nets (MTAPN) No inhibitor arcs, no age invariants, no urgent transitions. We consider the integer-delay (discrete-time) semantics (for now). 6 / 26

  30. Marking Extrapolation Marking in TAPN M : P → B ( N 0 ) Problem Infinitely many markings even for bounded nets. We define cut ( M ) extrapolation for a marking M : compute for each place maximum relevant token ages C max : P → ( N 0 ∪ {− 1 } ) change the age of each token in place p exceeding the bound C max ( p ) into C max ( p ) + 1. 7 / 26

  31. Monotonicity Lemma for MTAPN Monotonicity Lemma ( t is transition, d is delay) Let M and M ′ be markings in an MTAPN s.t. cut ( M ) ⊑ cut ( M ′ ). t t → M 1 then M ′ → M ′ 1 and cut ( M 1 ) ⊑ cut ( M ′ If M − − 1 ). d d → M 1 then M ′ → M ′ 1 and cut ( M 1 ) ⊑ cut ( M ′ If M − − 1 ). Fact: inhibitor arcs, age invariants and urgency break monotonicity. 8 / 26

  32. Timed-Arc Workflow Net Definition A TAPN is called a timed-arc workflow net if it has a unique place in ∈ P s.t. • in = ∅ and in • � = ∅ , it has a unique place out ∈ P s.t. out • = ∅ and • out � = ∅ , • p � = ∅ and p • � = ∅ for all p ∈ P \ { in , out } , and • t � = ∅ for all t ∈ T . working in out start finish [5 , 10] inv: ≤ 10 9 / 26

  33. Timed-Arc Workflow Net Definition A TAPN is called a timed-arc workflow net if it has a unique place in ∈ P s.t. • in = ∅ and in • � = ∅ , it has a unique place out ∈ P s.t. out • = ∅ and • out � = ∅ , • p � = ∅ and p • � = ∅ for all p ∈ P \ { in , out } , and • t � = ∅ for all t ∈ T . working in out start finish [5 , 10] inv: ≤ 10 An initial marking has just one token of age 0 in the place in . A final marking has exactly one token in place out and all other places are empty. 9 / 26

  34. Timed-Arc Workflow Net Definition A TAPN is called a timed-arc workflow net if it has a unique place in ∈ P s.t. • in = ∅ and in • � = ∅ , it has a unique place out ∈ P s.t. out • = ∅ and • out � = ∅ , • p � = ∅ and p • � = ∅ for all p ∈ P \ { in , out } , and • t � = ∅ for all t ∈ T . working in out start finish [5 , 10] 0 inv: ≤ 10 An initial marking has just one token of age 0 in the place in . A final marking has exactly one token in place out and all other places are empty. 9 / 26

Recommend


More recommend