introduction examples properties analysis techniques · 8 transition firing rule • a marking is...

106
1 Outline Petri nets Introduction Examples Properties Analysis techniques

Upload: others

Post on 19-Jul-2020

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Introduction Examples Properties Analysis techniques · 8 Transition firing rule • A marking is changed according to the following rules: – A transition is enabled if there are

1

Outline

•  Petri nets –  Introduction

–  Examples

–  Properties

–  Analysis techniques

Page 2: Introduction Examples Properties Analysis techniques · 8 Transition firing rule • A marking is changed according to the following rules: – A transition is enabled if there are

2

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 · 8 Transition firing rule • A marking is changed according to the following rules: – A transition is enabled if there are

3

Example: Synchronization at single track rail segment

•  „Preconditions“

Page 4: Introduction Examples Properties Analysis techniques · 8 Transition firing rule • A marking is changed according to the following rules: – A transition is enabled if there are

4

Playing the „token game“

Page 5: Introduction Examples Properties Analysis techniques · 8 Transition firing rule • A marking is changed according to the following rules: – A transition is enabled if there are

5

Conflict for resource „track“

Page 6: Introduction Examples Properties Analysis techniques · 8 Transition firing rule • A marking is changed according to the following rules: – A transition is enabled if there are

6

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

Page 7: Introduction Examples Properties Analysis techniques · 8 Transition firing rule • A marking is changed according to the following rules: – A transition is enabled if there are

7

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. t1 p1

p2 t2

p4

t3 p3

2

3 Places/Transitions: conditions/events

Page 8: Introduction Examples Properties Analysis techniques · 8 Transition firing rule • A marking is changed according to the following rules: – A transition is enabled if there are

8

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 · 8 Transition firing rule • A marking is changed according to the following rules: – A transition is enabled if there are

9

Concurrency, causality, choice

t1

t2

t3 t4

t5

t6

Page 10: Introduction Examples Properties Analysis techniques · 8 Transition firing rule • A marking is changed according to the following rules: – A transition is enabled if there are

10

Concurrency, causality, choice

Concurrency

t1

t2

t3 t4

t5

t6

Page 11: Introduction Examples Properties Analysis techniques · 8 Transition firing rule • A marking is changed according to the following rules: – A transition is enabled if there are

11

Concurrency, causality, choice

Causality, sequencing

t1

t2

t3 t4

t5

t6

Page 12: Introduction Examples Properties Analysis techniques · 8 Transition firing rule • A marking is changed according to the following rules: – A transition is enabled if there are

12

Concurrency, causality, choice

Choice, conflict

t1

t2

t3 t4

t5

t6

Page 13: Introduction Examples Properties Analysis techniques · 8 Transition firing rule • A marking is changed according to the following rules: – A transition is enabled if there are

13

Concurrency, causality, choice

Choice, conflict

t1

t2

t3 t4

t5

t6

Page 14: Introduction Examples Properties Analysis techniques · 8 Transition firing rule • A marking is changed according to the following rules: – A transition is enabled if there are

14

Communication Protocol

P1

Send msg

Receive Ack

Send Ack

Receive msg

P2

Page 15: Introduction Examples Properties Analysis techniques · 8 Transition firing rule • A marking is changed according to the following rules: – A transition is enabled if there are

15

Communication Protocol

P1

Send msg

Receive Ack

Send Ack

Receive msg

P2

Page 16: Introduction Examples Properties Analysis techniques · 8 Transition firing rule • A marking is changed according to the following rules: – A transition is enabled if there are

16

Communication Protocol

P1

Send msg

Receive Ack

Send Ack

Receive msg

P2

Page 17: Introduction Examples Properties Analysis techniques · 8 Transition firing rule • A marking is changed according to the following rules: – A transition is enabled if there are

17

Communication Protocol

P1

Send msg

Receive Ack

Send Ack

Receive msg

P2

Page 18: Introduction Examples Properties Analysis techniques · 8 Transition firing rule • A marking is changed according to the following rules: – A transition is enabled if there are

18

Communication Protocol

P1

Send msg

Receive Ack

Send Ack

Receive msg

P2

Page 19: Introduction Examples Properties Analysis techniques · 8 Transition firing rule • A marking is changed according to the following rules: – A transition is enabled if there are

