Introduction Examples Properties Analysis techniques

106
1 EE249Fall04 Outline Petri nets Introduction Examples Properties Analysis techniques

Transcript of Introduction Examples Properties Analysis techniques

Page 1: Introduction Examples Properties Analysis techniques

1EE249Fall04

Outline

• Petri nets– Introduction

– Examples

– Properties

– Analysis techniques

Page 2: Introduction Examples Properties Analysis techniques

2EE249Fall04

Petri Nets (PNs)

• Model introduced by C.A. Petri in 1962– Ph.D. Thesis: “Communication with Automata”

• Applications: distributed computing, manufacturing, control, communication networks, transportation…

• PNs describe explicitly and graphically:– sequencing/causality

– conflict/non-deterministic choice

– concurrency

• Basic PN model– Asynchronous model (partial ordering)

– Main drawback: no hierarchy

Page 3: Introduction Examples Properties Analysis techniques

3EE249Fall04

Example: Synchronization at single track rail segment

• „Preconditions“

Page 4: Introduction Examples Properties Analysis techniques

4EE249Fall04

Playing the „token game“

Page 5: Introduction Examples Properties Analysis techniques

5EE249Fall04

Conflict for resource „track“

Page 6: Introduction Examples Properties Analysis techniques

6EE249Fall04

Petri Net Graph

• Bipartite weighted directed graph:– Places: circles– Transitions: bars or boxes– Arcs: arrows labeled with weights

• Tokens: black dots

t1p1

p2t2

p4

t3

p3

2

3

Page 7: Introduction Examples Properties Analysis techniques

7EE249Fall04

Petri Net• A PN (N,M0) is a Petri Net Graph N

– places: represent distributed state by holding tokens

– marking (state) M is an n-vector (m1,m2,m3…), where mi is the non-negative number of tokens in place pi.

– initial marking (M0) is initial state

– transitions: represent actions/events

– enabled transition: enough tokens in predecessors

– firing transition: modifies marking

• …and an initial marking M0.t1p1

p2t2

p4

t3p3

2

3Places/Transitions: conditions/events

Page 8: Introduction Examples Properties Analysis techniques

8EE249Fall04

Transition firing rule• A marking is changed according to the following rules:

– A transition is enabled if there are enough tokens in each input place

– An enabled transition may or may not fire

– The firing of a transition modifies marking by consuming tokens from the input places and producing tokens in the output places

2 2

3

2 2

3

Page 9: Introduction Examples Properties Analysis techniques

9EE249Fall04

Concurrency, causality, choice

t1

t2

t3 t4

t5

t6

Page 10: Introduction Examples Properties Analysis techniques

10EE249Fall04

Concurrency, causality, choice

Concurrency

t1

t2

t3 t4

t5

t6

Page 11: Introduction Examples Properties Analysis techniques

11EE249Fall04

Concurrency, causality, choice

Causality, sequencing

t1

t2

t3 t4

t5

t6

Page 12: Introduction Examples Properties Analysis techniques

12EE249Fall04

Concurrency, causality, choice

Choice,conflict

t1

t2

t3 t4

t5

t6

Page 13: Introduction Examples Properties Analysis techniques

13EE249Fall04

Concurrency, causality, choice

Choice,conflict

t1

t2

t3 t4

t5

t6

Page 14: Introduction Examples Properties Analysis techniques

14EE249Fall04

Communication Protocol

P1

Send msg

Receive Ack

Send Ack

Receive msg

P2

Page 15: Introduction Examples Properties Analysis techniques

15EE249Fall04

Communication Protocol

P1

Send msg

Receive Ack

Send Ack

Receive msg

P2

Page 16: Introduction Examples Properties Analysis techniques

16EE249Fall04

Communication Protocol

P1

Send msg

Receive Ack

Send Ack

Receive msg

P2

Page 17: Introduction Examples Properties Analysis techniques

17EE249Fall04

Communication Protocol

P1

Send msg

Receive Ack

Send Ack

Receive msg

P2

Page 18: Introduction Examples Properties Analysis techniques

18EE249Fall04

