petri nets - university of california, berkeleyee249/fa08/lectures/mocpetri.pdf7 ee249fall04 petri...

106
1 EE249Fall04 Outline Petri nets Introduction Examples Properties Analysis techniques

Upload: others

Post on 15-Apr-2020

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Petri nets - University of California, Berkeleyee249/fa08/Lectures/mocPetri.pdf7 EE249Fall04 Petri Net • A PN (N,M 0) is a Petri Net Graph N – places : represent distributed state

1

EE249Fall04

Outline

• Petri nets

– Introduction

– Examples

– Properties

– Analysis techniques

Page 2: Petri nets - University of California, Berkeleyee249/fa08/Lectures/mocPetri.pdf7 EE249Fall04 Petri Net • A PN (N,M 0) is a Petri Net Graph N – places : represent distributed state

2

EE249Fall04

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: Petri nets - University of California, Berkeleyee249/fa08/Lectures/mocPetri.pdf7 EE249Fall04 Petri Net • A PN (N,M 0) is a Petri Net Graph N – places : represent distributed state

3

EE249Fall04

Example: Synchronization at single track rail segment

• „Preconditions“

Page 4: Petri nets - University of California, Berkeleyee249/fa08/Lectures/mocPetri.pdf7 EE249Fall04 Petri Net • A PN (N,M 0) is a Petri Net Graph N – places : represent distributed state

4

EE249Fall04

Playing the „token game“

Page 5: Petri nets - University of California, Berkeleyee249/fa08/Lectures/mocPetri.pdf7 EE249Fall04 Petri Net • A PN (N,M 0) is a Petri Net Graph N – places : represent distributed state

5

EE249Fall04

Conflict for resource „track“

Page 6: Petri nets - University of California, Berkeleyee249/fa08/Lectures/mocPetri.pdf7 EE249Fall04 Petri Net • A PN (N,M 0) is a Petri Net Graph N – places : represent distributed state

6

EE249Fall04

Petri Net Graph

• Bipartite weighted directed graph:

– Places: circles

– Transitions: bars or boxes

– Arcs: arrows labeled with weights

• Tokens: black dots

t1p1

p2

t2

p4

t3

p3

2

3

Page 7: Petri nets - University of California, Berkeleyee249/fa08/Lectures/mocPetri.pdf7 EE249Fall04 Petri Net • A PN (N,M 0) is a Petri Net Graph N – places : represent distributed state

7

EE249Fall04

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: Petri nets - University of California, Berkeleyee249/fa08/Lectures/mocPetri.pdf7 EE249Fall04 Petri Net • A PN (N,M 0) is a Petri Net Graph N – places : represent distributed state

8

EE249Fall04

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

22

3

2 2

3

Page 9: Petri nets - University of California, Berkeleyee249/fa08/Lectures/mocPetri.pdf7 EE249Fall04 Petri Net • A PN (N,M 0) is a Petri Net Graph N – places : represent distributed state

9

EE249Fall04

Concurrency, causality, choice

t1

t2

t3 t4

t5

t6

Page 10: Petri nets - University of California, Berkeleyee249/fa08/Lectures/mocPetri.pdf7 EE249Fall04 Petri Net • A PN (N,M 0) is a Petri Net Graph N – places : represent distributed state

10

EE249Fall04

Concurrency, causality, choice

Concurrency

t1

t2

t3 t4

t5

t6

Page 11: Petri nets - University of California, Berkeleyee249/fa08/Lectures/mocPetri.pdf7 EE249Fall04 Petri Net • A PN (N,M 0) is a Petri Net Graph N – places : represent distributed state

11

EE249Fall04

Concurrency, causality, choice

Causality, sequencing

t1

t2

t3 t4

t5

t6

Page 12: Petri nets - University of California, Berkeleyee249/fa08/Lectures/mocPetri.pdf7 EE249Fall04 Petri Net • A PN (N,M 0) is a Petri Net Graph N – places : represent distributed state

12

EE249Fall04

Concurrency, causality, choice

Choice,conflict

t1

t2

t3 t4

t5

t6