19

Communication Protocol

P1

Send msg

Receive Ack

Send Ack

Receive msg

P2

Page 20: Introduction Examples Properties Analysis techniques · 8 Transition firing rule • A marking is changed according to the following rules: – A transition is enabled if there are

20

Producer-Consumer Problem

Produce

Consume

Buffer

Page 21: Introduction Examples Properties Analysis techniques · 8 Transition firing rule • A marking is changed according to the following rules: – A transition is enabled if there are

21

Producer-Consumer Problem

Produce

Consume

Buffer

Page 22: Introduction Examples Properties Analysis techniques · 8 Transition firing rule • A marking is changed according to the following rules: – A transition is enabled if there are

22

Producer-Consumer Problem

Produce

Consume

Buffer

Page 23: Introduction Examples Properties Analysis techniques · 8 Transition firing rule • A marking is changed according to the following rules: – A transition is enabled if there are

23

Producer-Consumer Problem

Produce

Consume

Buffer

Page 24: Introduction Examples Properties Analysis techniques · 8 Transition firing rule • A marking is changed according to the following rules: – A transition is enabled if there are

24

Producer-Consumer Problem

Produce

Consume

Buffer

Page 25: Introduction Examples Properties Analysis techniques · 8 Transition firing rule • A marking is changed according to the following rules: – A transition is enabled if there are

25

Producer-Consumer Problem

Produce

Consume

Buffer

Page 26: Introduction Examples Properties Analysis techniques · 8 Transition firing rule • A marking is changed according to the following rules: – A transition is enabled if there are

26

Producer-Consumer Problem

Produce

Consume

Buffer

Page 27: Introduction Examples Properties Analysis techniques · 8 Transition firing rule • A marking is changed according to the following rules: – A transition is enabled if there are

27

Producer-Consumer Problem

Produce

Consume

Buffer

Page 28: Introduction Examples Properties Analysis techniques · 8 Transition firing rule • A marking is changed according to the following rules: – A transition is enabled if there are

28

Producer-Consumer Problem

Produce

Consume

Buffer

Page 29: Introduction Examples Properties Analysis techniques · 8 Transition firing rule • A marking is changed according to the following rules: – A transition is enabled if there are

29

Producer-Consumer Problem

Produce

Consume

Buffer

Page 30: Introduction Examples Properties Analysis techniques · 8 Transition firing rule • A marking is changed according to the following rules: – A transition is enabled if there are

30

Producer-Consumer Problem

Produce

Consume

Buffer

Page 31: Introduction Examples Properties Analysis techniques · 8 Transition firing rule • A marking is changed according to the following rules: – A transition is enabled if there are

31

Producer-Consumer Problem

Produce

Consume

Buffer

Page 32: Introduction Examples Properties Analysis techniques · 8 Transition firing rule • A marking is changed according to the following rules: – A transition is enabled if there are

32

Producer-Consumer Problem

Produce

Consume

Buffer

Page 33: Introduction Examples Properties Analysis techniques · 8 Transition firing rule • A marking is changed according to the following rules: – A transition is enabled if there are

33

Producer-Consumer Problem

Produce

Consume

Buffer

Page 34: Introduction Examples Properties Analysis techniques · 8 Transition firing rule • A marking is changed according to the following rules: – A transition is enabled if there are

34

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 · 8 Transition firing rule • A marking is changed according to the following rules: – A transition is enabled if there are

35

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 · 8 Transition firing rule • A marking is changed according to the following rules: – A transition is enabled if there are

36

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.

t1 p1

p2 t2

p4

t3 p3

Μ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 · 8 Transition firing rule • A marking is changed according to the following rules: – A transition is enabled if there are

37

•  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 · 8 Transition firing rule • A marking is changed according to the following rules: – A transition is enabled if there are

38

•  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 · 8 Transition firing rule • A marking is changed according to the following rules: – A transition is enabled if there are

39

•  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 · 8 Transition firing rule • A marking is changed according to the following rules: – A transition is enabled if there are

40

•  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 · 8 Transition firing rule • A marking is changed according to the following rules: – A transition is enabled if there are

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

Page 42: Introduction Examples Properties Analysis techniques · 8 Transition firing rule • A marking is changed according to the following rules: – A transition is enabled if there are

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