Communication Protocol

P1

Send msg

Receive Ack

Send Ack

Receive msg

P2

Page 19: Introduction Examples Properties Analysis techniques

19EE249Fall04

Communication Protocol

P1

Send msg

Receive Ack

Send Ack

Receive msg

P2

Page 20: Introduction Examples Properties Analysis techniques

20EE249Fall04

Producer-Consumer Problem

Produce

Consume

Buffer

Page 21: Introduction Examples Properties Analysis techniques

21EE249Fall04

Producer-Consumer Problem

Produce

Consume

Buffer

Page 22: Introduction Examples Properties Analysis techniques

22EE249Fall04

Producer-Consumer Problem

Produce

Consume

Buffer

Page 23: Introduction Examples Properties Analysis techniques

23EE249Fall04

Producer-Consumer Problem

Produce

Consume

Buffer

Page 24: Introduction Examples Properties Analysis techniques

24EE249Fall04

Producer-Consumer Problem

Produce

Consume

Buffer

Page 25: Introduction Examples Properties Analysis techniques

25EE249Fall04

Producer-Consumer Problem

Produce

Consume

Buffer

Page 26: Introduction Examples Properties Analysis techniques

26EE249Fall04

Producer-Consumer Problem

Produce

Consume

Buffer

Page 27: Introduction Examples Properties Analysis techniques

27EE249Fall04

Producer-Consumer Problem

Produce

Consume

Buffer

Page 28: Introduction Examples Properties Analysis techniques

28EE249Fall04

Producer-Consumer Problem

Produce

Consume

Buffer

Page 29: Introduction Examples Properties Analysis techniques

29EE249Fall04

Producer-Consumer Problem

Produce

Consume

Buffer

Page 30: Introduction Examples Properties Analysis techniques

30EE249Fall04

Producer-Consumer Problem

Produce

Consume

Buffer

Page 31: Introduction Examples Properties Analysis techniques

31EE249Fall04

Producer-Consumer Problem

Produce

Consume

Buffer

Page 32: Introduction Examples Properties Analysis techniques

32EE249Fall04

Producer-Consumer Problem

Produce

Consume

Buffer

Page 33: Introduction Examples Properties Analysis techniques

33EE249Fall04

Producer-Consumer Problem

Produce

Consume

Buffer

Page 34: Introduction Examples Properties Analysis techniques

34EE249Fall04

Producer-Consumer with priority

Consumer B can consume only if buffer A is empty

Inhibitor arcs

A

B

Page 35: Introduction Examples Properties Analysis techniques

35EE249Fall04

PN properties

• Behavioral: depend on the initial marking (most interesting)– Reachability

– Boundedness

– Schedulability

– Liveness

– Conservation

• Structural: do not depend on the initial marking (often too restrictive)– Consistency

– Structural boundedness

Page 36: Introduction Examples Properties Analysis techniques

36EE249Fall04

Reachability

• Marking M is reachable from marking M0 if there exists a sequence of firings σ = M0 t1 M1 t2 M2… M that transforms M0 to M.

• The reachability problem is decidable.

t1p1

p2t2

p4

t3p3

Μ0 = (1,0,1,0)M = (1,1,0,0)

Μ0 = (1,0,1,0)t3

M1 = (1,0,0,1)t2

M = (1,1,0,0)

Page 37: Introduction Examples Properties Analysis techniques

37EE249Fall04

• Liveness: from any marking any transition can become fireable– Liveness implies deadlock freedom, not viceversa

Liveness

Not live

Page 38: Introduction Examples Properties Analysis techniques

38EE249Fall04

• Liveness: from any marking any transition can become fireable– Liveness implies deadlock freedom, not viceversa

Liveness

Not live

Page 39: Introduction Examples Properties Analysis techniques

39EE249Fall04

• Liveness: from any marking any transition can become fireable– Liveness implies deadlock freedom, not viceversa

Liveness

Deadlock-free

Page 40: Introduction Examples Properties Analysis techniques

40EE249Fall04

• Liveness: from any marking any transition can become fireable– Liveness implies deadlock freedom, not viceversa