Page 13: Petri nets - University of California, Berkeleyee249/fa08/Lectures/mocPetri.pdf7 EE249Fall04 Petri Net • A PN (N,M 0) is a Petri Net Graph N – places : represent distributed state

13

EE249Fall04

Concurrency, causality, choice

Choice,conflict

t1

t2

t3 t4

t5

t6

Page 14: Petri nets - University of California, Berkeleyee249/fa08/Lectures/mocPetri.pdf7 EE249Fall04 Petri Net • A PN (N,M 0) is a Petri Net Graph N – places : represent distributed state

14

EE249Fall04

Communication Protocol

P1

Send msg

Receive Ack

Send Ack

Receive msg

P2

Page 15: Petri nets - University of California, Berkeleyee249/fa08/Lectures/mocPetri.pdf7 EE249Fall04 Petri Net • A PN (N,M 0) is a Petri Net Graph N – places : represent distributed state

15

EE249Fall04

Communication Protocol

P1

Send msg

Receive Ack

Send Ack

Receive msg

P2

Page 16: Petri nets - University of California, Berkeleyee249/fa08/Lectures/mocPetri.pdf7 EE249Fall04 Petri Net • A PN (N,M 0) is a Petri Net Graph N – places : represent distributed state

16

EE249Fall04

Communication Protocol

P1

Send msg

Receive Ack

Send Ack

Receive msg

P2

Page 17: Petri nets - University of California, Berkeleyee249/fa08/Lectures/mocPetri.pdf7 EE249Fall04 Petri Net • A PN (N,M 0) is a Petri Net Graph N – places : represent distributed state

17

EE249Fall04

Communication Protocol

P1

Send msg

Receive Ack

Send Ack

Receive msg

P2

Page 18: Petri nets - University of California, Berkeleyee249/fa08/Lectures/mocPetri.pdf7 EE249Fall04 Petri Net • A PN (N,M 0) is a Petri Net Graph N – places : represent distributed state

18

EE249Fall04

Communication Protocol

P1

Send msg

Receive Ack

Send Ack

Receive msg

P2

Page 19: Petri nets - University of California, Berkeleyee249/fa08/Lectures/mocPetri.pdf7 EE249Fall04 Petri Net • A PN (N,M 0) is a Petri Net Graph N – places : represent distributed state

19

EE249Fall04

Communication Protocol

P1

Send msg

Receive Ack

Send Ack

Receive msg

P2

Page 20: Petri nets - University of California, Berkeleyee249/fa08/Lectures/mocPetri.pdf7 EE249Fall04 Petri Net • A PN (N,M 0) is a Petri Net Graph N – places : represent distributed state

20

EE249Fall04

Producer-Consumer Problem

Produce

Consume

Buffer

Page 21: Petri nets - University of California, Berkeleyee249/fa08/Lectures/mocPetri.pdf7 EE249Fall04 Petri Net • A PN (N,M 0) is a Petri Net Graph N – places : represent distributed state

21

EE249Fall04

Producer-Consumer Problem

Produce

Consume

Buffer

Page 22: Petri nets - University of California, Berkeleyee249/fa08/Lectures/mocPetri.pdf7 EE249Fall04 Petri Net • A PN (N,M 0) is a Petri Net Graph N – places : represent distributed state

22

EE249Fall04

Producer-Consumer Problem

Produce

Consume

Buffer

Page 23: Petri nets - University of California, Berkeleyee249/fa08/Lectures/mocPetri.pdf7 EE249Fall04 Petri Net • A PN (N,M 0) is a Petri Net Graph N – places : represent distributed state

23

EE249Fall04

Producer-Consumer Problem

Produce

Consume

Buffer

Page 24: Petri nets - University of California, Berkeleyee249/fa08/Lectures/mocPetri.pdf7 EE249Fall04 Petri Net • A PN (N,M 0) is a Petri Net Graph N – places : represent distributed state

24

EE249Fall04

Producer-Consumer Problem

Produce

Consume

Buffer

Page 25: Petri nets - University of California, Berkeleyee249/fa08/Lectures/mocPetri.pdf7 EE249Fall04 Petri Net • A PN (N,M 0) is a Petri Net Graph N – places : represent distributed state

25

EE249Fall04

Producer-Consumer Problem

Produce