Page 43: Introduction Examples Properties Analysis techniques · 8 Transition firing rule • A marking is changed according to the following rules: – A transition is enabled if there are

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

Page 44: Introduction Examples Properties Analysis techniques · 8 Transition firing rule • A marking is changed according to the following rules: – A transition is enabled if there are

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

Page 45: Introduction Examples Properties Analysis techniques · 8 Transition firing rule • A marking is changed according to the following rules: – A transition is enabled if there are

45

•  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 · 8 Transition firing rule • A marking is changed according to the following rules: – A transition is enabled if there are

46

Conservation

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

Not conservative

Page 47: Introduction Examples Properties Analysis techniques · 8 Transition firing rule • A marking is changed according to the following rules: – A transition is enabled if there are

47

Conservation

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

Not conservative

Page 48: Introduction Examples Properties Analysis techniques · 8 Transition firing rule • A marking is changed according to the following rules: – A transition is enabled if there are

48

Conservation

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

Conservative

2

2

Page 49: Introduction Examples Properties Analysis techniques · 8 Transition firing rule • A marking is changed according to the following rules: – A transition is enabled if there are

49

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 · 8 Transition firing rule • A marking is changed according to the following rules: – A transition is enabled if there are

50

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 p3 t1 t2

t3

t1 t2 t3

p1

p2

p3

Page 51: Introduction Examples Properties Analysis techniques · 8 Transition firing rule • A marking is changed according to the following rules: – A transition is enabled if there are

51

State equations

p1 p2 p3 t1

t3

•  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

Page 52: Introduction Examples Properties Analysis techniques · 8 Transition firing rule • A marking is changed according to the following rules: – A transition is enabled if there are

52

Necessary Condition only

2 2

Firing vector: (1,2,2)

t1

t2

t3

Deadlock!!

Page 53: Introduction Examples Properties Analysis techniques · 8 Transition firing rule • A marking is changed according to the following rules: – A transition is enabled if there are

53

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

t3

t2

Page 54: Introduction Examples Properties Analysis techniques · 8 Transition firing rule • A marking is changed according to the following rules: – A transition is enabled if there are

54

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

Page 55: Introduction Examples Properties Analysis techniques · 8 Transition firing rule • A marking is changed according to the following rules: – A transition is enabled if there are

55

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

t3

t2

Page 56: Introduction Examples Properties Analysis techniques · 8 Transition firing rule • A marking is changed according to the following rules: – A transition is enabled if there are

56

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 · 8 Transition firing rule • A marking is changed according to the following rules: – A transition is enabled if there are

57

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 · 8 Transition firing rule • A marking is changed according to the following rules: – A transition is enabled if there are

58

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 · 8 Transition firing rule • A marking is changed according to the following rules: – A transition is enabled if there are

59

Coverability Tree

•  Boundedness is decidable with coverability tree

p1 p2 p3

p4

t1 t2

t3

1000

Page 60: Introduction Examples Properties Analysis techniques · 8 Transition firing rule • A marking is changed according to the following rules: – A transition is enabled if there are

60

Coverability Tree

•  Boundedness is decidable with coverability tree

p1 p2 p3

p4

t1 t2

t3

1000

0100 t1

Page 61: Introduction Examples Properties Analysis techniques · 8 Transition firing rule • A marking is changed according to the following rules: – A transition is enabled if there are

61

Coverability Tree

•  Boundedness is decidable

with coverability tree

p1 p2 p3

p4

t1 t2

t3

1000

0100

0011

t1

t3

Page 62: Introduction Examples Properties Analysis techniques · 8 Transition firing rule • A marking is changed according to the following rules: – A transition is enabled if there are

62

Coverability Tree

•  Boundedness is decidable

with coverability tree

p1 p2 p3

p4

t1 t2

t3

1000

0100

0011

t1

t3

0101

t2

Page 63: Introduction Examples Properties Analysis techniques · 8 Transition firing rule • A marking is changed according to the following rules: – A transition is enabled if there are

63

Coverability Tree

•  Boundedness is decidable

with coverability tree

p1 p2 p3

p4

t1 t2

t3

1000

0100

0011

t1

t3

t2 010ω

