Petri Nets 1 IE 469 Manufacturing Systems 469 صنع نظم التصنيع.

63
Petri Nets 1 IE 469 Manufacturing Systems 469 ع ي ن ص ت ل ا م ظ ن ع ي ص

Transcript of Petri Nets 1 IE 469 Manufacturing Systems 469 صنع نظم التصنيع.

Page 1: Petri Nets 1 IE 469 Manufacturing Systems 469 صنع نظم التصنيع.

1

Petri Nets

IE 469 Manufacturing Systems

صنع نظم التصنيع 469

Page 2: Petri Nets 1 IE 469 Manufacturing Systems 469 صنع نظم التصنيع.

2

Outline

• Petri nets– Introduction– Examples– Properties– Analysis techniques

Page 3: Petri Nets 1 IE 469 Manufacturing Systems 469 صنع نظم التصنيع.

3

Petri net models and graphical representation

A Petri net (PN) is defined as a directed bipartite graph having a structure, C, and a marking, M.

we use the definition C = (P, T, I, O), where: P = a set of places. P = {pl, p2, p3,... pn} T = a set of transitions. T = {t 1, t2, t3 ... tm} I = a mapping from places to transitions. (PXT) NO= a mapping from transitions to places. (PXT) N Each of these concepts has a graphical representation.

The place is represented by a circle, the transition by a bar, and the input and output mapping by a set of directed arcs.

Page 4: Petri Nets 1 IE 469 Manufacturing Systems 469 صنع نظم التصنيع.

4

In this illustration there are four places, P = {p 1, p2, p3, p4}, and three transitions, T = {t 1, t2, t3}. There are also eight directed arcs which define I and O

• Tokens: black dots

t1p1

p2

t2

p4

t3

p3

2

3

Page 5: Petri Nets 1 IE 469 Manufacturing Systems 469 صنع نظم التصنيع.

5

Petri net, unmarked and marked.

mappings can be described in matrix form as follows:

Page 6: Petri Nets 1 IE 469 Manufacturing Systems 469 صنع نظم التصنيع.

6

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

– places: represent distributed state by holding tokens (Activities)• 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

p2t2

p4

t3

p3

2

3Places/Transition: conditions/events

Page 7: Petri Nets 1 IE 469 Manufacturing Systems 469 صنع نظم التصنيع.

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

22

3

2 2

3

Page 8: Petri Nets 1 IE 469 Manufacturing Systems 469 صنع نظم التصنيع.

8

Concurrency, causality, choice

t1

t

2

t3 t4

t5

t6

Page 9: Petri Nets 1 IE 469 Manufacturing Systems 469 صنع نظم التصنيع.

9

Concurrency, causality, choice

Concurrency

t1

t

2

t3 t4

t5

t6

Page 10: Petri Nets 1 IE 469 Manufacturing Systems 469 صنع نظم التصنيع.

10

Concurrency, causality, choice

Causality, sequencing

t1

t

2

t3 t4

t5

t6

Page 11: Petri Nets 1 IE 469 Manufacturing Systems 469 صنع نظم التصنيع.

11

Concurrency, causality, choice

Choice,

conflict

t1

t

2

t3 t4

t5

t6

Page 12: Petri Nets 1 IE 469 Manufacturing Systems 469 صنع نظم التصنيع.

12

Concurrency, causality, choice

Choice,

conflict

t1

t

2

t3 t4

t5

t6

Page 13: Petri Nets 1 IE 469 Manufacturing Systems 469 صنع نظم التصنيع.

13

Example

Page 14: Petri Nets 1 IE 469 Manufacturing Systems 469 صنع نظم التصنيع.

14

Producer-Consumer Problem

Produce

Consume

Buffer

Page 15: Petri Nets 1 IE 469 Manufacturing Systems 469 صنع نظم التصنيع.

15

Producer-Consumer Problem

Produce

Consume

Buffer

Page 16: Petri Nets 1 IE 469 Manufacturing Systems 469 صنع نظم التصنيع.

16

Producer-Consumer Problem

Produce

Consume

Buffer

Page 17: Petri Nets 1 IE 469 Manufacturing Systems 469 صنع نظم التصنيع.

17

Producer-Consumer Problem

Produce

Consume

Buffer

Page 18: Petri Nets 1 IE 469 Manufacturing Systems 469 صنع نظم التصنيع.

18

Producer-Consumer Problem

Produce

Consume

Buffer

Page 19: Petri Nets 1 IE 469 Manufacturing Systems 469 صنع نظم التصنيع.

19

Producer-Consumer Problem

Produce

Consume

Buffer