Consume

Buffer

Page 26: Petri nets - University of California, Berkeleyee249/fa08/Lectures/mocPetri.pdf7 EE249Fall04 Petri Net • A PN (N,M 0) is a Petri Net Graph N – places : represent distributed state

26

EE249Fall04

Producer-Consumer Problem

Produce

Consume

Buffer

Page 27: Petri nets - University of California, Berkeleyee249/fa08/Lectures/mocPetri.pdf7 EE249Fall04 Petri Net • A PN (N,M 0) is a Petri Net Graph N – places : represent distributed state

27

EE249Fall04

Producer-Consumer Problem

Produce

Consume

Buffer

Page 28: Petri nets - University of California, Berkeleyee249/fa08/Lectures/mocPetri.pdf7 EE249Fall04 Petri Net • A PN (N,M 0) is a Petri Net Graph N – places : represent distributed state

28

EE249Fall04

Producer-Consumer Problem

Produce

Consume

Buffer

Page 29: Petri nets - University of California, Berkeleyee249/fa08/Lectures/mocPetri.pdf7 EE249Fall04 Petri Net • A PN (N,M 0) is a Petri Net Graph N – places : represent distributed state

29

EE249Fall04

Producer-Consumer Problem

Produce

Consume

Buffer

Page 30: Petri nets - University of California, Berkeleyee249/fa08/Lectures/mocPetri.pdf7 EE249Fall04 Petri Net • A PN (N,M 0) is a Petri Net Graph N – places : represent distributed state

30

EE249Fall04

Producer-Consumer Problem

Produce

Consume

Buffer

Page 31: Petri nets - University of California, Berkeleyee249/fa08/Lectures/mocPetri.pdf7 EE249Fall04 Petri Net • A PN (N,M 0) is a Petri Net Graph N – places : represent distributed state

31

EE249Fall04

Producer-Consumer Problem

Produce

Consume

Buffer

Page 32: Petri nets - University of California, Berkeleyee249/fa08/Lectures/mocPetri.pdf7 EE249Fall04 Petri Net • A PN (N,M 0) is a Petri Net Graph N – places : represent distributed state

32

EE249Fall04

Producer-Consumer Problem

Produce

Consume

Buffer

Page 33: Petri nets - University of California, Berkeleyee249/fa08/Lectures/mocPetri.pdf7 EE249Fall04 Petri Net • A PN (N,M 0) is a Petri Net Graph N – places : represent distributed state

33

EE249Fall04

Producer-Consumer Problem

Produce

Consume

Buffer

Page 34: Petri nets - University of California, Berkeleyee249/fa08/Lectures/mocPetri.pdf7 EE249Fall04 Petri Net • A PN (N,M 0) is a Petri Net Graph N – places : represent distributed state

34

EE249Fall04

Producer-Consumer with priority

Consumer B can

consume only if

buffer A is empty

Inhibitor arcs

A

B

Page 35: Petri nets - University of California, Berkeleyee249/fa08/Lectures/mocPetri.pdf7 EE249Fall04 Petri Net • A PN (N,M 0) is a Petri Net Graph N – places : represent distributed state

35

EE249Fall04

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: Petri nets - University of California, Berkeleyee249/fa08/Lectures/mocPetri.pdf7 EE249Fall04 Petri Net • A PN (N,M 0) is a Petri Net Graph N – places : represent distributed state

36

EE249Fall04

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: Petri nets - University of California, Berkeleyee249/fa08/Lectures/mocPetri.pdf7 EE249Fall04 Petri Net • A PN (N,M 0) is a Petri Net Graph N – places : represent distributed state

37

EE249Fall04

• Liveness: from any marking any transition can become fireable

– Liveness implies deadlock freedom, not viceversa

Liveness

Not live

Page 38: Petri nets - University of California, Berkeleyee249/fa08/Lectures/mocPetri.pdf7 EE249Fall04 Petri Net • A PN (N,M 0) is a Petri Net Graph N – places : represent distributed state

38

EE249Fall04

• Liveness: from any marking any transition can become fireable

– Liveness implies deadlock freedom, not viceversa

Liveness

Not live

