46
© Chair and Institute of Industrial Engineering and Ergonomics, RWTH Aachen University Simulation of Discrete Event Systems Prof. Dr.-Ing. Dipl.-Wirt.-Ing. Sven Tackenberg Chair and Institute of Industrial Engineering and Ergonomics RWTH Aachen University Bergdriesch 27 52062 Aachen phone: 0241 80 99 440 email: [email protected] Unit 4 Petri Nets (II): Analysis of Net Models Fall Winter 2017/2018

Simulation of Discrete Event Systems of Discrete Event Systems Prof. Dr.-Ing. Dipl.-Wirt.-Ing. Sven Tackenberg Chair and Institute of Industrial Engineering and Ergonomics RWTH Aachen

Embed Size (px)

Citation preview

Page 1: Simulation of Discrete Event Systems of Discrete Event Systems Prof. Dr.-Ing. Dipl.-Wirt.-Ing. Sven Tackenberg Chair and Institute of Industrial Engineering and Ergonomics RWTH Aachen

© Chair and Institute of Industrial Engineering and Ergonomics, RWTH Aachen University

Simulation of Discrete Event Systems

Prof. Dr.-Ing. Dipl.-Wirt.-Ing. Sven Tackenberg

Chair and Institute of Industrial Engineering and Ergonomics

RWTH Aachen University

Bergdriesch 27

52062 Aachen

phone: 0241 80 99 440

email: [email protected]

Unit 4

Petri Nets (II): Analysis of Net Models

Fall Winter 2017/2018

Page 2: Simulation of Discrete Event Systems of Discrete Event Systems Prof. Dr.-Ing. Dipl.-Wirt.-Ing. Sven Tackenberg Chair and Institute of Industrial Engineering and Ergonomics RWTH Aachen

5 - 2© Chair and Institute of Industrial Engineering and Ergonomics, RWTH Aachen University

1. Problem classification in net analysis

2. Coverability tree

- Definition

- Construction algorithm

- Application of tree models

- Limited expressiveness

3. Linear-algebraic techniques

Contents

Page 3: Simulation of Discrete Event Systems of Discrete Event Systems Prof. Dr.-Ing. Dipl.-Wirt.-Ing. Sven Tackenberg Chair and Institute of Industrial Engineering and Ergonomics RWTH Aachen

5 - 3© Chair and Institute of Industrial Engineering and Ergonomics, RWTH Aachen University

model

dynamicstatic

time-invarianttime-varying

nonlinearlinear

discrete statescontinuous states

event-driventime-driven

stochasticdeterministic

continuous-timediscrete-time

Focus of lecture and exercise

Focus of lecture and exercise

Page 4: Simulation of Discrete Event Systems of Discrete Event Systems Prof. Dr.-Ing. Dipl.-Wirt.-Ing. Sven Tackenberg Chair and Institute of Industrial Engineering and Ergonomics RWTH Aachen

5 - 4© Chair and Institute of Industrial Engineering and Ergonomics, RWTH Aachen University

1. Problem Classification in Net Analysis

1. Problem Classification in Net Analysis

Page 5: Simulation of Discrete Event Systems of Discrete Event Systems Prof. Dr.-Ing. Dipl.-Wirt.-Ing. Sven Tackenberg Chair and Institute of Industrial Engineering and Ergonomics RWTH Aachen

5 - 5© Chair and Institute of Industrial Engineering and Ergonomics, RWTH Aachen University

Problem classification when modeling DES

with Petri nets

Stock

Transport to

intermediate buffer

Material

provision

Delivery to

machine

Intermediate

buffer

Parts are in

production

Production

We want to model and simulate a discrete event system which represents a computer-

integrated manufacturing plant with a Petri net.

Shared or limited resources by concurrent production processes has to be planned and

coordinated

Initial model of a manufacturing plant

With the help of discrete event system modeling and simulation there are six

fundamental questions which needs to be answered

Page 6: Simulation of Discrete Event Systems of Discrete Event Systems Prof. Dr.-Ing. Dipl.-Wirt.-Ing. Sven Tackenberg Chair and Institute of Industrial Engineering and Ergonomics RWTH Aachen

5 - 6© Chair and Institute of Industrial Engineering and Ergonomics, RWTH Aachen University

Problem classification when modeling DES

with Petri nets

Stock

Transport to

intermediate buffer

Material

provision

Delivery to

machine

Intermediate

buffer

Parts are in

production

Production

Initial model of a manufacturing plant

1. Is the “consumption” of resources in the plant bounded or grows over given limits?

system bounded

2. Can the system with its queues and buffers be operated safely or do blocking states occur?

system safety and blocking

3. Is the functional design of plant behavior efficient or “over-engineered”?

state coverability

4. Can resources “dry out” or be generated unintentionally?

resource conservation

5. Is the system always reactive to changes in the demand?

system liveness

6. Can the system be operated persistently or do severe interrupts occur?

system persistence