Page 20: Petri Nets 1 IE 469 Manufacturing Systems 469 صنع نظم التصنيع.

20

Producer-Consumer Problem

Produce

Consume

Buffer

Page 21: Petri Nets 1 IE 469 Manufacturing Systems 469 صنع نظم التصنيع.

21

Producer-Consumer Problem

Produce

Consume

Buffer

Page 22: Petri Nets 1 IE 469 Manufacturing Systems 469 صنع نظم التصنيع.

22

Producer-Consumer Problem

Produce

Consume

Buffer

Page 23: Petri Nets 1 IE 469 Manufacturing Systems 469 صنع نظم التصنيع.

23

Producer-Consumer Problem

Produce

Consume

Buffer

Page 24: Petri Nets 1 IE 469 Manufacturing Systems 469 صنع نظم التصنيع.

24

Producer-Consumer Problem

Produce

Consume

Buffer

Page 25: Petri Nets 1 IE 469 Manufacturing Systems 469 صنع نظم التصنيع.

25

Producer-Consumer Problem

Produce

Consume

Buffer

Page 26: Petri Nets 1 IE 469 Manufacturing Systems 469 صنع نظم التصنيع.

26

Producer-Consumer Problem

Produce

Consume

Buffer

Page 27: Petri Nets 1 IE 469 Manufacturing Systems 469 صنع نظم التصنيع.

27

Producer-Consumer Problem

Produce

Consume

Buffer

Page 28: Petri Nets 1 IE 469 Manufacturing Systems 469 صنع نظم التصنيع.

28

Producer-Consumer with priority

Consumer B can

consume only if

buffer A is empty

Inhibitor arcs

A

B

Page 29: Petri Nets 1 IE 469 Manufacturing Systems 469 صنع نظم التصنيع.

29

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 30: Petri Nets 1 IE 469 Manufacturing Systems 469 صنع نظم التصنيع.

30

Reachability

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

• The reachability problem is decidable.

t1p1

p2

t2

p4

t3

p3

M0 = (1,0,1,0)

M = (1,1,0,0)

M0 = (1,0,1,0)

t3

M1 = (1,0,0,1)

t2

M = (1,1,0,0)

Page 31: Petri Nets 1 IE 469 Manufacturing Systems 469 صنع نظم التصنيع.

31