Page 39: Petri nets - University of California, Berkeleyee249/fa08/Lectures/mocPetri.pdf7 EE249Fall04 Petri Net • A PN (N,M 0) is a Petri Net Graph N – places : represent distributed state

39

EE249Fall04

• Liveness: from any marking any transition can become fireable

– Liveness implies deadlock freedom, not viceversa

Liveness

Deadlock-free

Page 40: Petri nets - University of California, Berkeleyee249/fa08/Lectures/mocPetri.pdf7 EE249Fall04 Petri Net • A PN (N,M 0) is a Petri Net Graph N – places : represent distributed state

40

EE249Fall04

• Liveness: from any marking any transition can become fireable

– Liveness implies deadlock freedom, not viceversa

Liveness

Deadlock-free

Page 41: Petri nets - University of California, Berkeleyee249/fa08/Lectures/mocPetri.pdf7 EE249Fall04 Petri Net • A PN (N,M 0) is a Petri Net Graph N – places : represent distributed state

41

EE249Fall04

• 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: Petri nets - University of California, Berkeleyee249/fa08/Lectures/mocPetri.pdf7 EE249Fall04 Petri Net • A PN (N,M 0) is a Petri Net Graph N – places : represent distributed state

42

EE249Fall04

• 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: Petri nets - University of California, Berkeleyee249/fa08/Lectures/mocPetri.pdf7 EE249Fall04 Petri Net • A PN (N,M 0) is a Petri Net Graph N – places : represent distributed state

43

EE249Fall04

• 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: Petri nets - University of California, Berkeleyee249/fa08/Lectures/mocPetri.pdf7 EE249Fall04 Petri Net • A PN (N,M 0) is a Petri Net Graph N – places : represent distributed state

44

EE249Fall04

• 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: Petri nets - University of California, Berkeleyee249/fa08/Lectures/mocPetri.pdf7 EE249Fall04 Petri Net • A PN (N,M 0) is a Petri Net Graph N – places : represent distributed state

45

EE249Fall04

• 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: Petri nets - University of California, Berkeleyee249/fa08/Lectures/mocPetri.pdf7 EE249Fall04 Petri Net • A PN (N,M 0) is a Petri Net Graph N – places : represent distributed state

46

EE249Fall04

Conservation

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

Not conservative

Page 47: Petri nets - University of California, Berkeleyee249/fa08/Lectures/mocPetri.pdf7 EE249Fall04 Petri Net • A PN (N,M 0) is a Petri Net Graph N – places : represent distributed state

47

EE249Fall04

Conservation

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

Not conservative

Page 48: Petri nets - University of California, Berkeleyee249/fa08/Lectures/mocPetri.pdf7 EE249Fall04 Petri Net • A PN (N,M 0) is a Petri Net Graph N – places : represent distributed state

48

EE249Fall04

Conservation

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

Conservative

2

2

Page 49: Petri nets - University of California, Berkeleyee249/fa08/Lectures/mocPetri.pdf7 EE249Fall04 Petri Net • A PN (N,M 0) is a Petri Net Graph N – places : represent distributed state

49

EE249Fall04

Analysis techniques

• Structural analysis techniques

– Incidence matrix

– T- and S- Invariants

• State Space Analysis techniques

– Coverability Tree

– Reachability Graph

Page 50: Petri nets - University of California, Berkeleyee249/fa08/Lectures/mocPetri.pdf7 EE249Fall04 Petri Net • A PN (N,M 0) is a Petri Net Graph N – places : represent distributed state

50

EE249Fall04

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 p3t1

t2

t3

A=A=

--11 00 00

11 11 --1100 --11 11

t1 t2 t3

p1

p2

p3

Page 51: Petri nets - University of California, Berkeleyee249/fa08/Lectures/mocPetri.pdf7 EE249Fall04 Petri Net • A PN (N,M 0) is a Petri Net Graph N – places : represent distributed state

51

EE249Fall04

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: Petri nets - University of California, Berkeleyee249/fa08/Lectures/mocPetri.pdf7 EE249Fall04 Petri Net • A PN (N,M 0) is a Petri Net Graph N – places : represent distributed state

52

EE249Fall04

Necessary Condition only

22

Firing vector: (1,2,2)