Page 7: Simulation of Discrete Event Systems of Discrete Event Systems Prof. Dr.-Ing. Dipl.-Wirt.-Ing. Sven Tackenberg Chair and Institute of Industrial Engineering and Ergonomics RWTH Aachen

5 - 7© Chair and Institute of Industrial Engineering and Ergonomics, RWTH Aachen University

1. Bounded

Boundedness refers to the property of a place to maintain a number of tokens

that never exceeds a given positive integer.

Machine

„Drilling“

Work

piece

Tokens represent material workers etc. in a resource sharing system

Tokens in place Q represent work pieces entering a queue

Delivery to

machineIntermediate

buffer (Q)

Parts are in

production

Production If the queue grows to infinity, it means

that parts wait forever to be processed

Classical system theory: A state variable

that is allowed to grow to infinity is

an indicator of instability in the system.

Example of BoundednessWorker

Page 8: Simulation of Discrete Event Systems of Discrete Event Systems Prof. Dr.-Ing. Dipl.-Wirt.-Ing. Sven Tackenberg Chair and Institute of Industrial Engineering and Ergonomics RWTH Aachen

5 - 8© Chair and Institute of Industrial Engineering and Ergonomics, RWTH Aachen University

1. Bounded

Delivery to

machineIntermediate

buffer (Q)

Parts are in

production

Production

1. Def.: A place pi P of a marked Petri net MPN with the initial state x0 is k-bounded or

k-safe, if the following condition holds:

x(pi) <= k for all x R(MPN)

Tokens in place Number of tokens

that never exceeds

Not bounded since the number of tokens in

place Q can become arbitrarily large.

Simplest case: 1-bounded place “safe place”.

Larger values of k: k-bounded place “limited place” od “bounded” place.

If all places in a Petri net are bounded, then the net is called bounded

Bounded Petri nets can be transformed into finite-state automata and

be analyzed with the help of purely algebraic techniques

Worker

Page 9: Simulation of Discrete Event Systems of Discrete Event Systems Prof. Dr.-Ing. Dipl.-Wirt.-Ing. Sven Tackenberg Chair and Institute of Industrial Engineering and Ergonomics RWTH Aachen

5 - 9© Chair and Institute of Industrial Engineering and Ergonomics, RWTH Aachen University

Two types of blocking

Deadlock:

Starting from the initial state x0 - a net

state is reached, which leaves all local

state transition functions in the net

undefined.

Livelock:

2. Blocking

p1

p2

t1

p3

p4

t2

t3

t3 fires

Page 10: Simulation of Discrete Event Systems of Discrete Event Systems Prof. Dr.-Ing. Dipl.-Wirt.-Ing. Sven Tackenberg Chair and Institute of Industrial Engineering and Ergonomics RWTH Aachen

5 - 10© Chair and Institute of Industrial Engineering and Ergonomics, RWTH Aachen University

Livelock:

Starting from the initial state x0 a

livelock occurs, if tokens are generated

and consumed only in a small subset of the

set of places and no transition firing

sequence exists to leave this partial

coverage.

2. Blocking

Two types of blocking

Deadlock

p1

p2t1

p3

t2

t3t4

t1 fires

Page 11: Simulation of Discrete Event Systems of Discrete Event Systems Prof. Dr.-Ing. Dipl.-Wirt.-Ing. Sven Tackenberg Chair and Institute of Industrial Engineering and Ergonomics RWTH Aachen

5 - 11© Chair and Institute of Industrial Engineering and Ergonomics, RWTH Aachen University

3. State coverability

State coverability is a generalization of the concept of state reachability and

related to the concept of eventually being able to fire a particular transition.

State y = [y(p1), y(p2), . . . , y(pn)] includes in each place the minimum number of tokens to

enable the transition tj.

Enabling a transition: A certain number of tokens in some places is required.

It is supposed:

Is it possible to enable the transition tj from the initial state?

To be investigated:

Procedure:

Page 12: Simulation of Discrete Event Systems of Discrete Event Systems Prof. Dr.-Ing. Dipl.-Wirt.-Ing. Sven Tackenberg Chair and Institute of Industrial Engineering and Ergonomics RWTH Aachen

5 - 12© Chair and Institute of Industrial Engineering and Ergonomics, RWTH Aachen University

3. State coverability

2. Def.: Given Petri net N with initial state x0, state y is said to be coverable if there exists

x ∈ R(N) such that x(pi) ≥ y(pi) for all i = 1, . . . , n.

Delivery to

machineIntermediate

buffer (Q)

Parts are in

production

Production Delivery to

machineIntermediate

buffer (Q)

Parts are in

production

Production

State y = [1, 1, 0]

p1 p2

p3

t1

For transition t1:

State x = [4, 1, 0]

Worker Worker

[1, 1, 0] <= [4, 1, 0] is coverable

Initial state xo = [1, 0, 0]

