Upload
truongliem
View
217
Download
2
Embed Size (px)
Citation preview
© 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
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
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
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
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
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
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
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
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
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
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:
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]
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
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
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.
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.
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
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
[…]
[…]
[…]
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
[…]
[…]
[…]
5 - 20© Chair and Institute of Industrial Engineering and Ergonomics, RWTH Aachen University
2. Coverability Tree
2. Coverability Tree
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.
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 .
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
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 .
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
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
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
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
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
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
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
[…]
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
[…]
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]
[…]
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].
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.
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)
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)
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)
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
5 - 40© Chair and Institute of Industrial Engineering and Ergonomics, RWTH Aachen University
3. Linear-Algebraic Techniques
3. Linear-Algebraic Techniques
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
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
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 :
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
,
.
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
5 - 46© Chair and Institute of Industrial Engineering and Ergonomics, RWTH Aachen University
Open Questions?
Questions?