t1

t2

t3

Deadlock!!

Page 53: Petri nets - University of California, Berkeleyee249/fa08/Lectures/mocPetri.pdf7 EE249Fall04 Petri Net • A PN (N,M 0) is a Petri Net Graph N – places : represent distributed state

53

EE249Fall04

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: Petri nets - University of California, Berkeleyee249/fa08/Lectures/mocPetri.pdf7 EE249Fall04 Petri Net • A PN (N,M 0) is a Petri Net Graph N – places : represent distributed state

54

EE249Fall04

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: Petri nets - University of California, Berkeleyee249/fa08/Lectures/mocPetri.pdf7 EE249Fall04 Petri Net • A PN (N,M 0) is a Petri Net Graph N – places : represent distributed state

55

EE249Fall04

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: Petri nets - University of California, Berkeleyee249/fa08/Lectures/mocPetri.pdf7 EE249Fall04 Petri Net • A PN (N,M 0) is a Petri Net Graph N – places : represent distributed state

56

EE249Fall04

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: Petri nets - University of California, Berkeleyee249/fa08/Lectures/mocPetri.pdf7 EE249Fall04 Petri Net • A PN (N,M 0) is a Petri Net Graph N – places : represent distributed state

57

EE249Fall04

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: Petri nets - University of California, Berkeleyee249/fa08/Lectures/mocPetri.pdf7 EE249Fall04 Petri Net • A PN (N,M 0) is a Petri Net Graph N – places : represent distributed state

58

EE249Fall04

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: Petri nets - University of California, Berkeleyee249/fa08/Lectures/mocPetri.pdf7 EE249Fall04 Petri Net • A PN (N,M 0) is a Petri Net Graph N – places : represent distributed state

59

EE249Fall04

Coverability Tree

• Boundedness is decidable with coverability tree

p1 p2 p3

p4

t1

t2

t3

1000

Page 60: Petri nets - University of California, Berkeleyee249/fa08/Lectures/mocPetri.pdf7 EE249Fall04 Petri Net • A PN (N,M 0) is a Petri Net Graph N – places : represent distributed state

60

EE249Fall04

Coverability Tree

• Boundedness is decidable with coverability tree

p1 p2 p3

p4

t1

t2

t3

1000

0100

t1

Page 61: Petri nets - University of California, Berkeleyee249/fa08/Lectures/mocPetri.pdf7 EE249Fall04 Petri Net • A PN (N,M 0) is a Petri Net Graph N – places : represent distributed state

61

EE249Fall04

Coverability Tree

• Boundedness is decidable

with coverability tree

p1 p2 p3

p4

t1

t2

t3

1000

0100

0011

t1

t3

Page 62: Petri nets - University of California, Berkeleyee249/fa08/Lectures/mocPetri.pdf7 EE249Fall04 Petri Net • A PN (N,M 0) is a Petri Net Graph N – places : represent distributed state

62

EE249Fall04

Coverability Tree

• Boundedness is decidable

with coverability tree

p1 p2 p3

p4

t1

t2

t3

1000

0100

0011

t1

t3

0101

t2

Page 63: Petri nets - University of California, Berkeleyee249/fa08/Lectures/mocPetri.pdf7 EE249Fall04 Petri Net • A PN (N,M 0) is a Petri Net Graph N – places : represent distributed state

63

EE249Fall04

Coverability Tree

• Boundedness is decidable

with coverability tree

p1 p2 p3

p4

t1

t2

t3

1000

0100

0011

t1

t3

t2

010ωωωω

Page 64: Petri nets - University of California, Berkeleyee249/fa08/Lectures/mocPetri.pdf7 EE249Fall04 Petri Net • A PN (N,M 0) is a Petri Net Graph N – places : represent distributed state

64

EE249Fall04

Coverability Tree

• Is (1) reachable from (0)?

t1 p1 t2

t1 p1 t22 2

Page 65: Petri nets - University of California, Berkeleyee249/fa08/Lectures/mocPetri.pdf7 EE249Fall04 Petri Net • A PN (N,M 0) is a Petri Net Graph N – places : represent distributed state

65

EE249Fall04

Coverability Tree

