56
DES 4. Petri Nets Introduction Different Classes of Petri Net Petri net properties Analysis of Petri net models 1

Introduction Different Classes of Petri Net Petri net

  • Upload
    others

  • View
    16

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Introduction Different Classes of Petri Net Petri net

DES

4. Petri Nets

• Introduction

• Different Classes of Petri Net

• Petri net properties

• Analysis of Petri net models

1

Page 2: Introduction Different Classes of Petri Net Petri net

DESPetri Nets

C.A Petri, TU Darmstadt, 1962

A mathematical and graphical modeling method.

Describe systems that are:

• concurrent

• asynchronous

• distributed

• nondeterministic2

Page 3: Introduction Different Classes of Petri Net Petri net

DESPetri Nets

Can be used at all stages of system development:

• modeling

• analysis

• simulation/visualization (“playing the token game”)

• synthesis (Petri net versions of SCT)

• implementation (Grafcet)3

Page 4: Introduction Different Classes of Petri Net Petri net

DESApplication areas

• communication protocols

• distributed systems

• distributed database systems

• flexible manufacturing systems

• logical controller design

• multiprocessor memory systems

• dataflow computing systems

• fault tolerant systems

• ...4

Page 5: Introduction Different Classes of Petri Net Petri net

DES

Introduction

A Petri net is a directed bipartite graph consisting of places Pand transitions T .

Places are represented by circles.

Transitions are represented by bars (or rectangles)

Places and transitions are connected by arcs.

In a marked Petri net each place contains a cardinal (zero orpositive integer) number of tokens of marks.

5

Page 6: Introduction Different Classes of Petri Net Petri net

DESFiring rules

1. A transition t is enabled if each input place contains atleast one token.

2. An enabled transition may or may not fire.

3. Firing an enabled transition t means removing one tokenfrom each input place of t and adding one token to eachoutput place of t.

The firing of a transition has zero duration.

The firing of a sink transition (only input places) only consumestokens.

The firing of a source transition (only output places) onlyproduces tokens.

6

Page 7: Introduction Different Classes of Petri Net Petri net

DES

P1

P2

P3 P4

P5 P6

P7

T1

T2

T3 T4

T5

T6

7

Page 8: Introduction Different Classes of Petri Net Petri net

DES

P1

P2

P3 P4

P5 P6

P7

T1

T2

T3 T4

T5

T6

8

Page 9: Introduction Different Classes of Petri Net Petri net

DES

P1

P2

P3 P4

P5 P6

P7

T1

T2

T3 T4

T5

T6

9

Page 10: Introduction Different Classes of Petri Net Petri net

DES

P1

P2

P3 P4

P5 P6

P7

T1

T2

T3 T4

T5

T6

10

Page 11: Introduction Different Classes of Petri Net Petri net

DES

P1

P2

P3 P4

P5 P6

P7

T1

T2

T3 T4

T5

T6

11

Page 12: Introduction Different Classes of Petri Net Petri net

DES

P1

P2

P3 P4

P5 P6

P7

T1

T2

T3 T4

T5

T6

12

Page 13: Introduction Different Classes of Petri Net Petri net

DES

Typical interpretations of places and transitions:

Input Places Transition

Preconditions

Input data

Input signals

Resources needed

Conditions

Buffers

Event

Computation step

Signal processor

Task or job

Clause in logic

Processor

Output Places

Postconditions

Output data

Output signals

Resources needed

Conclusions

Buffers

13

Page 14: Introduction Different Classes of Petri Net Petri net

DESCharacteristics

Concurrency

Conflict (decision,choice)

Confusion (conflict +concurrency)

and−divergence

and−convergence

or−divergence

or−divergence

t1 t2t3

t1 and t2 are concurrent while each of t1 and t2 is in conflict with t3

14

Page 15: Introduction Different Classes of Petri Net Petri net

DES

State

The state of a marked Petri net is its marking

M � [m(p1), m(p2), ⋅ ⋅ ⋅ , m(pn)].