Liveness

Deadlock-free

Page 41: Introduction Examples Properties Analysis techniques

41EE249Fall04

• Boundedness: the number of tokens in any place cannot grow indefinitely

– (1-bounded also called safe)

– Application: places represent buffers and registers (check there is no overflow)

Boundedness

Unbounded

Page 42: Introduction Examples Properties Analysis techniques

42EE249Fall04

• Boundedness: the number of tokens in any place cannot grow indefinitely

– (1-bounded also called safe)

– Application: places represent buffers and registers (check there is no overflow)

Boundedness

Unbounded

Page 43: Introduction Examples Properties Analysis techniques

43EE249Fall04

• Boundedness: the number of tokens in any place cannot grow indefinitely

– (1-bounded also called safe)

– Application: places represent buffers and registers (check there is no overflow)

Boundedness

Unbounded

Page 44: Introduction Examples Properties Analysis techniques

44EE249Fall04

• Boundedness: the number of tokens in any place cannot grow indefinitely

– (1-bounded also called safe)

– Application: places represent buffers and registers (check there is no overflow)

Boundedness

Unbounded

Page 45: Introduction Examples Properties Analysis techniques

45EE249Fall04

• Boundedness: the number of tokens in any place cannot grow indefinitely

– (1-bounded also called safe)

– Application: places represent buffers and registers (check there is no overflow)

Boundedness

Unbounded

Page 46: Introduction Examples Properties Analysis techniques

46EE249Fall04

Conservation

• Conservation: the total number of tokens in the net is constant

Not conservative

Page 47: Introduction Examples Properties Analysis techniques

47EE249Fall04

Conservation

• Conservation: the total number of tokens in the net is constant

Not conservative

Page 48: Introduction Examples Properties Analysis techniques

48EE249Fall04

Conservation

• Conservation: the total number of tokens in the net is constant

Conservative

2

2

Page 49: Introduction Examples Properties Analysis techniques

49EE249Fall04

Analysis techniques

• Structural analysis techniques– Incidence matrix

– T- and S- Invariants

• State Space Analysis techniques– Coverability Tree

– Reachability Graph

Page 50: Introduction Examples Properties Analysis techniques

50EE249Fall04

Incidence Matrix

• Necessary condition for marking M to be reachable from initial marking M0:

there exists firing vector v s.t.:

M = M0 + A v

p1 p2 p3t1t2

t3A=A=

--11 00 0011 11 --1100 --11 11

t1 t2 t3p1p2p3

Page 51: Introduction Examples Properties Analysis techniques

51EE249Fall04

State equations

p1 p2 p3t1

t3

A=A=--11 00 0011 11 --1100 --11 11

• E.g. reachability of M = |0 0 1|T from M0 = |1 0 0|T

but also v2 = | 1 1 2 |T or any vk = | 1 (k) (k+1) |T

t2

110000

++--11 00 0011 11 --1100 --11 11

000011

==110011

vv1 1 ==110011

Page 52: Introduction Examples Properties Analysis techniques

52EE249Fall04

Necessary Condition only

2 2

Firing vector: (1,2,2)

t1

t2

t3

Deadlock!!

Page 53: Introduction Examples Properties Analysis techniques

53EE249Fall04

State equations and invariants

• Solutions of Ax = 0 (in M = M0 + Ax, M = M0)

T-invariants– sequences of transitions that (if fireable) bring back to original marking

– periodic schedule in SDF

– e.g. x =| 0 1 1 |T

p1 p2 p3t1

t3

A=A=--11 00 0011 11 --1100 --11 11

t2

Page 54: Introduction Examples Properties Analysis techniques

54EE249Fall04

Application of T-invariants

• Scheduling– Cyclic schedules: need to return to the initial state

i *k2 +

*k1

Schedule: i *k2 *k1 + oT-invariant: (1,1,1,1,1)

o

Page 55: Introduction Examples Properties Analysis techniques

55EE249Fall04

State equations and invariants

• Solutions of yA = 0

S-invariants– sets of places whose weighted total token count does not change after