• Is (1) reachable from (0)?

t1 p1 t2

t1

0

t1

ωωωω

p1 t22 2

(0) (1) (2)…

Page 66: Petri nets - University of California, Berkeleyee249/fa08/Lectures/mocPetri.pdf7 EE249Fall04 Petri Net • A PN (N,M 0) is a Petri Net Graph N – places : represent distributed state

66

EE249Fall04

Coverability Tree

• Is (1) reachable from (0)?

t1 p1 t2

t1

0

t1

ωωωω

0

t1

ωωωω

p1 t22 2

(0) (1) (2)…

(0) (2) (0)…

Page 67: Petri nets - University of California, Berkeleyee249/fa08/Lectures/mocPetri.pdf7 EE249Fall04 Petri Net • A PN (N,M 0) is a Petri Net Graph N – places : represent distributed state

67

EE249Fall04

Coverability Tree

• Cannot solve the reachability problem

t1 p1 t2

t1

0

t1

ωωωω

0

t1

ωωωω

p1 t22 2

(0) (1) (2)…

(0) (2) (0)…

• Is (1) reachable from (0)?

Page 68: Petri nets - University of California, Berkeleyee249/fa08/Lectures/mocPetri.pdf7 EE249Fall04 Petri Net • A PN (N,M 0) is a Petri Net Graph N – places : represent distributed state

68

EE249Fall04

Reachability graph

p1 p2 p3t1

t2

t3

100

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

Page 69: Petri nets - University of California, Berkeleyee249/fa08/Lectures/mocPetri.pdf7 EE249Fall04 Petri Net • A PN (N,M 0) is a Petri Net Graph N – places : represent distributed state

69

EE249Fall04

Reachability graph

p1 p2 p3t1

t2

t3

100

010

t1

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

Page 70: Petri nets - University of California, Berkeleyee249/fa08/Lectures/mocPetri.pdf7 EE249Fall04 Petri Net • A PN (N,M 0) is a Petri Net Graph N – places : represent distributed state

70

EE249Fall04

Reachability graph

p1 p2 p3t1

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: Petri nets - University of California, Berkeleyee249/fa08/Lectures/mocPetri.pdf7 EE249Fall04 Petri Net • A PN (N,M 0) is a Petri Net Graph N – places : represent distributed state

71

EE249Fall04

Reachability graph

p1 p2 p3t1

t2

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: Petri nets - University of California, Berkeleyee249/fa08/Lectures/mocPetri.pdf7 EE249Fall04 Petri Net • A PN (N,M 0) is a Petri Net Graph N – places : represent distributed state

72

EE249Fall04

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: Petri nets - University of California, Berkeleyee249/fa08/Lectures/mocPetri.pdf7 EE249Fall04 Petri Net • A PN (N,M 0) is a Petri Net Graph N – places : represent distributed state

73

EE249Fall04

Marked Graphs

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

• Models only causality and concurrency (no conflict)

NO

YES

Page 74: Petri nets - University of California, Berkeleyee249/fa08/Lectures/mocPetri.pdf7 EE249Fall04 Petri Net • A PN (N,M 0) is a Petri Net Graph N – places : represent distributed state

74

EE249Fall04

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: Petri nets - University of California, Berkeleyee249/fa08/Lectures/mocPetri.pdf7 EE249Fall04 Petri Net • A PN (N,M 0) is a Petri Net Graph N – places : represent distributed state

75

EE249Fall04

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: Petri nets - University of California, Berkeleyee249/fa08/Lectures/mocPetri.pdf7 EE249Fall04 Petri Net • A PN (N,M 0) is a Petri Net Graph N – places : represent distributed state

76

EE249Fall04

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: Petri nets - University of California, Berkeleyee249/fa08/Lectures/mocPetri.pdf7 EE249Fall04 Petri Net • A PN (N,M 0) is a Petri Net Graph N – places : represent distributed state

77

EE249Fall04

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: Petri nets - University of California, Berkeleyee249/fa08/Lectures/mocPetri.pdf7 EE249Fall04 Petri Net • A PN (N,M 0) is a Petri Net Graph N – places : represent distributed state

78

EE249Fall04

• Choose one successor for each conflicting place:

