Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 Petri Nets Marco Sgroi EE249 - Fall 2001 Most slides borrowed from Luciano Lavagno’s lecture ee249 (1998)

Similar presentations


Presentation on theme: "1 Petri Nets Marco Sgroi EE249 - Fall 2001 Most slides borrowed from Luciano Lavagno’s lecture ee249 (1998)"— Presentation transcript:

1 1 Petri Nets Marco Sgroi EE249 - Fall 2001 Most slides borrowed from Luciano Lavagno’s lecture ee249 (1998)

2 2 Models Of Computation for reactive systems Main MOCs: –Communicating Finite State Machines –Dataflow Process Networks –Discrete Event –Codesign Finite State Machines –Petri Nets Main languages: –StateCharts –Esterel –Dataflow networks

3 3 Outline Petri nets –Introduction –Examples –Properties –Analysis techniques

4 4 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 Asynchronous model Main drawback: no hierarchy

5 5 Petri Net Graph Bipartite weighted directed graph: –Places: circles –Transitions: bars or boxes –Arcs: arrows labeled with weights Tokens: black dots t1 p1 p2 t2 p4 t3 p3 2 3

6 6 Petri Net A PN (N,M 0 ) is a Petri Net Graph N –places: represent distributed state by holding tokens marking (state) M is an n-vector (m 1,m 2,m 3 …), where m i is the non- negative number of tokens in place p i. initial marking (M 0 ) is initial state –transitions: represent actions/events enabled transition: enough tokens in predecessors firing transition: modifies marking …and an initial marking M 0. t1 p1 p2 t2 p4 t3 p3 2 3 Places/Transition: conditions/events

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

8 8 Concurrency, causality, choice t1 t2 t3t4 t5 t6

9 9 Concurrency, causality, choice Concurrency t1 t2 t3t4 t5 t6

10 10 Concurrency, causality, choice Causality, sequencing t1 t2 t3t4 t5 t6

11 11 Concurrency, causality, choice Choice, conflict t1 t2 t3t4 t5 t6

12 12 Concurrency, causality, choice Choice, conflict t1 t2 t3t4 t5 t6

13 13 Communication Protocol P1 Send msg Receive Ack Send Ack Receive msg P2

14 14 Communication Protocol P1 Send msg Receive Ack Send Ack Receive msg P2

15 15 Communication Protocol P1 Send msg Receive Ack Send Ack Receive msg P2

16 16 Communication Protocol P1 Send msg Receive Ack Send Ack Receive msg P2

17 17 Communication Protocol P1 Send msg Receive Ack Send Ack Receive msg P2

18 18 Communication Protocol P1 Send msg Receive Ack Send Ack Receive msg P2

19 19 Producer-Consumer Problem Produce Consume Buffer

20 20 Producer-Consumer Problem Produce Consume Buffer

21 21 Producer-Consumer Problem Produce Consume Buffer

22 22 Producer-Consumer Problem Produce Consume Buffer

23 23 Producer-Consumer Problem Produce Consume Buffer

24 24 Producer-Consumer Problem Produce Consume Buffer

25 25 Producer-Consumer Problem Produce Consume Buffer

26 26 Producer-Consumer Problem Produce Consume Buffer

27 27 Producer-Consumer Problem Produce Consume Buffer

28 28 Producer-Consumer Problem Produce Consume Buffer

29 29 Producer-Consumer Problem Produce Consume Buffer

30 30 Producer-Consumer Problem Produce Consume Buffer

31 31 Producer-Consumer Problem Produce Consume Buffer

32 32 Producer-Consumer Problem Produce Consume Buffer

33 33 Producer-Consumer with priority Consumer B can consume only if buffer A is empty Inhibitor arcs A B

34 34 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

35 35 Reachability Marking M is reachable from marking M 0 if there exists a sequence of firings   M 0 t 1 M 1 t 2 M 2 … M that transforms M 0 to M. The reachability problem is decidable. t1p1 p2 t2 p4 t3 p3   = (1,0,1,0) M = (1,1,0,0)   = (1,0,1,0) t3 M 1 = (1,0,0,1) t2 M = (1,1,0,0)

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

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

38 38 Liveness: from any marking any transition can become fireable –Liveness implies deadlock freedom, not viceversa Liveness Deadlock-free

39 39 Liveness: from any marking any transition can become fireable –Liveness implies deadlock freedom, not viceversa Liveness Deadlock-free

40 40 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

41 41 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

42 42 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

43 43 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

44 44 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

45 45 Conservation Conservation: the total number of tokens in the net is constant Not conservative

46 46 Conservation Conservation: the total number of tokens in the net is constant Not conservative

47 47 Conservation Conservation: the total number of tokens in the net is constant Conservative 2 2

48 48 Analysis techniques Structural analysis techniques –Incidence matrix –T- and S- Invariants State Space Analysis techniques –Coverability Tree –Reachability Graph

49 49 Incidence Matrix Necessary condition for marking M to be reachable from initial marking M 0 : there exists firing vector v s.t.: M = M 0 + A v p1p2p3t1 t2 t3 A= -100 11-1 0-11 t1t2t3 p1 p2 p3

50 50 State equations p1p2p3t1 t3 A= -100 11-1 0-11 E.g. reachability of M =|0 0 1| T from M 0 = |1 0 0| T but also v 2 = | 1 1 2 | T or any v k = | 1 (k) (k+1) | T t2100+ -100 11-1 0-11 001=101 v 1 = 101

51 51 Necessary Condition only 2 2 Firing vector: (1,2,2) t1 t2 t3 Deadlock!!