The marking can be finite or infinite.

A Petri net can model an infinite system with a finite number ofplaces.

15

Page 16: Introduction Different Classes of Petri Net Petri net

DESModeling with Petri Nets

Tradeoff between

Modeling power => Formal Analysis Power

Petri net specializations:

• restrictions on the allowed net structures

• more powerful analytical results and/or simpler algorithms

Petri net abbreviations:

• classes of Petri nets which always can be transformed toordinary Petri nets

• PN properties are maintained

• “syntactic sugar”16

Page 17: Introduction Different Classes of Petri Net Petri net

DES

Petri net extensions (generalizations):

• classes of Petri nets with additional transition firing rules

• cannot be transformed back to ordinary PNs

• PN properties are not always maintained

• often Turing machine equivalent

17

Page 18: Introduction Different Classes of Petri Net Petri net

DESPN Specializations

State Graphs (state machines):

• an unmarked PN is a state graph iff every transition hasone input place and one output place

• a marked state graph is equivalent to a automaton statemachine iff it only contains one token

• can model conflicts

• cannot model concurrency18

Page 19: Introduction Different Classes of Petri Net Petri net

DESPN Specializations

Event graphs (marked graphs, transition graphs):

• a PN is an event graph iff every place has one inputtransition and one output transition

• cannot model conflicts

• can model concurrency

• the basis for the max-plus algebra approach

Other specializations:

• conflict-free PNs, free-choice PNs, simple PNs,

• pure PNs (have no self-loops)19

Page 20: Introduction Different Classes of Petri Net Petri net

DESPN abbreviations

• Generalized Petri nets

• Finite Capacity Petri nets

• High-Level Petri nets

20

Page 21: Introduction Different Classes of Petri Net Petri net

DES Generalized Petri Nets

2

2

P1 P2

P3

T1

Firing rules:

1. A transition t is enabled if each input place p of t containsat least w(p,t) tokens

2. Firing a transition t means removing w(p,t) tokens fromeach input place p and adding w(t,q) tokens to eachoutput place q.

21

Page 22: Introduction Different Classes of Petri Net Petri net

DES Generalized Petri Nets

2

2

P1 P2

P3

T1

Firing rules:

1. A transition t is enabled if each input place p of t containsat least w(p,t) tokens

2. Firing a transition t means removing w(p,t) tokens fromeach input place p and adding w(t,q) tokens to eachoutput place q.

22

Page 23: Introduction Different Classes of Petri Net Petri net

DES Finite-Capacity PN

Capacities (strictly positive integers) associated with withplaces.

Transition firing rule:

• For a transition t to be enabled it is additionally requiredthat the number of tokens in each output place p of t willnot exceed its capacity K (p) after firing t.

Generalized, finite capacity PNs are sometimes calledPlace/Transition (P/T) nets.

Finite capacity nets where all places have capacity 1 andwhere input places are interpreted as preconditions, outputplaces interpreted as postconditions, and transitions interpretedas events are called Condition/Event Systems. Separatetheory.

23

Page 24: Introduction Different Classes of Petri Net Petri net

DESHigh-Level Petri Nets

Predicate/Transition nets

Coloured Petri Nets

Abstract data types + Petri nets

A token has a type

Several identical Petri nets modeling, e.g., several identicalconcurrent activities can be folded into a high-level PN.

Can be transformed (unfolded) to an ordinary PN24

Page 25: Introduction Different Classes of Petri Net Petri net

DES PN extensions

• FIFO nets

– each place represents a FIFO queue where the tokensare queued

• Inhibitor arc Petri nets (zero-test PNs)

– an inhibitor arc connects a place to a transition

– the inhibitor arc disables the transition when the placecontains tokens and enables the transition when theplace is empty

• Priority Petri nets

– PN + a partial order relation on the transitions25

Page 26: Introduction Different Classes of Petri Net Petri net

DES

Petri net properties

What can we do with the nets?

What properties and problems can be analyzed?

Properties can be divided into

• structural properties – marking independent