Page 13: Simulation of Discrete Event Systems of Discrete Event Systems Prof. Dr.-Ing. Dipl.-Wirt.-Ing. Sven Tackenberg Chair and Institute of Industrial Engineering and Ergonomics RWTH Aachen

5 - 13© Chair and Institute of Industrial Engineering and Ergonomics, RWTH Aachen University

4. Conservation

Conservation is a property of Petri nets to maintain a fixed number of tokens for

all states reached in a sample path.

Example: A Token which represents a resource used in a resource sharing system to process an activity

Delivery to

machine

Intermediate

buffer (Q)

Material in

production

p1

p2

p3

t1

Worker

p3

Worker is busy

Production

is finished

Delivery to

machine

Intermediate

buffer (Q)

Material in

production

p2

t1

Worker 1

p3

Workers are

busy

Production

is finished

Worker 2

Idle

Tokens representing the workers and the

material are not exactly conserved all the time

Tokens representing the material and the worker

are exactly conserved all the time

Page 14: Simulation of Discrete Event Systems of Discrete Event Systems Prof. Dr.-Ing. Dipl.-Wirt.-Ing. Sven Tackenberg Chair and Institute of Industrial Engineering and Ergonomics RWTH Aachen

5 - 14© Chair and Institute of Industrial Engineering and Ergonomics, RWTH Aachen University

4. Conservation

To describe conservation a weighting vector γ = [γ1, γ2, . . . , γn], with γi ≥ 0 for

all i = 1, . . . , n, corresponding to places p1, p2, . . . , pn is used. The vector

defines conservation relative to these weights

Note: The weighting factor does not represent the arc weights of the Petri net.

3. Def.: A marked Petri net with the initial state x0 is considered as conservative with

regard to the place-oriented weighting vector γ = [γ1, γ2, . . . , γn], if for all

reachable states x R(MPN) the following condition holds:

Logical equivalent to a mass conservation law with regard to the tokens in the net places

A Petri net model of a manufacturing system is conservative,

no resources such as workpieces are generated or “dry out” unintendedly

Page 15: Simulation of Discrete Event Systems of Discrete Event Systems Prof. Dr.-Ing. Dipl.-Wirt.-Ing. Sven Tackenberg Chair and Institute of Industrial Engineering and Ergonomics RWTH Aachen

5 - 15© Chair and Institute of Industrial Engineering and Ergonomics, RWTH Aachen University

5. Liveness

Due to this very stringent condition, a further classification of liveness with four levels is

introduced.

Liveness describes which transitions of a Petri net being able to eventually fire.

4. Def.: A Petri net N with initial state x0 is said to be live if there always exists some

sample path such that any transition can eventually fire from any state reached from x0.

L0-live or “dead”: The transition can never be enabled with respect to x0

L1-live: If there is some firing sequence from x0 such that the transition can fire

at least once;

L2-live: If the transition can fire at least k times for some given positive integer k

L3-live: If there exists some infinite firing sequence in which the transition appears

infinitely often

L4-live: If the transition is L1-live for every possible state reached from x0.

Page 16: Simulation of Discrete Event Systems of Discrete Event Systems Prof. Dr.-Ing. Dipl.-Wirt.-Ing. Sven Tackenberg Chair and Institute of Industrial Engineering and Ergonomics RWTH Aachen

5 - 16© Chair and Institute of Industrial Engineering and Ergonomics, RWTH Aachen University

Transition t3 is L3-live,

since it is possible for it to

fire infinitely often but not

L4-live, because it is

blocked, if t1 is activated

Example of liveness

p1p2

t1

x0 = [1, 0]

t2

t3

Transition 1 is L1-live since it can fire,

but only once. After firing all transitions

become dead in the new state

Transition 2 is L0-live because t2 can only fire

if a token is in p1 and p2 (can never happen)

The concept of coverability is closely related to that of L0 and L1 liveliness.

Page 17: Simulation of Discrete Event Systems of Discrete Event Systems Prof. Dr.-Ing. Dipl.-Wirt.-Ing. Sven Tackenberg Chair and Institute of Industrial Engineering and Ergonomics RWTH Aachen

5 - 17© Chair and Institute of Industrial Engineering and Ergonomics, RWTH Aachen University

6. Persistence

Persistence is the property of a Petri net not to disable any enabled transition

because of the firing of another enabled transition.

Example: Two different transitions are enabled by the same set of conditions.

If one fires, does the other one remain enabled because they have at least one condition in common?

p1p2

t1

x0 = [1, 0]

t2

t3

Both t1 and t3 are enabled

If t1 occurs, then t3 is no longer enabled

Petri net is

not persistent

Page 18: Simulation of Discrete Event Systems of Discrete Event Systems Prof. Dr.-Ing. Dipl.-Wirt.-Ing. Sven Tackenberg Chair and Institute of Industrial Engineering and Ergonomics RWTH Aachen

5 - 18© Chair and Institute of Industrial Engineering and Ergonomics, RWTH Aachen University

6. Persistence

Petri net modelled queueing systems are persistent.