Page 64: Introduction Examples Properties Analysis techniques · 8 Transition firing rule • A marking is changed according to the following rules: – A transition is enabled if there are

64

Coverability Tree

•  Is (1) reachable from (0)?

t1 p1 t2

t1 p1 t2 2 2

Page 65: Introduction Examples Properties Analysis techniques · 8 Transition firing rule • A marking is changed according to the following rules: – A transition is enabled if there are

65

Coverability Tree

•  Is (1) reachable from (0)?

t1 p1 t2

t1

0 t1

ω

p1 t2 2 2

(0) (1) (2)…

Page 66: Introduction Examples Properties Analysis techniques · 8 Transition firing rule • A marking is changed according to the following rules: – A transition is enabled if there are

66

Coverability Tree

•  Is (1) reachable from (0)?

t1 p1 t2

t1

0 t1

ω

0 t1

ω

p1 t2 2 2

(0) (1) (2)…

(0) (2) (0)…

Page 67: Introduction Examples Properties Analysis techniques · 8 Transition firing rule • A marking is changed according to the following rules: – A transition is enabled if there are

67

Coverability Tree

•  Cannot solve the reachability problem

t1 p1 t2

t1

0 t1

ω

0 t1

ω

p1 t2 2 2

(0) (1) (2)…

(0) (2) (0)…

•  Is (1) reachable from (0)?

Page 68: Introduction Examples Properties Analysis techniques · 8 Transition firing rule • A marking is changed according to the following rules: – A transition is enabled if there are

68

Reachability graph

p1 p2 p3 t1 t2

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 · 8 Transition firing rule • A marking is changed according to the following rules: – A transition is enabled if there are

69

Reachability graph

p1 p2 p3 t1 t2

t3

100

010 t1

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

Page 70: Introduction Examples Properties Analysis techniques · 8 Transition firing rule • A marking is changed according to the following rules: – A transition is enabled if there are

70

Reachability graph

p1 p2 p3 t1 t2

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 · 8 Transition firing rule • A marking is changed according to the following rules: – A transition is enabled if there are

71

Reachability graph

p1 p2 p3 t1 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

Page 72: Introduction Examples Properties Analysis techniques · 8 Transition firing rule • A marking is changed according to the following rules: – A transition is enabled if there are

72

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

Page 73: Introduction Examples Properties Analysis techniques · 8 Transition firing rule • A marking is changed according to the following rules: – A transition is enabled if there are

73

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 · 8 Transition firing rule • A marking is changed according to the following rules: – A transition is enabled if there are

74

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 · 8 Transition firing rule • A marking is changed according to the following rules: – A transition is enabled if there are

75

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 · 8 Transition firing rule • A marking is changed according to the following rules: – A transition is enabled if there are

76

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 · 8 Transition firing rule • A marking is changed according to the following rules: – A transition is enabled if there are

77

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 · 8 Transition firing rule • A marking is changed according to the following rules: – A transition is enabled if there are

78

•  Choose one successor for each conflicting place:

MG reduction and cover

Page 79: Introduction Examples Properties Analysis techniques · 8 Transition firing rule • A marking is changed according to the following rules: – A transition is enabled if there are

79

•  Choose one successor for each conflicting place:

MG reduction and cover

Page 80: Introduction Examples Properties Analysis techniques · 8 Transition firing rule • A marking is changed according to the following rules: – A transition is enabled if there are

80

•  Choose one successor for each conflicting place:

MG reduction and cover

Page 81: Introduction Examples Properties Analysis techniques · 8 Transition firing rule • A marking is changed according to the following rules: – A transition is enabled if there are

81

•  Choose one successor for each conflicting place:

MG reduction and cover

Page 82: Introduction Examples Properties Analysis techniques · 8 Transition firing rule • A marking is changed according to the following rules: – A transition is enabled if there are

82

•  Choose one successor for each conflicting place:

MG reduction and cover

Page 83: Introduction Examples Properties Analysis techniques · 8 Transition firing rule • A marking is changed according to the following rules: – A transition is enabled if there are

83

MG reductions

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

Page 84: Introduction Examples Properties Analysis techniques · 8 Transition firing rule • A marking is changed according to the following rules: – A transition is enabled if there are

84

MG reductions

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

