Download presentation

Presentation is loading. Please wait.

Published byReginald Gorsuch Modified about 1 year ago

1
Petri-net based Analysis of workflows : Verification, validation, and performance analysis

2
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?

3
Three Analysis Techniques Reachability graph Place & transition invariants Simulation

4
Reachability Graph (1,0,0,1,0,0,1) (0,1,0,1,0,0,0)(1,0,0,0,1,0,0) (1,0,0,0,0,1,0)(0,0,1,1,0,0,0) Five reachable states. Traffic lights are safe!

5
Alternative Notation r1+r2+x g1+r2r1+g2 r1+o2o1+r2

6
Reachability Graph Graph containing a node for each reachable state. Constructed by starting in the initial state, calculate all directly reachable states, etc. Expensive technique. Only feasible if finitely many states Difficult to generate diagnostic information.

7
Infinite Reachability Graph

8
Exercise: Construct Reachability Graph

9
Structural Analysis Techniques To avoid state-explosion problem and bad diagnostics. Properties independent of initial state. We only consider place and transition invariants. Proof the PN is live (transition invariants) and bounded (place invariants)

10
Place Invariant Assigns a weight to each place. The weight of a token depends on the weight of the place. The weighted token sum is invariant, i.e., no transition can change it 1 man + 1 woman + 2 couple

11
Other invariants 1 man + 0 woman + 1 couple (Also denoted as: man + couple) 2 man + 3 woman + 5 couple -2 man + 3 woman + couple man – woman woman – man (Any linear combination of invariants is an invariant.)

12
Example: traffic light r1 + g1 + o1 r2 + g2 + o2 r1 + r2 + g1 + g2 + o1 + o2 x + g1 + o1 + g2 + o2 r1 + r2 - x

13
Exercise: Give place invariants

14
Transition invariant Assigns a weight to each transition. If each transition fires the number of times indicated, the system is back in the initial state. i.e. transition invariants indicate potential firing sets without any net effect. 2 marriage + 2 divorce

15
Other invariants 1 marriage + 1 divorce (Also denoted as: marriage + divorce) 20 marriage + 20 divorce Any linear combination of invariants is an invariant, but transition invariants with negative weights have no obvious meaning.

16
Example: traffic light rg1 + go1 + or1 rg2 + go2 + or2 rg1 + rg2 + go1 + go2 + or1 + or2 4 rg1 + 3 rg2 + 4 go1 + 3 go2 + 4 or1 + 3 or2

17
Incidence matrix of a Petri net Each row corresponds to a place. Each column corresponds to a transition. Recall that a Petri net is described by (P,T,I,O). N(p,t)=O(t,p)-I(p,t) where p is a place and t a transition.

18
Example man woman couple marriage divorce

19
Place invariant Let N be the incidence matrix of a net with n places and m transitions Any solution of the equation X.N = 0 is a transition invariant X is a row vector (i.e., 1 x n matrix) O is a row vector (i.e., 1 x m matrix) Note that (0,0,... 0) is always a place invariant.

20
Example Solutions: (0,0,0) (1,0,1) (0,1,1) (1,1,2) (1,-1,0)

21
Transition invariant Let N be the incidence matrix of a net with n places and m transitions Any solution of the equation N.X = 0 is a place invariant X is a column vector (i.e., m x 1 matrix) 0 is a column vector (i.e., n x 1 matrix) Note that (0,0,... 0) T is always a place invariant. Basis can be calculated in polynomial time.

22
Example Solutions: (0,0) T (1,1) T (32,32) T

23
Performance Analysis Questions: throughput, waiting and service times service levels Techniques: simulation

Similar presentations

© 2017 SlidePlayer.com Inc.

All rights reserved.

Ads by Google