Persistence criterion is equivalent to a process which cannot be interrupted

5. Def.: A marked Petri net with the initial state x0 is said to be persistent, if for any pair of

enabled transitions the firing of one transition cannot disable the other one.

p1

p2t1

x0 = [1, 0] t2

Interrupting of a process

p3

[…]

[…]

[…]

Page 19: Simulation of Discrete Event Systems of Discrete Event Systems Prof. Dr.-Ing. Dipl.-Wirt.-Ing. Sven Tackenberg Chair and Institute of Industrial Engineering and Ergonomics RWTH Aachen

5 - 19© Chair and Institute of Industrial Engineering and Ergonomics, RWTH Aachen University

6. Persistence

Petri net modelled queueing systems are persistent.

Persistence criterion is equivalent to a process which cannot be interrupted

4. Def.: A marked Petri net with the initial state x0 is said to be persistent, if for any pair of

enabled transitions the firing of one transition cannot disable the other one.

p1

p2t1

x0 = [1, 0] t2

Interrupting of a process

p3

[…]

[…]

[…]

Page 20: Simulation of Discrete Event Systems of Discrete Event Systems Prof. Dr.-Ing. Dipl.-Wirt.-Ing. Sven Tackenberg Chair and Institute of Industrial Engineering and Ergonomics RWTH Aachen

5 - 20© Chair and Institute of Industrial Engineering and Ergonomics, RWTH Aachen University

2. Coverability Tree

2. Coverability Tree

Page 21: Simulation of Discrete Event Systems of Discrete Event Systems Prof. Dr.-Ing. Dipl.-Wirt.-Ing. Sven Tackenberg Chair and Institute of Industrial Engineering and Ergonomics RWTH Aachen

5 - 21© Chair and Institute of Industrial Engineering and Ergonomics, RWTH Aachen University

Definition of a coverability tree

Hierarchical tree graph with directed arcs

Nodes of the tree represent (generalized) net states

Arcs represent the transitions between states

Root node encodes the initial net state x0 .

Example of a Petri net:

CT(MPN1)

t1 t2

MPN1

p1

p2

p3

[x(p1), x(p2), x(p3)]

Example of a finite coverability tree:

State of the Petri net

5. Def.: A coverability tree (CT) of a marked Petri net represents the states of the net

which can be covered with valid sequences of transition firing.

Page 22: Simulation of Discrete Event Systems of Discrete Event Systems Prof. Dr.-Ing. Dipl.-Wirt.-Ing. Sven Tackenberg Chair and Institute of Industrial Engineering and Ergonomics RWTH Aachen

5 - 22© Chair and Institute of Industrial Engineering and Ergonomics, RWTH Aachen University

Definition of a coverability tree

Example of a Petri net:

CT(MPN1)

[1, 1, 0]t1 t2 Root node

MPN1

p1

p2

p3

[x(p1), x(p2), x(p3)]

Example of a finite coverability tree:

State of the Petri net

5. Def.: A coverability tree (CT) of a marked Petri net represents the states of the net

which can be covered with valid sequences of transition firing.

Hierarchical tree graph with directed arcs

Nodes of the tree represent (generalized) net states

Arcs represent the transitions between states

Root node encodes the initial net state x0 .

Page 23: Simulation of Discrete Event Systems of Discrete Event Systems Prof. Dr.-Ing. Dipl.-Wirt.-Ing. Sven Tackenberg Chair and Institute of Industrial Engineering and Ergonomics RWTH Aachen

5 - 23© Chair and Institute of Industrial Engineering and Ergonomics, RWTH Aachen University

Definition of a coverability tree

5. Def.: A coverability tree (CT) of a marked Petri net represents the states of the net

which can be covered with valid sequences of transition firing.

Hierarchical tree graph with directed arcs

Nodes of the tree represent (generalized) net states

Arcs represent the transitions between states

Root node encodes the initial net state x0 .

Example of a Petri net:

CT(MPN1)

[1, 1, 0]

[0, 0, 1]

t1 t2

t1

Root node

Leaf node

MPN1

p1

p2

p3

[x(p1), x(p2), x(p3)]

Example of a finite coverability tree:

State of the Petri net

Page 24: Simulation of Discrete Event Systems of Discrete Event Systems Prof. Dr.-Ing. Dipl.-Wirt.-Ing. Sven Tackenberg Chair and Institute of Industrial Engineering and Ergonomics RWTH Aachen

5 - 24© Chair and Institute of Industrial Engineering and Ergonomics, RWTH Aachen University

Definition of a coverability tree

Example of a Petri net:

CT(MPN1)

[1, 1, 0]

[0, 0, 1]

[1, 1, 0]

t1 t2

t1

t2

MPN1

p1

p2

p3

[x(p1), x(p2), x(p3)]

Example of a finite coverability tree:

State of the Petri net

5. Def.: A coverability tree (CT) of a marked Petri net represents the states of the net

which can be covered with valid sequences of transition firing.

Hierarchical tree graph with directed arcs