the firing of any transition (y M = y M’)

– e.g. y =| 1 1 1 |T

p1 p2 p3t1

t3

AATT==--11 11 0000 11 --1100 --11 11

t2

Page 56: Introduction Examples Properties Analysis techniques

56EE249Fall04

Application of S-invariants

• Structural Boundedness: bounded for any finite initial marking M0

• Existence of a positive S-invariant is CS for structural boundedness– initial marking is finite

– weighted token count does not change

Page 57: Introduction Examples Properties Analysis techniques

57EE249Fall04

Summary of algebraic methods

• Extremely efficient (polynomial in the size of the net)

• Generally provide only necessary or sufficient information

• Excellent for ruling out some deadlocks or otherwise dangerous conditions

• Can be used to infer structural boundedness

Page 58: Introduction Examples Properties Analysis techniques

58EE249Fall04

Coverability Tree

• Build a (finite) tree representation of the markings

Karp-Miller algorithm• Label initial marking M0 as the root of the tree and tag it as new

• While new markings exist do:– select a new marking M

– if M is identical to a marking on the path from the root to M, then tag M as old and go to another new marking

– if no transitions are enabled at M, tag M dead-end

– while there exist enabled transitions at M do:– obtain the marking M’ that results from firing t at M

– on the path from the root to M if there exists a marking M’’ such that M’(p)>=M’’(p) for each place p and M’ is different from M’’, then replace M’(p) by ω for each p such that M’(p) >M’’(p)

– introduce M’ as a node, draw an arc with label t from M to M’ and tag M’ as new.

Page 59: Introduction Examples Properties Analysis techniques

59EE249Fall04

Coverability Tree

• Boundedness is decidable with coverability tree

p1 p2 p3

p4

t1t2

t3

1000

Page 60: Introduction Examples Properties Analysis techniques

60EE249Fall04

Coverability Tree

• Boundedness is decidable with coverability tree

p1 p2 p3

p4

t1t2

t3

1000

0100t1

Page 61: Introduction Examples Properties Analysis techniques

61EE249Fall04

Coverability Tree

• Boundedness is decidable

with coverability tree

p1 p2 p3

p4

t1t2

t3

1000

0100

0011

t1

t3

Page 62: Introduction Examples Properties Analysis techniques

62EE249Fall04

Coverability Tree

• Boundedness is decidable

with coverability tree

p1 p2 p3

p4

t1t2

t3

1000

0100

0011

t1

t3

0101t2

Page 63: Introduction Examples Properties Analysis techniques

63EE249Fall04

Coverability Tree

• Boundedness is decidable

with coverability tree

p1 p2 p3

p4

t1t2

t3

1000

0100

0011

t1

t3

t2010ω

Page 64: Introduction Examples Properties Analysis techniques

64EE249Fall04

Coverability Tree

• Is (1) reachable from (0)?

t1 p1 t2

t1 p1 t22 2

Page 65: Introduction Examples Properties Analysis techniques

65EE249Fall04

Coverability Tree

• Is (1) reachable from (0)?

t1 p1 t2

t1

0t1

ω

p1 t22 2

(0) (1) (2)…

Page 66: Introduction Examples Properties Analysis techniques

66EE249Fall04

Coverability Tree

• Is (1) reachable from (0)?

t1 p1 t2

t1

0t1

ω

0t1

ω

p1 t22 2

(0) (1) (2)…

(0) (2) (0)…

Page 67: Introduction Examples Properties Analysis techniques

67EE249Fall04

Coverability Tree

• Cannot solve the reachability problem

t1 p1 t2

t1

0t1

ω

0t1

ω

p1 t22 2

(0) (1) (2)…

(0) (2) (0)…

• Is (1) reachable from (0)?

Page 68: Introduction Examples Properties Analysis techniques

68EE249Fall04

Reachability graph

p1 p2 p3t1t2

t3

100

• For bounded nets the Coverability Tree is called Reachability Tree since it contains all possible reachable markings

Page 69: Introduction Examples Properties Analysis techniques

69EE249Fall04

Reachability graph