• behavioral properties – marking dependent26

Page 27: Introduction Different Classes of Petri Net Petri net

DES

Reachability

A marking M is reachable from a marking M0 if there existsa sequence of firings that transforms M0 to M. DenotedM0[T1T2 ⋅ ⋅ ⋅ Tn > M .

∗M0 � the set of markings reachable from M0

The Reachability Problem:

• Decide whether a given marking M ∈∗ M0 or not.

• Decidable but takes at least exponential space and time27

Page 28: Introduction Different Classes of Petri Net Petri net

DESProperties

Boundedness:

• A place pi is bounded for an initial marking M0 if for allmarkings reachable from M0, m(pi) ≤ k (positive integer)– pi is k-bounded.

• A net is bounded for an initial marking M0 if all places arebounded for M0 (similarly for k-bounded)

• A net is safe iff it is 1-bounded

• An unmarked net is structurally bounded if the marked PNis bounded for all possible M0

Boundedness and safeness are important if the places modelbuffers, inventories, etc.

28

Page 29: Introduction Different Classes of Petri Net Petri net

DES Properties

Liveness:

• A transition ti is live for an initial marking M0 if for everyreachable marking Mi ∈∗ M0, a firing sequence S from Mi

exists, which contains transition ti.

• A PN is live for M0 if all its transitions are live for M0.

• Interpretation: No matter what marking has been reachedfrom M0, it is possible to ultimately fire any transition ofthe net.

• A transition t is quasi-live for M0 if there is a firing se-quence from M0 that contains t.

• A PN is quasi-live for M0 if all its transitions are quasi-live.

• A deadlock is a marking such that no transition is enabled.

• A PN is deadlock-free for M0 if no reachable marking is adeadlock.

29

Page 30: Introduction Different Classes of Petri Net Petri net

DESProperties

Reversibility:

• In a reversible net one can always get back to the initialmarking.

Persistence:

• In a persistent net a transition, once it has been enabled,will stay enabled until it fires.

30

Page 31: Introduction Different Classes of Petri Net Petri net

DES Invariants

Let R be a PN and P the set of places. A marking invariantis obtained if there is a subset P′ � {p1, ⋅ ⋅ ⋅ , pr} of P anda weighting vector [q1, ⋅ ⋅ ⋅ , qr] for which all the weights arepositive integers such that

q1m(p1) + q2m(p2) + ⋅ ⋅ ⋅+ qrm(pr) � constant

for every M reachable from M0.

P′ is called a conservative component

The conservative component property is structural

The value of the constant depends on the marking

Physical meaning:

• the system is in one and only one state at a time

• a number of entities is maintained31

Page 32: Introduction Different Classes of Petri Net Petri net

DESInvariants

A firing sequence that causes a return to the initial marking iscalled repetitive sequence.

M0[T1T2T3 > M0

The set of transitions involved in the firing sequence is called arepetitive component.

A repetitive sequence containing all the transitions is a com-plete repetitive sequence.

32

Page 33: Introduction Different Classes of Petri Net Petri net

DES

Analysis Methods

How determine if a PN has a certain property?

Three types of methods:

• reachability (coverability) methods

• linear algebra methods

• reduction methods33

Page 34: Introduction Different Classes of Petri Net Petri net

DESReachability tree

Create a tree where the nodes represent the reachable mark-ings and the arcs represent the transition firings.

Stop the expansion of a node in the tree if the node alreadycontained in the tree.

Only for bounded nets.

Properties are determined by examining the tree.

Exhaustive method, state space explosion.

34

Page 35: Introduction Different Classes of Petri Net Petri net

DES P1

P2P3

P4

P5 P6

T1

T2 T3

T4 T5

(1 0 0 0 0 0)

(0 1 1 1 0 0)

(0 0 0 1 1 0) (0 1 0 0 0 1)

(1 0 0 0 0 0) (1 0 0 0 0 0)

T1

T2 T3

T4 T5

35

Page 36: Introduction Different Classes of Petri Net Petri net

DESReachability Graph

Fold all nodes with the same marking in the reachability tree

(1 0 0 0 0 0)

(0 1 1 1 0 0)

(0 0 0 1 1 0) (0 1 0 0 0 1)

T1

T2 T3T4 T5

The finite state automaton equivalent of the Petri net.

It is possible to define the language generated by a Petri net.36

Page 37: Introduction Different Classes of Petri Net Petri net

DES Coverability trees

Unbounded PNs

Introduce a special symbol ω that corresponds to infinitelymany tokens.

P1

P2P3

T1

T2

T3

(1 0 0)

(0 1 1)

(0 0 0)(1 0 w )

(0 1 w )

(0 0 w )(1 0 w )

T1

T2T3

T1

T2T3

37

Page 38: Introduction Different Classes of Petri Net Petri net

DES Coverability trees

Unbounded PNs

Introduce a special symbol ω that corresponds to infinitelymany tokens.

P1

P2P3

T1

T2

T3

(1 0 0)

(0 1 1)

(0 0 0)(1 0 w )

(0 1 w )

(0 0 w )(1 0 w )

T1

T2T3

T1

T2T3

38

Page 39: Introduction Different Classes of Petri Net Petri net

DES Coverability trees

Unbounded PNs

Introduce a special symbol ω that corresponds to infinitelymany tokens.

P1

P2P3

T1

T2

T3

(1 0 0)

(0 1 1)

(0 0 0)(1 0 w )

(0 1 w )

(0 0 w )(1 0 w )

T1

T2T3

T1

T2T3

39

Page 40: Introduction Different Classes of Petri Net Petri net

DES Coverability trees

Unbounded PNs

Introduce a special symbol ω that corresponds to infinitelymany tokens.

P1

P2P3

T1

T2

T3

(1 0 0)

(0 1 1)

(0 0 0)(1 0 w )

(0 1 w )

(0 0 w )(1 0 w )

T1

T2T3

T1

T2T3

40

Page 41: Introduction Different Classes of Petri Net Petri net

DES Coverability trees

Unbounded PNs

Introduce a special symbol ω that corresponds to infinitelymany tokens.

P1

P2P3

T1

T2

T3

(1 0 0)

(0 1 1)

(0 0 0)(1 0 w )

(0 1 w )

(0 0 w )(1 0 w )

T1

T2T3

T1

T2T3

41

Page 42: Introduction Different Classes of Petri Net Petri net

DES Linear Algebra

P1 P2

P3 P4

T1T2 T3

Incidence matrix:

W �

T1 T2 T3−1 1 0

−1 0 1

1 −1 0

1 0 −1

P1

P2

P3

p4

Firing sequence: S1 � T1T2T3T1T3

Characteristic vector: S1 � [2 1 2]TFundamental equation:

Mi � M0 +W S1 42

Page 43: Introduction Different Classes of Petri Net Petri net

DES Linear Algebra

P1

P2 P3

P4 P5

T1

T2 T3

T4

P1

P2 P3

P4 P5

T1

T2 T3

T4

T3T4T1T3

Mi � M0 +W S

0

0

1

1

0

+−1 0 0 1

1 −1 0 0

1 0 −1 0

0 1 0 −1

0 0 1 −1

1

0

2

1

0

0

1

1

0

+

0

1

−1

−1

1

0

1

0

0

1

43

Page 44: Introduction Different Classes of Petri Net Petri net

DES

Characteristic vectors can be composed through summation

S � T1

S′ � T2T3T4T1

SS′ � T1T2T3T4T1

SS′ � S + S′

S is a possible characteristic vector if at least one firingsequence S corresponds to it.

S � (1 1 0 1)T is not a possible characteristic vector

Several firing sequences may correspond to the same char-acteristic vector, e.g. T1T2T3 and T1T2T2 both correspond toS � (1 1 1 0)T

44

Page 45: Introduction Different Classes of Petri Net Petri net

DESP-invariants

Let F be a weighting vector for places (column vector)

Let P(F) be the subset of P whose coefficients in F arenonzero.

Then:

• P(F) is a conservative component iff a weighting vector Fexists such that FT W � 0

FT Mi � FT M0 + FT W S

• The vector F is a P-invariant

• FT Mi is a marking invariant45

Page 46: Introduction Different Classes of Petri Net Petri net

DES

T-invariants

Consider the characteristic vector S associated with thefiring sequence S. T(S) is the support of S, i.e., the set oftransitions appearing in S

A set D of transitions is a repetitive component iff a firingsequence S exists such that T(S) � D and W S � 0

The vector S is a T-invariant46

Page 47: Introduction Different Classes of Petri Net Petri net

DES

P- and T-invariants

Only nonnegative P-invariants and T-invariants are considered(P-semi-flows and T-semi-flows).

Minimal conservative components exist from which the othercan be constructed by composition.

Algorithms exists for determining the minimal sets (e.f. Farkasalgorithm).

Maple or Matlab47

Page 48: Introduction Different Classes of Petri Net Petri net

DES Example

P1

P2 P3

P4 P5

T1

T2 T3

T4

P1

P2 P3

P4 P5

T1

T2 T3

T4

Unmarked Net Marked Net

W �

−1 0 0 1

1 −1 0 0

1 0 −1 0

0 1 0 −1

0 0 1 −1

48

Page 49: Introduction Different Classes of Petri Net Petri net

DESP-invariants (structural property):

F � (1, 1, 0, 1, 0)G � (1, 0, 1, 0, 1)

F + G � (2, 1, 1, 1, 1)

Conservative components (structural property):

P(F) � {P1, P2, P4}P(G) � {P1, P3, P5}

P(F + G) � {P1, P2, P3, P4, P5}

Marking invariants (marking dependent):

m1 +m2 +m4 � 1

m1 +m3 +m5 � 1

2m1 +m2 +m3 +m4 +m5 � 249

Page 50: Introduction Different Classes of Petri Net Petri net

DES

T-invariants (structural property):

S � (1, 1, 1, 1)

Repetitive sequences (marking dependent):

S1 � T1T2T3T4

S2 � T1T3T2T4

50

Page 51: Introduction Different Classes of Petri Net Petri net

DESReduction Methods

Idea: transform the net into a simpler net that preservesthe properties of interest by successively applying a set ofreduction rules.

Different reduction rules preserve different properties

• boundedness and liveness

• invariants

Semi-automatic method51

Page 52: Introduction Different Classes of Petri Net Petri net

DES Hierarchical Petri nets

Substitution placesSubnet

Substitution transitionsSubnet

52

Page 53: Introduction Different Classes of Petri Net Petri net

DESModeling Power

Petri NetsFinite state automata

Bounded Petri nets

Turingmachines

ExtendedPetri nets

53

Page 54: Introduction Different Classes of Petri Net Petri net

DESNonautonomous PNs

Petri Nets can be divided into:

• autonomous PNs

– logical model

– time is not involved

– answers the question: HOW

• nonautonomous PNs

– transition firing synchronized and/or timed

– timed models

– answers the question: WHEN54

Page 55: Introduction Different Classes of Petri Net Petri net

DES Nonautonomous PNs

• Synchronized Petri Nets

– events associated with transitions

• Timed Petri Nets

– time delays associated with places or transitions

• Interpreted Petri Nets

– Synchronized and timed PN +– data processing part for computation of variables

(actions) and transition conditions– very similar to Grafcet

• Controlled Petri Nets

– transitions can be enabled and disabled by specialcontrol places

– Supervisory Control Theory for PN 55

Page 56: Introduction Different Classes of Petri Net Petri net

DESProjects

• Evaluate the analysis possibilities of one of the Petri nettools available in the public-domain. Develop a simplemodel and see what type of analysis that can be per-formed. Restrict yourself to standard (noncoloured Petrinets) – Lotta??

• Evaluate Design/CPN, one of the more widely spread toolsfor coloured Petri nets. Focus on modeling and simulation.

56