Page 85: Introduction Examples Properties Analysis techniques · 8 Transition firing rule • A marking is changed according to the following rules: – A transition is enabled if there are

85

MG reductions

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

Page 86: Introduction Examples Properties Analysis techniques · 8 Transition firing rule • A marking is changed according to the following rules: – A transition is enabled if there are

86

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 · 8 Transition firing rule • A marking is changed according to the following rules: – A transition is enabled if there are

87

Hack’s theorem

•  Example of non-live (but safe) FCN

Page 88: Introduction Examples Properties Analysis techniques · 8 Transition firing rule • A marking is changed according to the following rules: – A transition is enabled if there are

88

Hack’s theorem

•  Example of non-live (but safe) FCN

Page 89: Introduction Examples Properties Analysis techniques · 8 Transition firing rule • A marking is changed according to the following rules: – A transition is enabled if there are

89

Hack’s theorem

•  Example of non-live (but safe) FCN

Page 90: Introduction Examples Properties Analysis techniques · 8 Transition firing rule • A marking is changed according to the following rules: – A transition is enabled if there are

90

Hack’s theorem

•  Example of non-live (but safe) FCN

Page 91: Introduction Examples Properties Analysis techniques · 8 Transition firing rule • A marking is changed according to the following rules: – A transition is enabled if there are

91

Hack’s theorem

•  Example of non-live (but safe) FCN

Page 92: Introduction Examples Properties Analysis techniques · 8 Transition firing rule • A marking is changed according to the following rules: – A transition is enabled if there are

92

Hack’s theorem

•  Example of non-live (but safe) FCN

Page 93: Introduction Examples Properties Analysis techniques · 8 Transition firing rule • A marking is changed according to the following rules: – A transition is enabled if there are

93

Hack’s theorem

•  Example of non-live (but safe) FCN

Page 94: Introduction Examples Properties Analysis techniques · 8 Transition firing rule • A marking is changed according to the following rules: – A transition is enabled if there are

94

Hack’s theorem

•  Example of non-live (but safe) FCN

Page 95: Introduction Examples Properties Analysis techniques · 8 Transition firing rule • A marking is changed according to the following rules: – A transition is enabled if there are

95

Hack’s theorem

•  Example of non-live (but safe) FCN

Page 96: Introduction Examples Properties Analysis techniques · 8 Transition firing rule • A marking is changed according to the following rules: – A transition is enabled if there are

96

Hack’s theorem

•  Example of non-live (but safe) FCN

Page 97: Introduction Examples Properties Analysis techniques · 8 Transition firing rule • A marking is changed according to the following rules: – A transition is enabled if there are

97

Hack’s theorem

•  Example of non-live (but safe) FCN

Page 98: Introduction Examples Properties Analysis techniques · 8 Transition firing rule • A marking is changed according to the following rules: – A transition is enabled if there are

98

Hack’s theorem

•  Example of non-live (but safe) FCN

Page 99: Introduction Examples Properties Analysis techniques · 8 Transition firing rule • A marking is changed according to the following rules: – A transition is enabled if there are

99

Hack’s theorem

•  Example of non-live (but safe) FCN

Page 100: Introduction Examples Properties Analysis techniques · 8 Transition firing rule • A marking is changed according to the following rules: – A transition is enabled if there are

100

Hack’s theorem

•  Example of non-live (but safe) FCN

Page 101: Introduction Examples Properties Analysis techniques · 8 Transition firing rule • A marking is changed according to the following rules: – A transition is enabled if there are

101

Hack’s theorem

•  Example of non-live (but safe) FCN

Page 102: Introduction Examples Properties Analysis techniques · 8 Transition firing rule • A marking is changed according to the following rules: – A transition is enabled if there are

102

Hack’s theorem

•  Example of non-live (but safe) FCN

Deadlock

Page 103: Introduction Examples Properties Analysis techniques · 8 Transition firing rule • A marking is changed according to the following rules: – A transition is enabled if there are

103

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 · 8 Transition firing rule • A marking is changed according to the following rules: – A transition is enabled if there are

104

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 · 8 Transition firing rule • A marking is changed according to the following rules: – A transition is enabled if there are

105

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 · 8 Transition firing rule • A marking is changed according to the following rules: – A transition is enabled if there are

106

References

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

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