p1 p2 p3t1t2

t3

100

010t1

• For bounded nets the Coverability Tree is called Reachability Tree since it contains all possible reachable markings

Page 70: Introduction Examples Properties Analysis techniques

70EE249Fall04

Reachability graph

p1 p2 p3t1t2

t3

100

010

001

t1

t3

• For bounded nets the Coverability Tree is called Reachability Tree since it contains all possible reachable markings

Page 71: Introduction Examples Properties Analysis techniques

71EE249Fall04

Reachability graph

p1 p2 p3t1t2

t3

100

010

001

t1

t3t2

• For bounded nets the Coverability Tree is called Reachability Tree since it contains all possible reachable markings

Page 72: Introduction Examples Properties Analysis techniques

72EE249Fall04

Subclasses of Petri nets

• Reachability analysis is too expensive

• State equations give only partial information

• Some properties are preserved by reduction rulese.g. for liveness and safeness

• Even reduction rules only work in some cases

• Must restrict class in order to prove stronger results

Page 73: Introduction Examples Properties Analysis techniques

73EE249Fall04

Marked Graphs

• Every place has at most 1 predecessor and 1 successor transition

• Models only causality and concurrency (no conflict)

NO

YES

Page 74: Introduction Examples Properties Analysis techniques

74EE249Fall04

State Machines

• Every transition has at most 1 predecessor and 1 successor place

• Models only causality and conflict– (no concurrency, no synchronization of parallel activities)

YES NO

Page 75: Introduction Examples Properties Analysis techniques

75EE249Fall04

Free-Choice Petri Nets (FCPN)

Free-Choice (FC)

Extended Free-Choice Confusion (not-Free-Choice)

t1

t2

Free-Choice: the outcome of a choice depends on the value of a token (abstracted non-deterministically) rather than on its arrival time.

every transition after choice has exactly 1 predecessor place

Page 76: Introduction Examples Properties Analysis techniques

76EE249Fall04

Free-Choice nets

• Introduced by Hack (‘72)• Extensively studied by Best (‘86) and Desel and Esparza (‘95)• Can express concurrency, causality and choice without confusion• Very strong structural theory

– necessary and sufficient conditions for liveness and safeness, based on decomposition

– exploits duality between MG and SM

Page 77: Introduction Examples Properties Analysis techniques

77EE249Fall04

MG (& SM) decomposition

• An Allocation is a control function that chooses which transition fires among several conflicting ones ( A: P T).

• Eliminate the subnet that would be inactive if we were to use the allocation...

• Reduction Algorithm– Delete all unallocated transitions

– Delete all places that have all input transitions already deleted

– Delete all transitions that have at least one input place already deleted

• Obtain a Reduction (one for each allocation) that is a conflict free subnet

Page 78: Introduction Examples Properties Analysis techniques

78EE249Fall04

• Choose one successor for each conflicting place:

MG reduction and cover

Page 79: Introduction Examples Properties Analysis techniques

79EE249Fall04

• Choose one successor for each conflicting place:

MG reduction and cover

Page 80: Introduction Examples Properties Analysis techniques

80EE249Fall04

• Choose one successor for each conflicting place:

MG reduction and cover

Page 81: Introduction Examples Properties Analysis techniques

81EE249Fall04

• Choose one successor for each conflicting place:

MG reduction and cover

Page 82: Introduction Examples Properties Analysis techniques

82EE249Fall04

• Choose one successor for each conflicting place:

MG reduction and cover

Page 83: Introduction Examples Properties Analysis techniques

83EE249Fall04

MG reductions

• The set of all reductions yields a cover of MG components (T-invariants)

Page 84: Introduction Examples Properties Analysis techniques

84EE249Fall04

MG reductions

• The set of all reductions yields a cover of MG components (T-invariants)

Page 85: Introduction Examples Properties Analysis techniques

85EE249Fall04

MG reductions

• The set of all reductions yields a cover of MG components (T-invariants)

Page 86: Introduction Examples Properties Analysis techniques

86EE249Fall04

Hack’s theorem (‘72)

