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

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

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

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

Petri-net based Analysis of workflows:

Verification, validation, and performance analysis

Page 2: Petri-net based Analysis of workflows : Verification, validation, and performance analysis.

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?

Page 3: Petri-net based Analysis of workflows : Verification, validation, and performance analysis.

Three Analysis Techniques

Reachability graph Place & transition invariants Simulation

Page 4: Petri-net based Analysis of workflows : Verification, validation, and performance analysis.

Reachability Graph

rg1

go1

or1

r1

g1

o1

rg2

go2

or2

r2

g2

o2

x

(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!

Page 5: Petri-net based Analysis of workflows : Verification, validation, and performance analysis.

Alternative Notation

rg1

go1

or1

r1

g1

o1

rg2

go2

or2

r2

g2

o2

x

r1+r2+x

g1+r2 r1+g2

r1+o2o1+r2

Page 6: Petri-net based Analysis of workflows : Verification, validation, and performance analysis.

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.

Page 7: Petri-net based Analysis of workflows : Verification, validation, and performance analysis.

Infinite Reachability Graph

rg1

go1

or1

r1

g1

o1

rg2

go2

or2

r2

g2

o2

x

Page 8: Petri-net based Analysis of workflows : Verification, validation, and performance analysis.

Exercise: Construct Reachability Graph

wait enter before make_picture after leave gone

free

occupied

Page 9: Petri-net based Analysis of workflows : Verification, validation, and performance analysis.

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)

Page 10: Petri-net based Analysis of workflows : Verification, validation, and performance analysis.

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

couple

man

woman

marriage divorce

1 man + 1 woman + 2 couple

Page 11: Petri-net based Analysis of workflows : Verification, validation, and performance analysis.

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.)

couple

man

woman

marriage divorce

Page 12: Petri-net based Analysis of workflows : Verification, validation, and performance analysis.

Example: traffic light r1 + g1 + o1 r2 + g2 + o2 r1 + r2 + g1 + g2 + o1 +

o2 x + g1 + o1 + g2 + o2 r1 + r2 - x

rg1

go1

or1

r1

g1

o1

rg2

go2

or2

r2

g2

o2

x

Page 13: Petri-net based Analysis of workflows : Verification, validation, and performance analysis.

Exercise: Give place invariants

free producer

start_production

end_production

wait consumer

start_consumption

end_consumption

product

Page 14: Petri-net based Analysis of workflows : Verification, validation, and performance analysis.

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.

couple

man

woman

marriage divorce

2 marriage + 2 divorce

Page 15: Petri-net based Analysis of workflows : Verification, validation, and performance analysis.

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.

couple

man

woman

marriage divorce

Page 16: Petri-net based Analysis of workflows : Verification, validation, and performance analysis.

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

rg1

go1

or1

r1

g1

o1

rg2

go2

or2

r2

g2

o2

x

Page 17: Petri-net based Analysis of workflows : Verification, validation, and performance analysis.

Incidence matrix of a Petri net Each row corresponds to

a place. Each column corresponds

to a transition. Recall that a Petri net is d

escribed by (P,T,I,O). N(p,t)=O(t,p)-I(p,t) wher

e p is a place and t a transition.

couple

man

woman

marriage divorce

11

11

11

N

Page 18: Petri-net based Analysis of workflows : Verification, validation, and performance analysis.

Example

couple

man

woman

marriage divorce

11

11

11

N

manwoman

couple

marriage

divorce

Page 19: Petri-net based Analysis of workflows : Verification, validation, and performance analysis.

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.

Page 20: Petri-net based Analysis of workflows : Verification, validation, and performance analysis.

Example

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

couple

man

woman

marriage divorce

)0,0(

11

11

11

X

)0,0(

11

11

11

),,(

couplewomanman

Page 21: Petri-net based Analysis of workflows : Verification, validation, and performance analysis.

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.

Page 22: Petri-net based Analysis of workflows : Verification, validation, and performance analysis.

Example

Solutions: (0,0)T

(1,1)T

(32,32)T

couple

man

woman

marriage divorce

0

0

0

11

11

11

X

0

0

0

11

11

11

divorce

marriage

Page 23: Petri-net based Analysis of workflows : Verification, validation, and performance analysis.

Performance Analysis

Questions: throughput, waiting and service times service levels

Techniques: simulation