Nodes of the tree represent (generalized) net states

Arcs represent the transitions between states

Root node encodes the initial net state x0 .

Page 25: Simulation of Discrete Event Systems of Discrete Event Systems Prof. Dr.-Ing. Dipl.-Wirt.-Ing. Sven Tackenberg Chair and Institute of Industrial Engineering and Ergonomics RWTH Aachen

5 - 25© Chair and Institute of Industrial Engineering and Ergonomics, RWTH Aachen University

Definition of a coverability tree

Example of a Petri net:

CT(MPN1)

[1, 1, 0]

[0, 0, 1]

[1, 1, 0]

t1 t2

t1

t2

Root node

Leaf node

Duplicate node

MPN1

p1

p2

p3

[x(p1), x(p2), x(p3)]

Example of a finite coverability tree:

State of the Petri net

Root node: Represents initial state x0 and is always the top node in the tree

Child nodes: Dominance relationships with respect to their parents

Duplicate nodes: All nodes that are identical with other nodes in the hierarchy

Terminal nodes: End of valid paths through the tree - All nodes, which do not have

leaf nodes

Page 26: Simulation of Discrete Event Systems of Discrete Event Systems Prof. Dr.-Ing. Dipl.-Wirt.-Ing. Sven Tackenberg Chair and Institute of Industrial Engineering and Ergonomics RWTH Aachen

5 - 26© Chair and Institute of Industrial Engineering and Ergonomics, RWTH Aachen University

CT(MPN2)

[1, 0, 0, 0]

MPN2

t1

t2

t3

p1

p2

p3 p4

Example of an infinite coverability tree

Root node

Page 27: Simulation of Discrete Event Systems of Discrete Event Systems Prof. Dr.-Ing. Dipl.-Wirt.-Ing. Sven Tackenberg Chair and Institute of Industrial Engineering and Ergonomics RWTH Aachen

5 - 27© Chair and Institute of Industrial Engineering and Ergonomics, RWTH Aachen University

CT(MPN2)

[1, 0, 0, 0]

[0, 1, 1, 0]

t1

MPN2

t1

t2

t3

p1

p2

p3 p4

Example of an infinite coverability tree

Page 28: Simulation of Discrete Event Systems of Discrete Event Systems Prof. Dr.-Ing. Dipl.-Wirt.-Ing. Sven Tackenberg Chair and Institute of Industrial Engineering and Ergonomics RWTH Aachen

5 - 28© Chair and Institute of Industrial Engineering and Ergonomics, RWTH Aachen University

CT(MPN2)

[1, 0, 0, 0]

[0, 1, 1, 0]

[1, 0, 1, 0]

t1

t2

MPN2

t1

t2

t3

p1

p2

p3 p4

. .

.

Example of an infinite coverability tree

Variant 1

Page 29: Simulation of Discrete Event Systems of Discrete Event Systems Prof. Dr.-Ing. Dipl.-Wirt.-Ing. Sven Tackenberg Chair and Institute of Industrial Engineering and Ergonomics RWTH Aachen

5 - 29© Chair and Institute of Industrial Engineering and Ergonomics, RWTH Aachen University

CT(MPN2)

[1, 0, 0, 0]

[0, 1, 1, 0]

[1, 0, 1, 0]

t1

t2

MPN2

t1

t2

t3

[0, 0, 1, 1]

t3

Terminal

node

p1

p2

p3 p4

. .

.

Example of an infinite coverability tree

Variant 2

Page 30: Simulation of Discrete Event Systems of Discrete Event Systems Prof. Dr.-Ing. Dipl.-Wirt.-Ing. Sven Tackenberg Chair and Institute of Industrial Engineering and Ergonomics RWTH Aachen

5 - 30© Chair and Institute of Industrial Engineering and Ergonomics, RWTH Aachen University

CT(MPN2)

[1, 0, 0, 0]

[0, 1, 1, 0]

[1, 0, 1, 0]

t1

t2

MPN2

t1

t2

t3

[0, 0, 1, 1]

t3

[0, 1, 2, 0]

t1Terminal

node

p1

p2

p3 p4

. .

.

Example of an infinite coverability tree

Page 31: Simulation of Discrete Event Systems of Discrete Event Systems Prof. Dr.-Ing. Dipl.-Wirt.-Ing. Sven Tackenberg Chair and Institute of Industrial Engineering and Ergonomics RWTH Aachen

5 - 31© Chair and Institute of Industrial Engineering and Ergonomics, RWTH Aachen University

CT(MPN2)

[1, 0, 0, 0]

[0, 1, 1, 0]

[1, 0, 1, 0]

t1

t2

MPN2

t1

t2

t3

[0, 0, 1, 1]

t3

[0, 1, 2, 0]

[1, 0, 2, 0]

t1

t2

[0, 0, 2, 1]

t3

Terminal

node

p1

p2

p3 p4

Example of an infinite coverability tree

Terminal

node

Variant 1

[…]