• Let N be a Free-Choice PN:– N has a live and safe initial marking (well-formed)

if and only if– every MG reduction is strongly connected and not empty, and

the set of all reductions covers the net

– every SM reduction is strongly connected and not empty, and

the set of all reductions covers the net

Page 87: Introduction Examples Properties Analysis techniques

87EE249Fall04

Hack’s theorem

• Example of non-live (but safe) FCN

Page 88: Introduction Examples Properties Analysis techniques

88EE249Fall04

Hack’s theorem

• Example of non-live (but safe) FCN

Page 89: Introduction Examples Properties Analysis techniques

89EE249Fall04

Hack’s theorem

• Example of non-live (but safe) FCN

Page 90: Introduction Examples Properties Analysis techniques

90EE249Fall04

Hack’s theorem

• Example of non-live (but safe) FCN

Page 91: Introduction Examples Properties Analysis techniques

91EE249Fall04

Hack’s theorem

• Example of non-live (but safe) FCN

Page 92: Introduction Examples Properties Analysis techniques

92EE249Fall04

Hack’s theorem

• Example of non-live (but safe) FCN

Page 93: Introduction Examples Properties Analysis techniques

93EE249Fall04

Hack’s theorem

• Example of non-live (but safe) FCN

Page 94: Introduction Examples Properties Analysis techniques

94EE249Fall04

Hack’s theorem

• Example of non-live (but safe) FCN

Page 95: Introduction Examples Properties Analysis techniques

95EE249Fall04

Hack’s theorem

• Example of non-live (but safe) FCN

Page 96: Introduction Examples Properties Analysis techniques

96EE249Fall04

Hack’s theorem

• Example of non-live (but safe) FCN

Page 97: Introduction Examples Properties Analysis techniques

97EE249Fall04

Hack’s theorem

• Example of non-live (but safe) FCN

Page 98: Introduction Examples Properties Analysis techniques

98EE249Fall04

Hack’s theorem

• Example of non-live (but safe) FCN

Page 99: Introduction Examples Properties Analysis techniques

99EE249Fall04

Hack’s theorem

• Example of non-live (but safe) FCN

Page 100: Introduction Examples Properties Analysis techniques

100EE249Fall04

Hack’s theorem

• Example of non-live (but safe) FCN

Page 101: Introduction Examples Properties Analysis techniques

101EE249Fall04

Hack’s theorem

• Example of non-live (but safe) FCN

Page 102: Introduction Examples Properties Analysis techniques

102EE249Fall04

Hack’s theorem

• Example of non-live (but safe) FCN

Deadlock

Page 103: Introduction Examples Properties Analysis techniques

103EE249Fall04

Summary of LSFC nets

• Largest class for which structural theory really helps

• Structural component analysis may be expensive (exponential number of MG and SM components in the worst case)

• But…– number of MG components is generally small

– FC restriction simplifies characterization of behavior

Page 104: Introduction Examples Properties Analysis techniques

104EE249Fall04

Petri Net extensions

• Add interpretation to tokens and transitions– Colored nets (tokens have value)

• Add time– Time/timed Petri Nets (deterministic delay)

– type (duration, delay)– where (place, transition)

– Stochastic PNs (probabilistic delay)– Generalized Stochastic PNs (timed and immediate transitions)

• Add hierarchy– Place Charts Nets

Page 105: Introduction Examples Properties Analysis techniques

105EE249Fall04

PNs Summary

• PN Graph: places (buffers), transitions (actions), tokens (data)

• Firing rule: transition enabled if there are enough tokens in each input place

• Properties

– Structural (consistency, structural boundedness…)

– Behavioral (reachability, boundedness, liveness…)

• Analysis techniques

– Structural (only CN or CS): State equations, Invariants

– Behavioral: coverability tree

• Reachability

• Subclasses: Marked Graphs, State Machines, Free-Choice PNs

2

Page 106: Introduction Examples Properties Analysis techniques

106EE249Fall04

References

• T. Murata Petri Nets: Properties, Analysis and Applications

• http://www.daimi.au.dk/PetriNets/