MG reduction and cover

Page 79: Petri nets - University of California, Berkeleyee249/fa08/Lectures/mocPetri.pdf7 EE249Fall04 Petri Net • A PN (N,M 0) is a Petri Net Graph N – places : represent distributed state

79

EE249Fall04

• Choose one successor for each conflicting place:

MG reduction and cover

Page 80: Petri nets - University of California, Berkeleyee249/fa08/Lectures/mocPetri.pdf7 EE249Fall04 Petri Net • A PN (N,M 0) is a Petri Net Graph N – places : represent distributed state

80

EE249Fall04

• Choose one successor for each conflicting place:

MG reduction and cover

Page 81: Petri nets - University of California, Berkeleyee249/fa08/Lectures/mocPetri.pdf7 EE249Fall04 Petri Net • A PN (N,M 0) is a Petri Net Graph N – places : represent distributed state

81

EE249Fall04

• Choose one successor for each conflicting place:

MG reduction and cover

Page 82: Petri nets - University of California, Berkeleyee249/fa08/Lectures/mocPetri.pdf7 EE249Fall04 Petri Net • A PN (N,M 0) is a Petri Net Graph N – places : represent distributed state

82

EE249Fall04

• Choose one successor for each conflicting place:

MG reduction and cover

Page 83: Petri nets - University of California, Berkeleyee249/fa08/Lectures/mocPetri.pdf7 EE249Fall04 Petri Net • A PN (N,M 0) is a Petri Net Graph N – places : represent distributed state

83

EE249Fall04

MG reductions

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

Page 84: Petri nets - University of California, Berkeleyee249/fa08/Lectures/mocPetri.pdf7 EE249Fall04 Petri Net • A PN (N,M 0) is a Petri Net Graph N – places : represent distributed state

84

EE249Fall04

MG reductions

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

Page 85: Petri nets - University of California, Berkeleyee249/fa08/Lectures/mocPetri.pdf7 EE249Fall04 Petri Net • A PN (N,M 0) is a Petri Net Graph N – places : represent distributed state

85

EE249Fall04

MG reductions

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

Page 86: Petri nets - University of California, Berkeleyee249/fa08/Lectures/mocPetri.pdf7 EE249Fall04 Petri Net • A PN (N,M 0) is a Petri Net Graph N – places : represent distributed state

86

EE249Fall04

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: Petri nets - University of California, Berkeleyee249/fa08/Lectures/mocPetri.pdf7 EE249Fall04 Petri Net • A PN (N,M 0) is a Petri Net Graph N – places : represent distributed state

87

EE249Fall04

Hack’s theorem

• Example of non-live (but safe) FCN

Page 88: Petri nets - University of California, Berkeleyee249/fa08/Lectures/mocPetri.pdf7 EE249Fall04 Petri Net • A PN (N,M 0) is a Petri Net Graph N – places : represent distributed state

88

EE249Fall04

Hack’s theorem

• Example of non-live (but safe) FCN

Page 89: Petri nets - University of California, Berkeleyee249/fa08/Lectures/mocPetri.pdf7 EE249Fall04 Petri Net • A PN (N,M 0) is a Petri Net Graph N – places : represent distributed state

89

EE249Fall04

Hack’s theorem

• Example of non-live (but safe) FCN

Page 90: Petri nets - University of California, Berkeleyee249/fa08/Lectures/mocPetri.pdf7 EE249Fall04 Petri Net • A PN (N,M 0) is a Petri Net Graph N – places : represent distributed state

90

EE249Fall04

Hack’s theorem

• Example of non-live (but safe) FCN

Page 91: Petri nets - University of California, Berkeleyee249/fa08/Lectures/mocPetri.pdf7 EE249Fall04 Petri Net • A PN (N,M 0) is a Petri Net Graph N – places : represent distributed state

91

EE249Fall04

Hack’s theorem

• Example of non-live (but safe) FCN

Page 92: Petri nets - University of California, Berkeleyee249/fa08/Lectures/mocPetri.pdf7 EE249Fall04 Petri Net • A PN (N,M 0) is a Petri Net Graph N – places : represent distributed state

92

EE249Fall04

Hack’s theorem