Page 32: Simulation of Discrete Event Systems of Discrete Event Systems Prof. Dr.-Ing. Dipl.-Wirt.-Ing. Sven Tackenberg Chair and Institute of Industrial Engineering and Ergonomics RWTH Aachen

5 - 32© Chair and Institute of Industrial Engineering and Ergonomics, RWTH Aachen University

CT(MPN2)

[1, 0, 0, 0]

[0, 1, 1, 0]

[1, 0, 1, 0]

t1

t2

MPN2

t1

t2

t3

[0, 0, 1, 1]

t3

[0, 1, 2, 0]

[1, 0, 2, 0]

t1

t2

[0, 0, 2, 1]

t3

Terminal

node

p1

p2

p3 p4

Example of an infinite coverability tree

Terminal

node

Variant 2

[…]

Page 33: Simulation of Discrete Event Systems of Discrete Event Systems Prof. Dr.-Ing. Dipl.-Wirt.-Ing. Sven Tackenberg Chair and Institute of Industrial Engineering and Ergonomics RWTH Aachen

5 - 33© Chair and Institute of Industrial Engineering and Ergonomics, RWTH Aachen University

Dominance: Let x = [x(p1), ..., x(pn)] and y = [y(p1), ..., y(pn)]

be two nodes of a coverability tree:

Node x dominates node y (notation: x >d y), if

Coverability tree: Notation

CT(MPN2)

[1, 0, 0, 0]

[0, 1, 1, 0]

[1, 0, 1, 0]

t1

t2

[0, 0, 1, 1]

t3

[0, 1, 2, 0]

[1, 0, 2, 0]

t1

t2

[0, 0, 2, 1]

t3

Terminal

node

Terminal

node

x(pi) >= y(pi) for all i = 1,...,n

(simple dominance condition)

x(pi) > y(pi) for at least one i = 1,...,n

(strict dominance condition)

[1, 0, 1, 0]

[1, 0, 2, 0]

[0, 0, 1, 0]

[1, 0, 2, 0]

[…]

Page 34: Simulation of Discrete Event Systems of Discrete Event Systems Prof. Dr.-Ing. Dipl.-Wirt.-Ing. Sven Tackenberg Chair and Institute of Industrial Engineering and Ergonomics RWTH Aachen

5 - 34© Chair and Institute of Industrial Engineering and Ergonomics, RWTH Aachen University

ω-symbol: The symbol represents a possibly infinite number of tokens of an unbounded place

Deriving a coverability tree from a Petri net: Notation

CT(MPN2)

[1, 0, 0, 0]

[0, 1, 1, 0]

[1, 0, , 0]

t1

t2

[0, 0, 1, 1]

t3

[0, 1, , 0]

[1, 0, , 0]

t1

t2

[0, 0, , 1]

t3

Terminal

node

Terminal

node

[…]

ω-symbol describes a node dominance

relationship in the coverability tree

if x >d y, then for all i such that x(pi) > y(pi) the

value of x(pi) is replaced by ω.

Adding or subtracting tokens to a ω-place does

not have any effect: ω ± k = ω, k = 0, 1, 2,

[1, 0, 1, 0] >d [1, 0, 0, 0].

[1, 0, 1, 0] Replace by: [1, 0, ω, 0].

Page 35: Simulation of Discrete Event Systems of Discrete Event Systems Prof. Dr.-Ing. Dipl.-Wirt.-Ing. Sven Tackenberg Chair and Institute of Industrial Engineering and Ergonomics RWTH Aachen

5 - 35© Chair and Institute of Industrial Engineering and Ergonomics, RWTH Aachen University

[0, 1, 1, 0]

[1, 0, , 0]

t2

[0, 0, 1, 1]

t3

[0, 1, , 0]

[1, 0, , 0]

t1

t2

[0, 0, , 1]

t3

Terminal

node

Duplicate node,

Terminal node

Terminal node

2.2. Step

2.2.3. Step

2.2. Step

2.2.2. Step

2.2.3. Step

2.2.3. Step

2.1. Step

2.2. Step

2.2.1. Step

2.2.3 Step

2.2. Step

2.2.1. Step

2.2.3 Step

2.2. Step

2.2.1. Step

2.2.3 Step

Example of a stepwise constructed finite

coverability tree

[1, 0, 0, 0] 1. Step

t1

1. Step: Initialize the root node of the tree with x = x0 .

2. Step: For each new node x, evaluate the transition

function f(x, tj) for all tj T as follows:

2.1. Step: If f(x, tj) is undefined for all tj T, then mark

node x as a terminal node.

2.2. Step: If f(x, tj) is defined for at least one tj T, then

create a new node x´ = f(x, tj). If necessary,

adjust the marking of node x´ as follows:

2.2.1. Step: If f(x, tj) = for a pi , define x´(pi) = .

2.2.2. Step: If a node y exists in the path from the

root node x0 to x such that x´ >d y,

set x´(pi) = for all pi such that x´(pi) > y(pi)

