P-timed Petri nets Theorem

Chapter 3
Petri nets
Learning objectives :
• Introduce Petri nets
• Dynamic behavior modeling of manufacturing systems using PN
• Analysis of Petri net models
Textbook :
J.-M. Proth and X. Xie, Petri nets: a tool for design and management of
manufacturing systems, John Wiley & Sons, 1996
C. Cassandras and S. Lafortune, Introduction to Discrete Event Systems,
Springer, 2007
1
Plan
•
•
•
•
•
•
•
•
•
•
Introduction to Petri nets
Formal definitions
Petri net models of manufacturing system
Elementary classes of Petri nets
Properties of PN models
Analysis methods
Reduction and Synthesis of ordinary Petri nets
Timed Petri nets
Modeling repetitive manufacturing systems
Time Petri nets
2
2
Introduction to Petri nets
3
3
A two-product system
• Two types P1 and P2 of products are produced.
• The production of each product requires two operations.
• The first operation is performed by a shared machine.
• The second operation is performed by a dedicated machine.
• There is at most one product of each type loaded in the
system at any time.
• When a product finishes, a new product of the same type is
dispatched.
To be modelled using an usual process-resource
modelling approach.
4
A two-product system
Process modeling
Goal: model the manufacturing process of each product, i.e. all possible
states of a product including waiting
•
Identify all relevant operations and their precedence constraints.
•
Identify all possible waits for shared resources.
wait for shared machine
parts under operation 1
parts under operation 2
p1
p4
t1
t4
p2
p5
t2
t5
p3
p6
t3
t6
5
A two-product system
Process modelling
•
Goal: model the manufacturing process of each product.
•
Include eventual constraints related to production control.
p1
p4
t1
t4
p2
p5
t2
t5
p3
p6
t3
t6
6
A two-product system
Resource modelling
•
Goal: modelling resource contraint + eventual priority constraints
p1
t1
p4
Identifies
t4
p7
p2
p5
t2
t5
p3
p6
t3
t6
7
•transitions after which
the resource is first
needed
•transitions after which
the resource is no longer
needed
Places and transitions
• A PETRI NET is a bipartite graph
which consists of two types of nodes:
places and transitions connected by
directed arcs.
• Place = circle, transition = bar or box.
p2
• An arc connects a place to a transition
or a transition to a place.
p1
• No arcs between nodes of the same
type.
• Input and output places of a
transition
• Input and output transitions of a
place
t1
p3
t2
t3
p4
p5
t4
t5
Token and marking
system state
Each place contains a number of tokens.
The distribution of tokens in the Petri net is
called the marking.
Representations of a marking:
•a vector M = (m1, m2, …, mn) where mi = nb of
tokens in place pi
•a multi-set such as M = p1 2p3
The marking of an PN = state of the
corresponding system.
p2
The initial state of the system = the initial
marking, denoted as M0.
Example: M = ( ???) = ???
9
t2
p4
t4
p1
t1
p3
t3
p5
t5
System dynamics by transition firing
• A transition is said enabled (firable) if each of its input
places contains at least one token. An enabled transition can
fire.
• Firing a transition removes a token from each input place
and add one token to each ouput place.
• Firing a transition leads to a new marking that enables other
transitions.
• The dynamic behavior of the corresponding system =
evolution of the marking and transition firings
• Convention: simultaneous transition firings are forbidden.
10
11
Sequence of transitions
A sequence of transitions that can be fired consecutively starting
from the initial marking is said enabled or firable.
The sequence of firable transitions is not unique.
The set of all firable sequences of transitions = PN language
Example: sequence t1t2t1t3
p2
t2
p4
t4
p1
t1
12
p3
t3
p5
t5
Formal definitions
13
Petri Nets
A Petri net is a five-tuple PN = (P, T, A, W, M0) where:
P = { p1, p2, ..., pn} is a finite set of places
T = { t1, t2, ..., tm } is a finite set of transitions
A  (P×T)  (T×P) is a set of arcs
W : A → { 1, 2, ... } is a weight function
M0 : P → { 0, 1, 2, ... } is the initial marking
P  T =  and P  T = 
PN without the initial marking is denoted by N:
N = (P, T, A, W)
PN = (N, M0)
A Petri net is said ordinary if w(a) = 1, a  A.
14
Graphic representation
Similar to that of ordinary PN but with default weight of 1 when
not explicitly represented.
p2
p1
t2
p4
t4
2
t1
p3
t3
15
p5
t5
Transition firing
Rule 1: A transition t is enabled at a marking M if M (p) ≥ w(p, t)
for any p  ot where ot is the set of input places of t
Rule 2: An enabled transition may or may not fire.
Rule 3: Firing transition t results in:
•removing w(p, t) tokens from each p  ot
•adding w(t, p) tokens to each p  to where to is the set of output
places of t
M(t> M' denotes firing t at marking M with
M p ,

Mp  W t, p,
M' p  
M p  W  p, t,

M p  W  t, p  W  p, t ,
si (p, t) A et (t, p) A,
si (p, t) A et (t, p) A,
si (p, t) A et (t, p) A,
si (p, t) A et (t, p) A,
Transition firing
2
2
2
2
2
2
2
17
2
Basic concepts
Source transition: transition without input places, i.e. ot = .
Sink transition: transition without output places, i.e. to = .
Source place: place without input transitions, i.e. op = .
Sink place: place without output transitions, i.e. po = .
Self-loop: a couple (p, t) such that t is both input and output
transition of p
Path: a sequence of nodes s1s2…sn such that si+1 is an output
node of si.
Circuit: a path such that sn = s1.
Online illustration
Incidence matrices
Pre incidence matrix:

 w  p, t  , if p  t
Pre  p, t   
otherwise

0,
Post incidence matrix:
 w  t , p  , if p  t

Post  p, t   
otherwise

0,
Incidence matrix : C = Post – Pre.
• C(., t) = Token flow balance after firing t
• Pre and Post define the Petri net
• For Petri nets without self-loops, i.e. ot to = , C defines the Petri net with
Pre(p,t) = max{0, C(p,t)} and Post(p,t) = max{0, C(p,t)}
Incidence matrices
Example:
Pre = ???, Post = ???, C = ???
p2
p1
t2
p4
t4
2
t1
p3
t3
p5
t5
Incidence matrices
Enabled transition: A transition t is enabled at a marking M if
M ≥ Pre(●, t)
Transition firing: Firing a transition t at marking M leads to
M’ = M + C(●, t)
Sequence of transitions: Firing a sequence s = t1t2…tn of
transition starting from marking M leads to:
M '  M  Cs
(1)
where sis the counting vector of the sequence s. (proof) Equation
(1) is also called « state equation ».
Question: can this equation be used to checked the feasibility of
a sequence and the reachability of a marking?
Incidence matrices
Example:
Markings after s = t1t5t2t3t5
p2
p1
t2
p4
t4
2
t1
p3
t3
p5
t5
Observe the state equation of s’ = t5t5t1t2t3. What conclusion?
Petri net models of manufacturing
systems
PN models of key characteristics
Parallel processes:
Precedence relation:
Activity1
start
Start
Activity2
End
Alternative processes:
Start
Alternattive
process
parallel
process
Synchronization:
Waiting
Sync
End
24
End
PN models of key characteristics
Buffer of finite capacity (4):
pv
Part arrival
Part request
pb
FIFO system:
25
PN models of key characteristics
Shared resources:
Other
Activities
Waiting for
Resource
Process with
Resource
p1
r
p2
26
PN models of key characteristics
Shared machine:
Dedicated machine:
27
PN models of key characteristics
Unreliable machines:
Assembly operation:
pf
n
1
n
output buffer
capacity
Input buffer
pw
2
pb
pr
28
A robotic cell
I
Z
1
M1
t1
M1
P1
S
t2
Robot
M2
Unload
T
Stock
R
n
Q
load
t3
P2
t4
29
Z
M2
2
O
A two-product system
• Two types P1 and P2 of products are produced.
• The production of each product requires two operations.
• The first operation is performed by a shared machine.
• The second operation is performed by a dedicated machine.
• There is at most one product of each type loaded in the
system at any time.
• When a product finishes, a new product of the same type is
dispatched.
To be modelled using an usual process-resource
modelling approach.
30
Process modeling
•
Goal: model the manufacturing process of each product.
•
Identify all relevant operations and their precedence constraints.
•
Identify all possible waits for shared resources.
wait for shared machine
parts under operation 1
parts under operation 2
p1
p4
t1
t4
p2
p5
t2
t5
p3
p6
t3
t6
31
Process modelling
•
Goal: model the manufacturing process of each product.
•
Include eventual constraints related to production control.
p1
p4
t1
t4
p2
p5
t2
t5
p3
p6
t3
t6
32
Resource modelling
•
Goal: modelling resource contraint.
p1
t1
p4
Identifies
t4
p7
p2
p5
t2
t5
p3
p6
t3
t6
33
•transitions after which
the resource is first
needed
•transitions after which
the resource is no longer
needed
Elementary classes of Petri nets
34
Pure Petri nets
Definition: A Petri net free of self loop is said pure, i.e. ot to
= .
Theorem : All impure Petri nets can be transformed into pure Petri nets.
p1
p1
b1
t1
e1
p0
p2
p2
b2
t2
e2
35
Sequential
firing
Ordinary Petri nets
EVENT GRAPHS (OR
MARKED GRAPHS)
Each place has exactly one input
and one output transition.
STATE MACHINES
Each transition has exactly
one input place and one
output place.
Property: The total number of
tokens in each elementary circuit
is constant
Property: The total number
of token is constant.
choice
p1
t2
t1
p2
t3
t4
synchronization
p3
36
Ordinary Petri nets
FREE-CHOICE NETS
card(p°) > 1  °(p°) = {p},  p  P
EXTENDED FREE-CHOICE NETS
p1°p2° ≠   p1° = p2°, p1, p2  P
Can be transformed into a free-choice net.
Property: Conflicting transitions are either all enabled or all not enabled.
37
Ordinary Petri nets
ASYMMETRIC CHOICE NETS
p1°p2° ≠   p1°  p2° or p2°  p1° ,  p1, p2  P
Property : The set {p1, p2, …, pk} of input places of any transition can be
renumbered such that p1°  p2°  …  pk°.
p3
p1
p3 vs r
r used by more transitions
r
p2
38
Relations between different classes
PN = Petri Net
AC = Assymmetric choice
EFC = Extended Free Choice
FC = Free Choice
SM = State Machine
EG = Event Graph
FC
PN
Ord.
PN
AC
Conflict
EFC
SM
asym. choice
SM
Modeling
power
EG
AC
noEG
noEFC
sync. para.
Confusion
EG
PN
noSM
Symmet. Choice
noAC
EFC
noFC
39
Properties of PN models
40
Reachability
Reachable marking: A marking M is said reachable from another marking M’
if there exists a seqence s of transitions such that M’(s>M.
Reachable set: R(M0) = set of markings reachable from the initial marking
M0.
Reachability is important for verification of the reachability of some desired
(proper termination) or undesired markings (deadlock).
Example: R(M0) = {(1, 0, 0, 0), (0, 1, 0, 0), (0, 0, 1, 0), (0, 0, 0, 1)}
p1 :
but (1, 0, 1, 0) not reachable.
t1
Reachability = Petri net language
p2
t3
t2
t4
t5
41
p4
p3
Reachability
Theorem1 (monotonicity) : Any sequence s of transitions firable starting
from a marking M0 is also firable starting from M0’ such that M0' ≥ M0.
Theorem2 (necessary condition) : The equation system CY = M - M0
with Y ≥ 0 has a solution for all reachable marking M.
Theorem3 (Acyclic PN) : For any PN free of cycles, a marking M is
reachable iff the equation system C Y = M - M0 with Y ≥ 0 has a solution.
Ex: Find a PN and a marking that is not reachable but for which condition
of Theorem 2 holds.
42
Boundedness
A place p is said k-bounded if the number of tokens in p never exceed k,
i.e. M(p) ≤ k, M Œ
 R(M0).
A Petri net is said k-bounded if all places are k-bounded, i.e. M(p) ≤ k,
p and M Œ
 R(M0).
A Petri net is said bounded if it is k-bounded for some k > 0.
A Petri net is said safe if it is 1-bounded, M(p) ≤ 1, p and M Œ
 R(M0).
Boundedness is often needed for a well-designed system as, without this
property, goods could accumulated without limit, which is often a design
error.
43
Boundedness
p
p
p'
44
Boundedness
Theorem (monotonicity) : If (N, M0) is bounded, then (N, M0’) such that
M0' ≤ M0 is bounded.
Theorem (necessary condition) : A Petri net (N, M0) is k-bounded if
M(p) ≤ k, p and M such that M = M0 + CY for some Y ≥ 0.
45
Liveness
A transition t is said live if it can always be made enabled starting from
any reachable marking, i.e. M Œ
 R(M0), M' Œ
 R(M) such that M‘(t>.
A Petri net is said live if all transitions are live.
A transition is said quasi live if it can be fired at least once, i.e. M Œ

R(M0) such that M(t>.
A Petri net is said quasi live if all transitions are quasi live.
A marking M is said a deadlock or dead marking if no transition is
enabled at M.
A Petri net is said deadlock-free if it does not contain any deadlock.
46
Liveness
•
Liveness implies the absence of total or partial deadlock and is
often required for well-designed systems. But the reverse is not true.
•
Deadlock often results from resource sharing and synchronization of
parallel processes.
•
No monotonicity of liveness as the Petri net below is not live if
M0(R1) = 0, live if M0(R1) = 1, and not live if M0(R1) = 2.
S1
S1
PN1
S2
R1
R2
R3
PN2
47
S2
R1
R2
R3
Reversibility
A Petri net (N, M0) is said reversible if the initial marking remains
reachable from any reachable marking, i.e. M0 Œ
R(M), M Œ
R(M0)
A marking M* is said a home state if it is reachable from all reachable
markings, i.e. M* Œ
R(M), M Œ
R(M0) .
Existence of the reversibility ensures that the system can always recover
the normal behavior and is important for systems subject to failures.
Existence of home state is important for systems requiring proper
termination.
Reversiblity implies existence of home states but the reverse is not true.
48
Reversibility
p1
p1
t1
t1
p2 :
p2
t3
t3
t2
t2
t4
t5
t4
t5
t4
p4
p4
p3
p3
t4
p5:
p5: mach free but not usable
Reversibility, liveness and boundedness are independent
49
Analysis methods
50
Reachability tree
Definition: The reachability tree, also called marking graph, of a Petri
net (N, M0) is a graph in which
•nodes corresponds to reachable markings
•arcs correpond to feasible transitions.
Remark: the reachability tree of an unbounded PN is unlimited.
t1
p1
t2
p2
t2
p1
t1
p2
t2
[0, 1]
M0
[1, 1]
M0
t2
[0, 0]
M1
[0, 2]
t1 M1
t2
[2, 0]
M2
t1
p1
t1
p2
t2
[1, 0]
M0
t1
t2
t1
[1, 1]
M1
t2
[1, 2]
M2
•••
Coverability tree
Symbol "w" implying « as great as possible » with the following properties:
w > n, w ± n = w, for all integer n and w ≥ w.
p1
t1
p2
t2
Step1
[1, 0]
M0
t1
[1,  ]
M1
• M1 covers M0
• Repeat t1 leads to w tokens in p2.
• Replace M1 by [0, w]
old
[1, w]
M1
t1
Step2
[1, 0]
M0
t1
[1, w]
M1
t1
new
Step3
[1, 0]
M0
old
[1, w]
M1
t2
t1
52
[1, w]
M1
t2
Coverability tree
Algorithm of coverability tree (Self-reading)
1. Initiate the tree by a root node labeled M0 and marked as "new".
2. While there exists "new" nodes :
2.1. Select a "new" node A. Let M be its marking.
2.2. If there exists a node B with marking M on the path from the root to A,
then mark A as "old" and go to 2.
2.3. If M is a dead marking, then mark A"dead-end" and go to 2.
2.4. Otherwise, for each transition t enabled at M,
2.4.1. Add a node C, an arc from A to C with label t, mark C "new".
2.4.2. Determine the marking M’ of node C.
2.4.3. If, on the path from the root to node C, there exists a node D with
marking M" such that M' ≥ M" & M'(p) > M"(p) for some p, then M'(p) =
w for all p such that M'(p) > M"(p).
53
2.5. Go to 2.
Coverability tree
Theorem (boundedness) :
A Petri net (N, M0) is bounded iff the symbol wdoes not appear in the
coverability tree.
Theorem (bounded PN) : For a bounded Petri net,
• it is deadlock-free iff any node of the reachability tree has a successor.
• It is reversible iff the reachability tree is strongly connected.
• A transition t is live iff it appears a all strongly connected components
that do not have arcs going out.
Remark:
Liveness and reversibility of unbounded PN cannot be checked with
coverability trees.
54
p-invariants
Definition:
•A integer vector X≥0 of dimension n = |P| is a p-invariant if Xt C = 0.
•The set of places pi with Xi > 0 is called the support of the p-invariant and is
denoted ||X||.
•A p-invariant X is said minimal if there does not exist another p-invariant X’
such that X' ≠ X and X' ≤ X.
Exampel:
S1
S2
R1
R2
R3
55
p-invariants
Theorem: X is a p-invariant iff, for all M0, Xt M = Xt M0,  M Œ
 R(M0).
Theorem : Any linear combination of p-invariants is a p-invariant.
Theorem : All p-invariant is a non negative linear combination of minimal pinvariants.
Remark : For PN models of real systems, a minimal p-invariant has clear
physical significance (resource, production control strategies, ...) and can be
derived by inspection of resources and processes.
S1
S2
R1
Exampe:
R2
R3
56
Identification of
p-invariants by
inspection by
resource-oriented
decomposition
t-invariants
Definition:
•A integer vector Y≥0 of dimension m = |T| is a t-invariant if CY = 0.
•The set of transitions ti with Yi > 0 is called the support of the t-invariant
and is denoted ||Y||.
•A t-invariant Y is said minimal if there does not exist another t-invariant Y’
such that Y' ≠ Y and Y' ≤ Y.
Exampel:
S1
S2
R1
R2
R3
57
t-invariants
Theorem: Let s be a sequence of transitions tranforming M0 into M and Y its
counting vector. Then M = M0 iffY is an t-invariant.
Theorem : Any linear combination of t-invariants is a t-invariant.
Theorem : All t-invariant is a non negative linear combination of minimal tinvariants.
Remark : In general, a minimal t-invariant corresponds to a process that can
be repeat for ever. They can be identified by neglecting resources.
S1
S2
R1
Exampe:
R2
R3
58
Identification of pinvariants by
inspection by
removing resource
constraints
Determination of p- and t-invariants
(optional)
Algorithm of minimal p-invariants
1.
Set A = In×n with n = |P| and B = C (incidence
matrix). Construct matrix [A | B].
2.
For each transition tj:
2.1. Add to [A | B] non negative linear combination of any
two lines that zeros the entry of column tj
2.2. Remove in the matrix [A | B] all lines i such that the
entry (i, j) is not zero.
3. p-invariants correspond to lines of matrix A.
The algorithm of t-invariants is similar with C
replaced by CT.
59
2
2
3
2
Siphons and traps
A siphon is a subset of places such that any input transition of a place is
an output transition of some other place.
A trap is a subset of places such that any ouput transition of a place is an
input transition of some other place.
then
if
if
Siphon
Trap
60
then
Siphons and traps
Theorem: For any ordinary PN,
•A siphon free of tokens at a marking remains token-free
•A trap marked by a marking remains marked
•The empty places of a dead marking form a siphon for any marking such
that no transition is enabled.
•A Petri net is deadlock-free if no siphon eventually becomes empty.
then
if
if
Siphon
Trap
61
then
Siphons and traps
Theorem: A connected event graph (N, M0) is live iff every circuit contains a
token. A live event graph is reversible. A connex event graph is bounded iff it is
strongly connected.
Theorem: A connected state machine is always bounded. It is live and reversible
iff it is strongly connected.
Theorem : A free-choice (extended or not) (N, M0) is live iff all siphon contains
a trap marked at M0.
Theorem : An assymetric net (N, M0) is live iff no siphon can become unmarked.
Remarks:
•Whether all siphons remain marked can be checked by integer programming.
•For usual manufacturing systems, both liveness and reversibility are ensured if no
siphon can become unmarked
62
Siphons and traps
Siphons to care:
n1
R1
R3
R2
R1
Minimal
siphons that are
not traps
R3
R2
n3
n2
p3
Live as it is an AC net and
any siphon contain a trap
marked at M0
• {R2, R3, p3} = siphon that can be
unmarked
• The AC net is life iff n1 < n2+n3.
63
Siphons and traps
optional
Theorem: A Petri net (N, M0) is deadlock-free if G = 0 where
G = max ∑pŒ
P up
such that
z =1
- S is a siphon, i.e.
then
zt ≤ ∑pŒ
T
•t up, t Œ
up ≤ zt,  t, p / t Œ
•p
up , zt Œ
 {0, 1}
up = 0
t
up = 1
- S can become unmarked:
1{M(p)} + up ≤ 1 , p Œ
P
M = M0 + CY
M ≥ 0, Y ≥ 0.
(NL)
The nonlinear constraint (NL) can be replaced by
(NL) <=> M(p) / SB(p) + up ≤ 1
where SB(p) is the upper bound of the marking of place p.
S
zt = 0
If
Structural properties
STRUCTURAL BOUNDEDNESS
A Petri net N is structurally bounded if it is bounded starting from any M0.
Criterion : N is structurally bounded   X > 0, XTC ≤ 0.
Theorem: (N, M0) is bounded if it is structurally bounded.
CONSERVATIVENESS
A Petri net N is conservative if there exists a vector X > 0 associated with
places such that XTM = XTM0, M0, M R(M0).
Criterion : N is conservative   X > 0, XTC = 0.
Theorem:
•(N, M0) is bounded if it is conservative.
•A Petri net is conservative if all places are covered by some p-invariant.
65
Structural properties
REPETITIVENESS
A Petri net N is repetitive if there exists M0 and a feasible firing sequence
such that each transition appears infinitely often.
Criterion : N is repetitive   Y > 0, CY ≥ 0.
Theorem: A live Petri net (N, M0) is repetitive.
CONSISTENCY
A Petri net N is consistent if there exist an initial marking M0 and a firing
sequence s such that > 0 and M0 [s >M0.
Criterion : N is consistent   Y > 0, CY = 0.
Theorem :
•A live Petri net (N, M0) with a home state is consistent.
•A live and bounded Petri net (N, M0) is consistent. It is also conservative if
it is live and structurally bounded.
66
Structural properties
S1
S2
R1
R2
R3
In practice, boundedness reduces to
conservativeness.
Consistency and conservativeness
provide necessary conditions for
liveness and resersibility.
Unfortunately, liveness and
resersibility remain difficult to
check.
67
Reduction and synthesis of
ordinary Petri nets
68
Petri net reduction
R1 : Merging of serial places
p1
p12
t
M0(p12) = M0(p1) + M0(p2)
p2
Conditions : p1• = {t}, •t = {p1}, t• = {p2}
69
Petri net reduction
R2 : Merging of serial transitions
t1
p
t12
t2
Conditions : M0(p) = 0, •p = {t1}, p• = {t2}, •t2 = {p}.
70
Petri net reduction
R3 : Removal of identical places
t1
p1
t1
p2
t2
p1
t2
Conditions : M0(p1) = M0(p2), •p1 = •p2, p1• = p2•.
71
Petri net reduction
R4 : Removal of identical transitions
t1
t2
t1
Conditions : •t1 = •t2, t1• = t2•.
72
Petri net reduction
R5 : Removal of implicit places
p
t
Conditions : •p = p•, M0(p) > 0.
73
Petri net reduction
R6 : Removal of neutral transitions
t
p
Conditions : •t = t• = {p}, p•  •p ≠ {t}.
74
Petri net reduction
Thereom (property perservation of reduction rules) : Let
N be a Petri net and N' be a reduced net obtained by rules R1R6. Then,
• N is live iff (if and only if) N' is live;
• N is bounded iff N' is bounded;
• N is safe iff N' is safe, if place p of rule R5 is such that
M0(p) = 1;
• N is reversible iff N' is reversible, if place p2 of rule R1
has a single input transition.
75
Petri net reduction
Example (homework):
t1
p1 t2
p3
p5
t7 p7
r2
r1
t4
p2 t3
t8
p8
r3
t5
p4 t6
p6
R2: (t1,p1,t2), (t4,p3,t5), (t7, p7, t8), (t9, p9, t10)
R2: (t78, p8, t9,10) + R5
Bounded, not live, not reversible, not safe.
76
t9
p9
t10
Petri net reduction
Example:
t1
p1 t2
p3
p5
t7 p7
r2
r1
t4
p2 t3
t8
p8
t9
p9
t10
r3
t5
p4 t6
p6
R2: (t1,p1,t2), (t4,p3,t5), (t7, p7, t8), (t9, p9, t10)
R2: (t78, p8, t9,10) + R5
R2: (t12, p2, t3), (t45, p4, t6) + R5
R1: (r2, t123, p5), (r3, t456, p6) + R5
77
Bounded
Live
reversible
Top-down Petri net synthesis
Principle: Top-down synthesis starts from an initial PN that is
expanded progressive. At each step, a place or a transition is
replaced by a Petri net.
Expansion of a transition t
Assumption : t is not 2-firable, i.e. it cannot be
simultaneously fired twice.
t in
p0
Definitions :
• A bloc is a PN with a source transition Tin and a sink
transition Tout
• The associated PN of a bloc is a PN obtained by
connecting Tout to Tin with an place p0 containing 1 token.
• A bloc is said well-formed if its associated PN is live, M0
is the only reachable marking such that p0 is marked, and Tin
is the only firable transition at M0.
78
t out
Top-down Petri net synthesis
Examples of well-formed blocs.
Tin
Tin
Tout
Tout
79
Top-down Petri net synthesis
Theorem : Let N, B and N' be an initial PN, associated PN of
a well-formed bloc, and the PN obtained by expansion. Then
N' is live (resp. bounded or reversible) of N and B are live
(resp. bounded or reversible).
Expansion of a place
p
equivalent to the
expansion of a
transition
p
t
p'
Bottom-up Petri net synthesis approaches also exist.
80
Timed Petri nets
81
P-timed Petri nets
Definition:
A P-timed Petri net is a triplet (N, M0, tempo)
where
• (N, M0) is a marked Petri net with N = (P, T, Pre, Post);
• tempo : P  R+ is a temporization function that associates
with each place pi a time tempo(pi) = di.
82
P-timed Petri nets
Evolution of the marking over time
t1
t1
p1
d1
t3
Mi(p1)
d1
p1
t2
t2
p2
t1
d2
t1
d1
p1
t2
d2
p2
t3
p1
d1
t2
d2
p2
t3
p2
d2
t3
d1
Md(p1)
Mi(p2)
d2
t1
t2
83
P-timed Petri nets
Firing rules:
R1:
Each token arriving in a place pi should stay at least
for a time di. It is said unavailable during this time and
becomes available after.
R2:
At any time, the marking M is the sum of two
markings Mu and Ma corresponding to respectively
unavailable tokens and available ones.
R3:
A transition is firable if it is at marking Ma.
R4:
The firing of a transition is the same as for untimed
Petri nets.
Assumption : transitions fire as soon as they are enabled
(earliest operating mode).
84
P-timed Petri nets
Reachability of a P-timed Petri net:
• The state of the PN is represented by the number of
tokens in each place and the remaining sojourn time of
each token.
• Transition from marking M1 to M2 is labeled as tj / d
where tj is the transition and d the sojourn time in M1.
When several transitions fires simultaneously, it is marked
(ti, tj …) / d.
p1
d1 = 2
1 (0) (t1t2) /0
1 (0)
t1
p2
1 (2)
1 (3)
t1/2
0
2 (1,3)
d2 = 3
(t1t2)/2
t2
85
t2/1
1 (2)
1 (2)
P-timed Petri nets
Theorem:
If the underlying PN (N, M0) is bounded and the
temporizations are rational numbers, then
(i) reachability graph is finite;
(ii) the earliest operating mode leads to a periodic regime
(also called stationary regime) in finite time for any
given priority rule for conflict transitions sorting.
86
P-timed Petri nets
Definitions:
- Firing frequency fi of a transition ti is the number of times ti fires during
a time unit;
- Cycle time Ci = 1 / fi.
Thereom 1: For any periodic regime of a bounded PN, the firing
frequency vector F = (f1, f2, …, fm) is a t-invariant.
Theorem 2: For any strongly connected P-timed event graph, the firing
frequency is the same for all transitions and the cycle time is given by
C = max{C(g), g G}
where G is the set of elementary circuits and
C(g) = ∑p  Œ
g tempo(p) / M0(g).
Example:
87
T-timed Petri nets
Definition:
A T-timed Petri net is a triplet (N, M0, tempo)
where
• (N, M0) is a marked Petri net with N = (P, T, Pre, Post);
• tempo : T  R+ is a temporization function that associates
with each transition ti a time tempo(ti) = di.
88
T-timed Petri nets
Evolution of the marking over time
t1
d1
d2
t2
d3
t3
t1
d1
p1
d2
p2
p2
t3
d1
p1
p1
t2
t1
d2
t2
d3
t3
Mr(p1)
Mn(p2)
d1
t2
d2
89
t2
d2
p2
Mn(p1)
t1
d1
p1
p2
d3
t1
t3
d3
T-timed Petri nets
Firing rules:
R1: Each token is either reserved for the firing of a transition tj
or not reserved.
R2: At any time, the marking M is the sum of two markings Mr
and Mn of reserved tokens and not reserved ones.
R3: A transition is firable if it is at marking Mn.
R4: During the firing of a transition tj, tokens needed for its
firing are reserved in its input places. The firing completes
after a time dj. At this moment, reserved tokens are
removed and not reserved tokens are added to its output
places.
Assumption : transitions fire as soon as they are enabled
(earliest operating mode).
90
T-timed Petri nets
Reachability of a T-timed Petri net:
• The state of the PN is represented by the number of
tokens in each place and the remaining firing time of each
transition firing.
• Transition from marking M1 to M2 is labeled as tj / d
where tj is the transition and d the sojourn time in M1.
When several transitions fires simultaneously, it is marked
(ti, tj …) / d.
p1
t1
d1 = 2
1 (0) (t1t2) /0
1 (0)
1 (2)
1 (3)
t1/2
0
2 (1,3)
p2
t2
(t1t2)/2
d2 = 3
91
t2/1
1 (2)
1 (2)
T-timed Petri nets
Theorem:
If the underlying PN (N, M0) is bounded and the
temporizations are rational numbers, then
(i) reachability graph is finite;
(ii) the earliest operating mode leads to a periodic regime
(also called stationary regime) in finite time for any
given priority rule for conflict transitions sorting.
92
T-timed Petri nets
Definitions:
- Firing frequency fi of a transition ti is the number of times ti fires during
a time unit;
- Cycle time Ci = 1 / fi.
Thereom 1: For any periodic regime of a bounded PN, the firing
frequency vector F = (f1, f2, …, fm) is a t-invariant.
Theorem 2: For any strongly connected T-timed event graph, the firing
frequency is the same for all transitions and the cycle time is given by
C = max{C(g), g G}
where G is the set of elementary circuits and
C(g) = ∑t  Œ
g tempo(t) / M0(g).
Example:
93
Equivalence of P-timed and T-timed Petri nets
p1
p2
p1
t
d
d1=0
p5
p2
d2=0
d5=d
p4
p3
d3=0
p3
t1
t2
p
t3
d4=0
P-timed
T-timed
t1
p4
d
d1=0
t5
t2
d5=d
t4
t3
d3=0
T-timed
P-timed
94
d2=0
t4
d4=0
Algebra representation of T-timed event graphs
Notation:
xi(k) : starting time of k-th firing of transition ti
Recursive equations:
x1(k) = max{x1(k-1)+d1, x2(k-1) + d2}
x2(k) = x1(k-1)+d1
x1(1) = x2(1) = 0
(max, +) linear algebra representation:
x1(k) = x1(k-1)d1x2(k-1)  d2
x2(k) = x1(k-1)d1x2(k-1)  e
where
= +,  = max, e = - (nul element)
Matrix representation:  x1  k  
 d1 d2   x1  k  1 





 x2  k   d1 e   x2  k  1
95
p3
p1
t1
d1 = 2
p2
t2
d2 = 3
Algebra representation of T-timed event graphs
Notation:
xi(k) : starting time of k-th firing of transition ti
mij : initial marking of place connecting ti to tj
Recursive equations:
xi(k) = max{xj(k-mij)+dj, (i,j)P}
(max, +) linear algebra representation:

xi  k    x j  k  mij   d j
j
p3
p1
t1
d1 = 2
p2
t2
d2 = 3

Results hold also for P-timed event graphs
Extended theory of (max, +) linear algebra available in the book
"Synchronization and Linearity: An Algebra for Discrete Event
Systems"
96
Modeling repetitive
manufacturing systems with
timed Petri nets
97
System specifications
System: a manufacturing system composed of three machines M1, M2, M3
producing two types of parts P1 and P2.
Part routing:
P1 : (M1, 4), (M2, 2), (M3, 1)
P2 : (M3, 2), (M2, 1)
Product mix: 50% P1 and 50% P2.
Transportation resources: Each on-going part requires a pallet. There are
2 pallets for P1 and one for P2.
Assumptions:
Repetitive or cyclic production:
•One P1 and one P2 are produced in each production cycle;
•Each machine serves the parts cyclically according to the following input
sequences: M1: <P1>, M2: <P1, P2>, M3: <P1, P2>.
98
Modeling repetitive manufacturing systems
Step 1 : Modeling part routings
P1
t1(4)
t2(2)
t4(2)
t5(1)
t3(1)
P2
Repeat twice the model of P1 if a production
cycle is (2*P1, 1*P2).
99
Modeling repetitive manufacturing systems
Step 2 : Modeling transportation resources (process circuits)
P1
t1(4)
t2(2)
t4(2)
t5(1)
P2
100
t3(1)
Modeling repetitive manufacturing systems
Step 3 : Modeling input sequences of the machines (command circuits)
p3
t1(4)
p1
t2(2)
p2
t3(1)
P1
p9
M2
M1
p6
M3
p8
p7
p10
P2
p4
t5(1)
t4(2)
p5
101
Results
•
Strongly connected t-timed event graph;
•
Live, bounded, reversible;
•
Cycle time of elementary circuits :
g
t1p1t2p2t3p3t1
t4p4t5p5t4
t1p6t1
t2p8t5p7t2
t3p10t4p9t3
t2p2t3p10p4t5p7t2
t2p8t5p5t4p9t3p3t1p1t2
M(g)
2
1
1
1
1
1
4
C(g)
7/2
3/1
4/1
3/1
3/1
6/1
10/4
•
System cycle time : C = max{C(g), g G} = 6.
•
System throughput rate: one P1 + one P2 per 6 time units.
•
Maximum thoughput rate with C = 4 reached if M0(p2) = M0(p3) = 1,
i.e. start with an on-going P1 at time 0.
102
Time Petri nets
103
Definition
A time Petri net is a triplet (N, M0, INT) where
•(N, M0) is a marked Petri net with N = (P, T, Pre, Post);
•INT : T  R+ x R+ is a temporization function that assicates with each
transition t an interval [a, b].
•INTi = [ai, bi] = time interval associated with transition ti is such that
•
ai ( 0 ≤ ai) is the minimal time during which ti remains firable
before it actually fires
•
bi (0 ≤ b ≤ ∞) is the maximum time during which ti remains firable
before it is forced to fire.
Assumption:
No transition is two-firable, i.e. can initiate two simultaneous
firings. (relaxable assumption)
104
Example
Proc. B
proc. A
Initial state: M0 = [1000101], 1 ≤ t1 ≤ 6
p1
• t1 fires at q1
t1
• State : M1 = [0111101], 1 ≤ t2 ≤ 6, 2 ≤ t3 ≤ 3, 1 ≤ t5 ≤ 4
Case t2 fires next at q1+ q2
1 ≤ q2 ≤ 3, M2 = [1011101], 1 ≤ t1 ≤ 6, max{0, 2 -q2} ≤ t3 ≤
3 - q2, max{0, 1 -q2} ≤ t5 ≤ 4 - q2.
(2,3)
(1,6)
t3
p4
p2
t2
p5
p3
p6
(1,4)
(1,6)
t4
(1,4)
t5
p7
Proc. C
Case t3 fires next at q1+ q2
2 ≤ q2 ≤ 3, M2 = [0101011], 1 ≤ t4 ≤ 4, max{0, 1 - q2} ≤ t2 ≤
6 - q2, max{0, 1 - q2} ≤ t5 ≤ 4 - q2.
Case t5 fires next at q1+ q2
1 ≤ q2 ≤ 4, M2 = [0110101], max{0, 1 - q2} ≤ t2 ≤ 6 - q2,
max{0, 1 - q2} ≤ t5 ≤ 4 - q2.
105
State of a time Petri net at any time t
S = (M, I)
where
•M is the marking at time t;
•I indicate, for each firable transition ti, the
interval (EFTi, LFTi) of remaining time to
actual firing, i.e. ti can fire at any time in [t +
EFTi, t + LFTi].
Proc. B
proc. A
p1
t1
(2,3)
(1,6)
t3
p4
p2
t2
p5
p3
p6
(1,4)
(1,6)
t4
(1,4)
t5
p7
Example :
At time t=0,
Proc. C
S = (M0, I1 = (1, 6)).
At time t = q1,
S = (M1, I2 = (1, 6), I3 = (2, 3), I5 = (1, 4)).
106
Firing rules
R1 : With any given state S = (M, I) at time t,
transition ti is the next transition at time t + q if
(i) ti is firable at M,
(ii) EFTi ≤ q ≤ mink{LFTk}.
R2 : Firing ti leads to the state S' = (M', I') with
• M(t> M',
• EFTi' = max(0, EFTi - q), LFTi' = LFTi - q, for
all other on-going transitions ti,
• EFTi' = ai, LFTi' = bi, for all newly enabled
transitions ti.
Remark: Starting from a state, an infinite number
of states can be reached by choosing different q.
107
Proc. B
proc. A
p1
t1
(2,3)
(1,6)
t3
p4
p2
t2
p5
p3
p6
(1,4)
(1,6)
t4
(1,4)
t5
p7
Proc. C
State classes
A state class is a group of states reachable by firing the same transition ti.
Class representation: C = (M, D) where
•M is the marking and
•D the domain of remaining times of all firable transitions
Canonic form of a class C = (M, D) where D is expressed as follows:
ai ≤ ti ≤ bi, for any firable transition ti;
tj - tk ≤ gjk, for all couples of firable transitions tj and tk
where
ai = earliest date of ti
ai = latest date of ti
gjk = largest difference of tj - tk.
Ck
Sk
ti
at
q1
S1=(M', I1)
108
ti
at
q20
S1=(M', I20)
ti
Ci =(M', I1+I2+…)
State class graph
proc. A
Proc. B
p5
Initial state: M0 = [1000101], 1 ≤ t1 ≤ 6
p1
p3
(2,3)
(1,6)
• t1 fires at q1
t3
t1
• State : M1 = [0111101], 1 ≤ t2 ≤ 6, 2 ≤ t3 ≤ 3, 1 ≤ t5 ≤ 4
p4
Case t2 fires next
p2
p6
state class C2 = {M2 = [1011101], D2}
(1,4)
(1,6)
t2
t4
D2 = {1 ≤ t1 ≤ 6 (new transition), D2(a) (old transitions)}
t5
(1,4)
D2(a) =
p7
1 ≤ t2 ≤ 6
t2 ≤ t3
Proc. C
2 ≤ t3 ≤ 3
t2 ≤ t5
Fourier-Motzkin elimination
1 ≤ t5 ≤ 4
change of variables by t3 = t2+t3', t5 = t2+t5'
xr  Ai  x1 , , xr 1  , xr  B j  x1 , , xr 1 
1 ≤ t2 ≤ 6
t2 ≤ t2+t3'
 B j  x1 , , xr 1   Ai  x1 , , xr 1 
2 ≤ t2 + t3' ≤ 3
t2 ≤ t2+t5'
1 ≤ t2+t5' ≤ 4
D2 =
Fourier-Motzkin elimination of t2
1 ≤ t1 ≤ 6
1 ≤ 3- t3'
1  4-t5'
1 ≤ t2 ≤ 6
0 ≤ t3 ≤ 2
2-t3' ≤ 4-t5' 2-t3' ≤ 6
2-t3' ≤ t2 ≤ 3-t3'
0 ≤ t5 ≤ 3
D2(a)=
1-t5' ≤ 6
1-t5' ≤ 3- t3'
1-t5' ≤ t2 ≤ 4-t5'
-2 ≤ t3-t5
0 ≤ t3'
0 ≤ t3'
0 ≤ t5'
0 ≤ t5'
109
A producer-consumer data transfer protocole
BE
prod
t1
p1
t2
p2
t3
t5
BF
cons
t4
prod Ready to send a message
p1 Sending a message
p2 Arrival of the message at the
consumer site
cons Consumer reading the
message
BE Buffer empty
BF Buffer full
t1
t2
t5
t3
t4
producer sending a message
transmission medium
message reading
normal arrival at an empty buffer
Arrival at a full buffer and overwriting
existing message (undesired situation)
Specification 1 : INT1 = [4, 6], INT2 = [2, 3], INT3 = INT4 = [0, 0], INT5 = [0, 2].
Specification 2 : INT1 = [4, 6], INT2 = [2, 3], INT3 = INT4 = [0, 0], INT5 = [0, 4].
110
Topics not addressed in Chapters 2-3
Supervisory control with automata theory
Color Petri nets
Petri net controls
Petri net models synthesis
111
Topics not addressed in Chapters 2-3
Supervisory control with automata theory
Timed Petri nets
Color Petri nets
Petri net controls
Petri net models synthesis
112