• Example of non-live (but safe) FCN

Page 93: Petri nets - University of California, Berkeleyee249/fa08/Lectures/mocPetri.pdf7 EE249Fall04 Petri Net • A PN (N,M 0) is a Petri Net Graph N – places : represent distributed state

93

EE249Fall04

Hack’s theorem

• Example of non-live (but safe) FCN

Page 94: Petri nets - University of California, Berkeleyee249/fa08/Lectures/mocPetri.pdf7 EE249Fall04 Petri Net • A PN (N,M 0) is a Petri Net Graph N – places : represent distributed state

94

EE249Fall04

Hack’s theorem

• Example of non-live (but safe) FCN

Page 95: Petri nets - University of California, Berkeleyee249/fa08/Lectures/mocPetri.pdf7 EE249Fall04 Petri Net • A PN (N,M 0) is a Petri Net Graph N – places : represent distributed state

95

EE249Fall04

Hack’s theorem

• Example of non-live (but safe) FCN

Page 96: Petri nets - University of California, Berkeleyee249/fa08/Lectures/mocPetri.pdf7 EE249Fall04 Petri Net • A PN (N,M 0) is a Petri Net Graph N – places : represent distributed state

96

EE249Fall04

Hack’s theorem

• Example of non-live (but safe) FCN

Page 97: Petri nets - University of California, Berkeleyee249/fa08/Lectures/mocPetri.pdf7 EE249Fall04 Petri Net • A PN (N,M 0) is a Petri Net Graph N – places : represent distributed state

97

EE249Fall04

Hack’s theorem

• Example of non-live (but safe) FCN

Page 98: Petri nets - University of California, Berkeleyee249/fa08/Lectures/mocPetri.pdf7 EE249Fall04 Petri Net • A PN (N,M 0) is a Petri Net Graph N – places : represent distributed state

98

EE249Fall04

Hack’s theorem

• Example of non-live (but safe) FCN

Page 99: Petri nets - University of California, Berkeleyee249/fa08/Lectures/mocPetri.pdf7 EE249Fall04 Petri Net • A PN (N,M 0) is a Petri Net Graph N – places : represent distributed state

99

EE249Fall04

Hack’s theorem

• Example of non-live (but safe) FCN

Page 100: Petri nets - University of California, Berkeleyee249/fa08/Lectures/mocPetri.pdf7 EE249Fall04 Petri Net • A PN (N,M 0) is a Petri Net Graph N – places : represent distributed state

100

EE249Fall04

Hack’s theorem

• Example of non-live (but safe) FCN

Page 101: Petri nets - University of California, Berkeleyee249/fa08/Lectures/mocPetri.pdf7 EE249Fall04 Petri Net • A PN (N,M 0) is a Petri Net Graph N – places : represent distributed state

101

EE249Fall04

Hack’s theorem

• Example of non-live (but safe) FCN

Page 102: Petri nets - University of California, Berkeleyee249/fa08/Lectures/mocPetri.pdf7 EE249Fall04 Petri Net • A PN (N,M 0) is a Petri Net Graph N – places : represent distributed state

102

EE249Fall04

Hack’s theorem

• Example of non-live (but safe) FCN

Deadlock

Page 103: Petri nets - University of California, Berkeleyee249/fa08/Lectures/mocPetri.pdf7 EE249Fall04 Petri Net • A PN (N,M 0) is a Petri Net Graph N – places : represent distributed state

103

EE249Fall04

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: Petri nets - University of California, Berkeleyee249/fa08/Lectures/mocPetri.pdf7 EE249Fall04 Petri Net • A PN (N,M 0) is a Petri Net Graph N – places : represent distributed state

104

EE249Fall04

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: Petri nets - University of California, Berkeleyee249/fa08/Lectures/mocPetri.pdf7 EE249Fall04 Petri Net • A PN (N,M 0) is a Petri Net Graph N – places : represent distributed state

105

EE249Fall04

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: Petri nets - University of California, Berkeleyee249/fa08/Lectures/mocPetri.pdf7 EE249Fall04 Petri Net • A PN (N,M 0) is a Petri Net Graph N – places : represent distributed state

106

EE249Fall04

References

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

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