2.2.3. Step: Otherwise, set x´(pi) = f(x, tj).

If node x´ is identical to a node in the

path from x0 to x, then mark x´ as a

duplicate node

3. Step: If all new nodes are either terminal

nodes or duplicate nodes, stop tree

construction.

Page 36: Simulation of Discrete Event Systems of Discrete Event Systems Prof. Dr.-Ing. Dipl.-Wirt.-Ing. Sven Tackenberg Chair and Institute of Industrial Engineering and Ergonomics RWTH Aachen

5 - 36© Chair and Institute of Industrial Engineering and Ergonomics, RWTH Aachen University

1. Boundedness:

Necessary and sufficient condition for the boundness of a Petri net is that the -symbol does not

occur in its coverability tree. The -symbol represents a place that can overflow and therefore

the net cannot be bounded.

Furthermore, if the -symbol does not occur in the coverability tree, the associated state space of

the modeled discrete-event system is finite and the system behavior can be simulated with the

help of finite state automata (lecture 2). In this case the coverability tree is also said to be a

reachability tree, because it contains only states that can be reached through a finite number of

system transitions.

2. Safety and Blocking

A Petri net is blocked, if there are terminal nodes in the coverability tree, which do not contain the

-symbol and are not duplicate nodes.

Conversely, a Petri net has a livelock, if the -symbol is included in a terminal node. If a terminal

node contains the -symbol and is also a duplicate node, then the involved places and

transitions in the livelock can be identified easily by “tracing” back the directed arcs to the

corresponding duplicate node.

Application of the coverability tree concerning

the initial problem classification (I)

Page 37: Simulation of Discrete Event Systems of Discrete Event Systems Prof. Dr.-Ing. Dipl.-Wirt.-Ing. Sven Tackenberg Chair and Institute of Industrial Engineering and Ergonomics RWTH Aachen

5 - 37© Chair and Institute of Industrial Engineering and Ergonomics, RWTH Aachen University

3. State Coverability:

The coverability tree directly encodes, which net state y can be covered when starting in a

certain initial state x0 :

If there is a node x in the coverability tree, which dominates y and we have x >d y

(that is it holds that x(pi) >= y(pi) for all i = 1,...,n and x(pi) > y(pi) for at least one i = 1,...,n),

then y can be covered.

If the net state x contains the -symbol at least once and x dominates y, there is a loop between

y and x. Depending on the particular values of y(pi), i = 1…n, that need to be covered, we can

determine the number of loops involved in this path until y is covered.

Application of the coverability tree concerning

the initial problem classification (II)

Page 38: Simulation of Discrete Event Systems of Discrete Event Systems Prof. Dr.-Ing. Dipl.-Wirt.-Ing. Sven Tackenberg Chair and Institute of Industrial Engineering and Ergonomics RWTH Aachen

5 - 38© Chair and Institute of Industrial Engineering and Ergonomics, RWTH Aachen University

4. Conservation

We consider a certain weigh vector c = [c1, c2,..., cn] with non-negative components. We need to

observe that if x(pi) = ω for some pi, then we must have ci = 0, if the corresponding Petri net is to

be conservative. This is because ω represents a place that can overflow.

Conversely, we can pose the following problem: Given a Petri net, does there a weight vector c

exist such that the conservation condition is satisfied?

To solve this problem, we set ci = 0 for all unbounded places pi.

Next, suppose there are b <= n bounded places and let the coverability tree consist of r nodes,

Furthermore, let the value of the constant sum in the conservation condition be C. We then have

a set of r equations of the form

for each state x in the coverability tree

with (b+1) unknowns, namely, the b positive weights for the bounded places and the constant C.

Thus, the conservation problem reduces to a standard algebraic problem for solving this system of

linear equations. If one or more solutions exist, it is possible to determine them with well-known

techniques.

1

( )b

i i

i

c x p C

Application of the coverability tree concerning the

initial problem classification (III)

Page 39: Simulation of Discrete Event Systems of Discrete Event Systems Prof. Dr.-Ing. Dipl.-Wirt.-Ing. Sven Tackenberg Chair and Institute of Industrial Engineering and Ergonomics RWTH Aachen

5 - 39© Chair and Institute of Industrial Engineering and Ergonomics, RWTH Aachen University

1. Proposition: From a coverability tree a marked Petri net cannot be reconstructed unambiguously,

if the -symbol occurs in the tree.

Example:

Petri net reconstruction from a coverability tree

[1, 0, 0]

[0, 1, 0]

[1, 0, ]

t1

t2

[0, 1, ]

t1

[1, 0, ]

t2

Places: 3

p1

p2

p3

t1

t2

Example:

[0, 1, 0]

[1, 0, ]

t1

t2

[0, 1, ]

t1

[1, 0, ]

t2

t1

t2

[1, 0, 0]

p3

p1

p2