When the transition tj fires it results in a new marking M’, (by removing I(pi, tj) tokens from each of its input places and adding O(pi, tj) tokens to each of its output places. Then, M’ is reachable from M as: M’(pi)=M(pi)+O(pi,tj)-I(pi,tj)

Example: The following figure shows the change in state from Mk-

1 to Mk by firing t1.Let u be a firing vector, where uT=[u(t1), u(t2), u(t3)]. Then

Mk = Mk-1+Ouk-Iuk =Mk-1+Auk

0

0

1

110

101

110

101

0

0

1

1

0

1

1

0

Page 32: Petri Nets 1 IE 469 Manufacturing Systems 469 صنع نظم التصنيع.

32

Page 33: Petri Nets 1 IE 469 Manufacturing Systems 469 صنع نظم التصنيع.

33

Petri net invariants An invariant of a PN depends on its topology.

1. P-invariant.2. T-invariant.If there exists a set of non-negative integers x such

that xTA=0, then x is called a P-invariant of the PN.

Let x be a weighting vector of places x=[w1, w2, w3, …wn].

There are (n-r) minimal P-invariants.n= number of places. r= the rank of A.

Page 34: Petri Nets 1 IE 469 Manufacturing Systems 469 صنع نظم التصنيع.

34

which has the following solutions:

Page 35: Petri Nets 1 IE 469 Manufacturing Systems 469 صنع نظم التصنيع.

35

T-invariantA vector y of non-negative integers is a T-invariant if

there exists a marking M and a firing sequence back to M whose firing count vector is y.

A T-invariant is a solution to the equation Ay=0. Let y be a vector y=[u1, u2, u3, …..um].

Which yields the T-invariant yT

=(1,1,1).

y defines the number of times each transition

must be fire in one complete cycle from M0

back to it self. In general there are (m-r) T-

invariants.

m= number of transitions.

Page 36: Petri Nets 1 IE 469 Manufacturing Systems 469 صنع نظم التصنيع.

36

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

Liveness

Not live

Page 37: Petri Nets 1 IE 469 Manufacturing Systems 469 صنع نظم التصنيع.

37

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

Liveness

Not live

Page 38: Petri Nets 1 IE 469 Manufacturing Systems 469 صنع نظم التصنيع.

38

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

Liveness

Deadlock-free

Page 39: Petri Nets 1 IE 469 Manufacturing Systems 469 صنع نظم التصنيع.

39

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

Liveness

Deadlock-free

Page 40: Petri Nets 1 IE 469 Manufacturing Systems 469 صنع نظم التصنيع.

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

Page 41: Petri Nets 1 IE 469 Manufacturing Systems 469 صنع نظم التصنيع.

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: Petri Nets 1 IE 469 Manufacturing Systems 469 صنع نظم التصنيع.

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: Petri Nets 1 IE 469 Manufacturing Systems 469 صنع نظم التصنيع.

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: Petri Nets 1 IE 469 Manufacturing Systems 469 صنع نظم التصنيع.

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: Petri Nets 1 IE 469 Manufacturing Systems 469 صنع نظم التصنيع.

45

Conservation

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

Not conservative

Page 46: Petri Nets 1 IE 469 Manufacturing Systems 469 صنع نظم التصنيع.

46

Conservation

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

Not conservative

Page 47: Petri Nets 1 IE 469 Manufacturing Systems 469 صنع نظم التصنيع.

47

Conservation

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

Conservative

2

2

Page 48: Petri Nets 1 IE 469 Manufacturing Systems 469 صنع نظم التصنيع.

48

Analysis techniques

• Structural analysis techniques– Incidence matrix– T- and P- Invariants

• State Space Analysis techniques– Coverability Tree– Reachability Graph

Page 49: Petri Nets 1 IE 469 Manufacturing Systems 469 صنع نظم التصنيع.

49

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=

-1 0 0

1 1 -1

0 -1 1

t1 t2 t3

p1

p2

p3

Page 50: Petri Nets 1 IE 469 Manufacturing Systems 469 صنع نظم التصنيع.

50

State equations

p1 p2 p3t1

t3

A=

-1 0 0

1 1 -1

0 -1 1

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

t2

1

0

0

+

-1 0 0

1 1 -1

0 -1 1

0

0

1

=

1

0

1

v1 =

1

0

1

Page 51: Petri Nets 1 IE 469 Manufacturing Systems 469 صنع نظم التصنيع.

51

Reachability

xTM’ = xTM0

Example:

Show that M=(0 0 1 1) is reachable from M0 but M =(1 0 1 0) is not reachable from M0.

Testing: M=(0 0 1 1)

11

0

0

1

1

0101

1

1

0

0

0101

11

0

0

1

1

1010

1

1

0

0

1010

Page 52: Petri Nets 1 IE 469 Manufacturing Systems 469 صنع نظم التصنيع.

52

• Testing M=(1 0 1 0)

12

0

0

1

1

0101

0

1

0

1

0101

Page 53: Petri Nets 1 IE 469 Manufacturing Systems 469 صنع نظم التصنيع.

53

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 54: Petri Nets 1 IE 469 Manufacturing Systems 469 صنع نظم التصنيع.

54

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 55: Petri Nets 1 IE 469 Manufacturing Systems 469 صنع نظم التصنيع.

55

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 56: Petri Nets 1 IE 469 Manufacturing Systems 469 صنع نظم التصنيع.

56

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 57: Petri Nets 1 IE 469 Manufacturing Systems 469 صنع نظم التصنيع.

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 w 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 58: Petri Nets 1 IE 469 Manufacturing Systems 469 صنع نظم التصنيع.

58

Coverability Tree• Boundedness is decidable

with coverability tree

p1 p2 p3

p4

t1t2

t3

1000

Page 59: Petri Nets 1 IE 469 Manufacturing Systems 469 صنع نظم التصنيع.

59

Coverability Tree• Boundedness is decidable

with coverability tree

p1 p2 p3

p4

t1t2

t3

1000

0100t1

Page 60: Petri Nets 1 IE 469 Manufacturing Systems 469 صنع نظم التصنيع.

60

Coverability Tree• Boundedness is decidable

with coverability tree

p1 p2 p3

p4

t1t2

t3

1000

0100

0011

t1

t3

Page 61: Petri Nets 1 IE 469 Manufacturing Systems 469 صنع نظم التصنيع.

61

Coverability Tree• Boundedness is decidable

with coverability tree

p1 p2 p3

p4

t1t2

t3

1000

0100

0011

t1

t3

0101

t2

Page 62: Petri Nets 1 IE 469 Manufacturing Systems 469 صنع نظم التصنيع.

62

Coverability Tree• Boundedness is decidable

with coverability tree

p1 p2 p3

p4

t1t2

t3

1000

0100

0011

t1

t3

t2

010

Page 63: Petri Nets 1 IE 469 Manufacturing Systems 469 صنع نظم التصنيع.

63

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