52 52 State equations and invariants Solutions of Ax = 0 (in M = M 0 + Ax, M = M 0 ) T-invariants –sequences of transitions that (if fireable) bring back to original marking –periodic schedule in SDF –e.g. x =| 0 1 1 | T p1p2p3t1 t3 A= -100 11-1 0-11 t2

53 53 Application of T-invariants Scheduling –Cyclic schedules: need to return to the initial state i *k2 + *k1 Schedule: i *k2 *k1 + o T-invariant: (1,1,1,1,1) o

54 54 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 p1p2p3t1 t3 AT=AT=AT=AT= -110 01-1 0-11 t2

55 55 Application of S-invariants Structural Boundedness: bounded for any finite initial marking M 0 Existence of a positive S-invariant is CS for structural boundedness –initial marking is finite –weighted token count does not change

56 56 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

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

58 58 Coverability Tree Boundedness is decidable with coverability tree p1p2p3 p4 t1 t2 t3 1000

59 59 Coverability Tree Boundedness is decidable with coverability tree p1p2p3 p4 t1 t2 t3 1000 0100 t1

60 60 Coverability Tree Boundedness is decidable with coverability tree p1p2p3 p4 t1 t2 t3 1000 0100 0011 t1 t3

61 61 Coverability Tree Boundedness is decidable with coverability tree p1p2p3 p4 t1 t2 t3 1000 0100 0011 t1 t3 0101 t2

62 62 Coverability Tree Boundedness is decidable with coverability tree Cannot solve the reachability and liveness problems p1p2p3 p4 t1 t2 t3 1000 0100 0011 t1 t3 t2 010 

63 63 Coverability Tree Boundedness is decidable with coverability tree Cannot solve the reachability and liveness problems p1p2p3 p4 t1 t2 t3 1000 0100 0011 t1 t3 t2 010 

64 64 Reachability graph p1p2p3t1 t2 t3 100 For bounded nets the Coverability Tree is called Reachability Tree since it contains all possible reachable markings

65 65 Reachability graph p1p2p3t1 t2 t3 100 010 t1 For bounded nets the Coverability Tree is called Reachability Tree since it contains all possible reachable markings

66 66 Reachability graph p1p2p3t1 t2 t3 100 010 001 t1 t3 For bounded nets the Coverability Tree is called Reachability Tree since it contains all possible reachable markings

67 67 Reachability graph p1p2p3t1 t2 t3 100 010 001 t1 t3 t2 For bounded nets the Coverability Tree is called Reachability Tree since it contains all possible reachable markings

68 68 Subclasses of Petri nets Reachability analysis is too expensive State equations give only partial information Some properties are preserved by reduction rules e.g. for liveness and safeness Even reduction rules only work in some cases Must restrict class in order to prove stronger results

69 69 Subclasses of Petri nets: SMs State machine: every transition has at most 1 predecessor and 1 successor Models only causality and conflict –(no concurrency, no synchronization of parallel activities)

70 70 Subclasses of Petri nets: MGs Marked Graph: every place has at most 1 predecessor and 1 successor Models only causality and concurrency (no conflict) Same as underlying graph of SDF

71 71 Subclasses of Petri nets: FC nets Free-Choice net: every transition after choice has exactly 1 predecessor

72 72 Free-Choice Petri Nets (FCPN) Free-Choice (FC) Extended Free-ChoiceConfusion (not-Free-Choice) t1t1 t2t2 Free-Choice: the outcome of a choice depends on the value of a token (abstracted non-deterministically) rather than on its arrival time. Easy to analyze

73 73 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

74 74 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

75 75 Choose one successor for each conflicting place : MG reduction and cover

76 76 Choose one successor for each conflicting place: MG reduction and cover

77 77 Choose one successor for each conflicting place: MG reduction and cover

78 78 Choose one successor for each conflicting place: MG reduction and cover

79 79 Choose one successor for each conflicting place: MG reduction and cover

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

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

82 82 SM reduction and cover Choose one predecessor for each transition:

83 83 SM reduction and cover Choose one predecessor for each transition:

84 84 SM reduction and cover Choose one predecessor for each transition: The set of all reductions yields a cover of SM components (S-invariants)

85 85 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

86 86 Hack’s theorem Example of non-live (but safe) FCN

87 87 Hack’s theorem Example of non-live (but safe) FCN

88 88 Hack’s theorem Example of non-live (but safe) FCN

89 89 Hack’s theorem Example of non-live (but safe) FCN

90 90 Hack’s theorem Example of non-live (but safe) FCN

91 91 Hack’s theorem Example of non-live (but safe) FCN

92 92 Hack’s theorem Example of non-live (but safe) FCN

93 93 Hack’s theorem Example of non-live (but safe) FCN

94 94 Hack’s theorem Example of non-live (but safe) FCN

95 95 Hack’s theorem Example of non-live (but safe) FCN

96 96 Hack’s theorem Example of non-live (but safe) FCN

97 97 Hack’s theorem Example of non-live (but safe) FCN

98 98 Hack’s theorem Example of non-live (but safe) FCN

99 99 Hack’s theorem Example of non-live (but safe) FCN

100 100 Hack’s theorem Example of non-live (but safe) FCN

101 101 Hack’s theorem Example of non-live (but safe) FCN Not live

102 102 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

103 103 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

104 104 Summary of Petri Nets Graphical formalism Distributed state (including buffering) Concurrency, sequencing and choice made explicit Structural and behavioral properties Analysis techniques based on –linear algebra –structural analysis (necessary and sufficient only for FC)


Download ppt "1 Petri Nets Marco Sgroi EE249 - Fall 2001 Most slides borrowed from Luciano Lavagno’s lecture ee249 (1998)"

Similar presentations


Ads by Google