Page 40: Simulation of Discrete Event Systems of Discrete Event Systems Prof. Dr.-Ing. Dipl.-Wirt.-Ing. Sven Tackenberg Chair and Institute of Industrial Engineering and Ergonomics RWTH Aachen

5 - 40© Chair and Institute of Industrial Engineering and Ergonomics, RWTH Aachen University

3. Linear-Algebraic Techniques

3. Linear-Algebraic Techniques

Page 41: Simulation of Discrete Event Systems of Discrete Event Systems Prof. Dr.-Ing. Dipl.-Wirt.-Ing. Sven Tackenberg Chair and Institute of Industrial Engineering and Ergonomics RWTH Aachen

5 - 41© Chair and Institute of Industrial Engineering and Ergonomics, RWTH Aachen University

Analysis of the state equation (I): Reachability

Linear-algebraic techniques can be used to analyze the state equation and to

investigate the reachability of a system state

State equation:

x = f(x, t) = x + vA Next state:

Current stateEffects of a transition

firing at time k

v is the activation vector encoding with the “1” symbol at the adequate vector component

when the transition is firing at a time.

A is the incidence matrix with the elements: aij = (ti, pj) - (pj, ti)

Proposition: A marked Petri net with an incidence matrix A and an initial state x0 is given:

A net state x of interest is not reachable if an “activation vector” v with non-negative

integer components does not exist which solves the equation (sufficient condition)

Necessary, but not sufficient condition for the reachability of state x is that there exists a

solution of the state equation and all components of v are non-negative integers.

0x x vA

Page 42: Simulation of Discrete Event Systems of Discrete Event Systems Prof. Dr.-Ing. Dipl.-Wirt.-Ing. Sven Tackenberg Chair and Institute of Industrial Engineering and Ergonomics RWTH Aachen

5 - 42© Chair and Institute of Industrial Engineering and Ergonomics, RWTH Aachen University

Is state x = [0 1 0 0] reachable?

0 1 0 0 0

1 1 1 0

0 1 1 1

1 0 0 1

x

A

Example of analysis of the state equation

t1 t2

t3

p1

p3

p4

p2 Initial statep1 p2 p3 p4

p1 p2 p3 p4

t1

t2

t3

There is no v which solves the equation

x is not reachable

t1 t2 t3

Page 43: Simulation of Discrete Event Systems of Discrete Event Systems Prof. Dr.-Ing. Dipl.-Wirt.-Ing. Sven Tackenberg Chair and Institute of Industrial Engineering and Ergonomics RWTH Aachen

5 - 43© Chair and Institute of Industrial Engineering and Ergonomics, RWTH Aachen University

0 1 0 0 0

1 1 1 0

0 1 1 1

1 0 0 1

x

A

Is state x = [0 0 0 1] reachable?

Vector components are non-negative,

but t1 and t2 cannot fire in the initial state!!!

Example of analysis of the state equation

t1 t2

t3

p1

p3

p4

p2 Initial statep1 p2 p3 p4

p1 p2 p3 p4

t1

t2

t3

There is a v which solves the equation

x is reachable :

Page 44: Simulation of Discrete Event Systems of Discrete Event Systems Prof. Dr.-Ing. Dipl.-Wirt.-Ing. Sven Tackenberg Chair and Institute of Industrial Engineering and Ergonomics RWTH Aachen

5 - 44© Chair and Institute of Industrial Engineering and Ergonomics, RWTH Aachen University

2. Conservation property:

Proposition: Let A be the incidence matrix of a Petri net. If there exists a weight vector

c = [c1, c2,..., cn], whose entries satisfy ci >= 0 for all i = 1,...,n, and it holds that

then we can write

Since the last identity holds for all states x that are reachable from x0 this means that

the Petri net is conservative for any choice of the initial state x0.

0TAc

0

0

0

T T T

T T

x x vA

xc x c vAc

xc x c

Analysis of the state equation (II): Conservation

,

.

Page 45: Simulation of Discrete Event Systems of Discrete Event Systems Prof. Dr.-Ing. Dipl.-Wirt.-Ing. Sven Tackenberg Chair and Institute of Industrial Engineering and Ergonomics RWTH Aachen

5 - 45© Chair and Institute of Industrial Engineering and Ergonomics, RWTH Aachen University

• CASSANDRAS, C.,G.; LAFORTUNE, S. (2008): Introduction to Discrete Event Systems.

2nd edition. Springer Science+Business Media

• WANG, J. (1998): Timed Petri Nets - Theory and Applications. Boston (MA): Kluwer

Academic Publishers.

• ABEL, D. (1990): Petri-Netze für Ingenieure. Berlin: Springer-Verlag 1990.

Literature

Page 46: Simulation of Discrete Event Systems of Discrete Event Systems Prof. Dr.-Ing. Dipl.-Wirt.-Ing. Sven Tackenberg Chair and Institute of Industrial Engineering and Ergonomics RWTH Aachen

5 - 46© Chair and Institute of Industrial Engineering and Ergonomics, RWTH Aachen University

Open Questions?

Questions?