Transactions of the Society for Computer Simulation, vol.4, no.4, 1987.
D–TIMED PETRI NETS AND MODELLING
OF TIMEOUTS AND PROTOCOLS 1
W.M. Zuberek
Department of Computer Science
Memorial University of Newfoundland
St. John’s, Canada A1C 5S7
Abstract
D–timed Petri nets are Petri nets with deterministic firing times assigned
to transitions of a net. Several classes of D–timed are discussed in this paper
to show a hierarchy of models with increasing “modelling power”. Conflict–free
inhibitor nets are sufficient to model communication protocols with timeouts
used to recover from lost and/or distorted messages but they introduce intermediate states which can be removed without any significant effect on the model’s
behaviour. Extended nets with interrupt arcs (or generalized inhibitor arcs)
eliminate all such states. Finally, enhanced nets with two classes of transitions,
immediate and timed transitions, are introduced to further reduce the state
space. For each class a discrete–time description is provided which represents
the behaviour of a net by a homogeneous semi–Markov discrete process. Many
performance characteristics can thus be obtained using an approach similar to
operational analysis.
1. INTRODUCTION
Petri net models have been proposed by many researchers as a useful tool
for modelling and evaluating real–time systems, distributed systems and communication protocols [Agerwala 1979, Brauer 1982, Danthine 1982, Diaz 1982,
Merlin and Farber 1976, Peterson 1982, Symons 1980, Yemini and Kurose 1982].
Basic Petri nets, however, are not complete enough for the study of systems
performance since no assumption is made on the duration of systems activities. Several different concepts of “timed” Petri nets [Chretienne 1985, Merlin
and Farber 1976, Ramchandani 1974, Razouk and Phelps 1985, Sifakis 1977,
Symons 1980] and stochastic Petri nets [Ajmone Marsan et al . 1984, Molloy
1
This version of the paper is slightly different from the original one because it was prepared using a different text processing system. Several minor corrections were made during
preparation of this version.
D–timed Petri nets and modelling of timeouts and protocols
332
1982, 1985] have been proposed by assigning deterministic or stochastic firing
and/or enabling times to the transitions or places of Petri nets, and a number
of verifications and evaluation tools have been developed for different classes of
timed and stochastic nets [Feldbrugge 1985, Garg 1985, Holliday and Vernon
1985].
This paper describes several extensions of the approach originated by Ramchandani [21] in which deterministic (or constant) “firing times” are assigned to
transitions of Petri nets (the so called t–timed nets). Sifakis (1977) proposed
another definition of “timed” Petri nets in which firing times are associated with
places rather than transitions of a net (the so called p–timed nets). He also discussed equivalence of p–timed and t–timed concepts for nets without inhibitor
arcs. Garg (1985) applied p–timed nets to formal specification and analysis of
communication protocols, while Magott (1984) discussed complexity of some
decision problems in such nets. Razouk and Phelps (1985) combined p–timed
and t–timed concepts to model timeouts and processing delays of communication protocols. As a solution of a restricted class of conflicts in such nets they
introduced “conflict sets” with corresponding relative probabilities (i.e., probabilities “normalized” to actual sets of conflicting transitions). It appears that
the relative probabilities are satisfactory in simple “nonstructured” applications,
but they cannot represent “multilevel” dependencies, as required for example in
several levels of priorities. A more general discussion of conflicts was given by
Holliday and Vernon (1985) who also discussed the relationship between generalized timed Petri nets and Markov chains, and described a number of interesting
extensions (e.g., state–depending probabilities and firing times) which can easily
be included in the proposed model.
In general, p–timed nets seem to be favored by researchers, which is due
(at least partially) to an attractive possibility to cancel initiated firings (as
required in modelling of timeouts, or interrupts); this can be done by using
conflicts of enabled transitions (t–timed nets without appropriate extensions
cannot represents such preemptions). p–timed approach is also used in stochastic
Petri nets [Ajmone Marsan et al. 1984, Molloy 1982]. Conflicting transitions,
however, affect simple structural properties of nets, and therefore many “special
classes” of p–timed nets are studied in the literature [Ajmone Marsan et al.
1987, Chiola 1987]. Moreover, it can be observed that in p–timed nets there is
no distinctions between tokens “enabling” transitions and “waiting for enabling”.
In cases when this can affect (timed) behavior of a net, a more complex net model
is required, in which the “waiting” and “enabling” phases are clearly separated.
In t–timed nets such a distinction is unnecessary because of different mechanism
of transition firings. In consequence, the p–timed and t–timed approaches are
significantly different (in particular for timed Petri nets with inhibitor arcs or
D–timed Petri nets and modelling of timeouts and protocols
333
equivalent extensions), and it has been shown [Zuberek 1985] that there are nets
which are p–timed bounded and t–timed unbounded and vice versa.
This paper is organized in 4 main sections. Section 2 introduces inhibitor
free–choice D–timed Petri nets, and section 3 extended free–choice D-timed Petri
nets. Enhanced free–choice D-timed Petri nets are described in section 4 while
section 5 addresses unbounded nets.
2. INHIBITOR D–TIMED PETRI NETS
It is known [Kosaraju 1973, Peterson 1981] that Petri nets without inhibitor
arcs (or an equivalent extension) cannot represent priorities of simultaneous
events. The inhibitor arcs [Agerwala 1979, Brauer 1980, Peterson 1981] provide
a “test if zero” condition which appears to be a convenient mechanism for many
priority schemes.
An inhibitor Petri net N is a quadruple N = (P, T, A, B) where:
P is a finite, nonempty set of places,
T is a finite, nonempty set of transitions,
A is a nonempty set of directed arcs which connect places with transitions
and transitions with places, A ⊆ P × T ∪ T × P , such that for each
transition t ∈ T there exists at least one place p connected with t,
(p, t) ∈ A,
B is a set of inhibitor arcs, B ⊂ P × T , and A and B are disjoint sets.
A place p is an input (or an output) place of a transition t iff there exists
an arc (p, t) (or (t, p), respectively) in the set A. The sets of all input and
output places of a transition t are denoted by Inp(t) and Out(t), respectively.
Similarly, the sets of input and output transitions of a place p are denoted by
Inp(p) and Out(p). The notation is extended in an obvious way to sets of places
and transitions, e.g., Inp(Pi ), Out(Tj ), etc. Also, a place p is an inhibitor place
of a transition t iff there exists an inhibitor arc (p, t) in the set B. The set of all
inhibitor places of a transition t is denoted by Inh(t).
An inhibitor marked Petri net M is a pair M = (N, m0 ) where:
N is an inhibitor Petri net N = (P, T, A, B),
m0 is an initial marking function which assigns a nonnegative number of
so called tokens to each place of the net, m0 : P → {0, 1, ...}.
D–timed Petri nets and modelling of timeouts and protocols
334
Let any function m : P → {0, 1, ...} be called a marking of a net N.
In inhibitor nets, a transition t is enabled by a marking m iff every input
place of this transition contains at least one token and every inhibitor place of
t contains zero tokens. The set of all transitions enabled by a marking m is
denoted by En(m).
A place p is shared iff it is an input place for more that one transition. A
shared place p is guarded iff for each two different transitions ti and tj sharing
p there is another place pk such that pk is in the input set of one and in the
inhibitor set of another of these two transitions:
∀(ti ∈ Out(p)) ∀(tj ∈ Out(p) − {ti }) ∃(pk ∈ P − {p})
((pk , ti ) ∈ A ∧ (pk , tj ) ∈ B) ∨ ((pk , tj ) ∈ A ∧ (pk , ti ) ∈ B),
i.e., no two transitions from the set Out(p) can be enabled by the same marking
m. An inhibitor net is conflict–free iff all its shared places are guarded. Moreover, a shared place p is free–choice iff the input sets and inhibitor sets of all
transitions sharing p are identical, i.e., iff:
∀(ti , tj ∈ Out(p)) Inp(ti ) = Inp(tj ) ∧ Inh(ti ) = Inh(tj ).
An inhibitor net is free–choice iff all its shared places are either guarded or
free–choice.
In free–choice nets, the relation of sharing a free–choice place is an equivalence relation in T , hence it determines a partition of T into a set of free-choice
equivalence classes denoted by F ree(T ) = {T1 , T2 , ..., Tk }.
It should be noticed that in a free–choice marked net M, for each marking
m and for each free-choice equivalence class Ti ∈ F ree(T ), either all transitions
of Ti are enabled simultaneously, or the whole class is disabled by m. Moreover,
free–choice nets are nonpersistent [Jones et al. 1977], i.e., the firing of one of
enabled transitions may disable other enabled transitions (in the same free–
choice equivalence class).
Every transition enabled by a marking m can fire. When an enabled transition t fires, a token is removed from each of t’s input places (but not inhibitor
places) and a token is added to each of t’s output places. This determines a new
marking in a net, a new set of enabled transitions, and so on.
A marking mj is directly reachable (or tk –reachable) from a marking mi in
a net N iff there exists a transition tk enabled by the marking mi , tk ∈ En(mi ),
such that its firing transforms mi into mj , i.e., iff:
D–timed Petri nets and modelling of timeouts and protocols
335
mi (p) − 1,
if p ∈ Inp(tk ) − Out(tk ),
∀(p ∈ P ) mj (p) =
mi (p) + 1, if p ∈ Out(tk ) − Inp(tk ),
m (p),
otherwise.
i
A marking mj is (generally) reachable from a marking mi in a net M iff
there exists a firing sequence which transforms mi into mj , i.e., if there exists a
sequence of markings (mi0 , mi1 , mi2 , ..., min ) such that mi0 = mi , min = mj , and
each marking mik is directly reachable from the marking mik−1 for k = 1, ..., n.
A set M (M) of reachable markings of a Petri net M is the set of all markings
which are reachable from the initial marking m0 .
A marked Petri net M is bounded if there exists a positive integer k such
that each marking in the set M (M) assigns at most k tokens to each place of
the net:
∃(k > 0) ∀(m ∈ M (M)) ∀(p ∈ P ) m(p) ≤ k.
In timed Petri nets [Ramchandani 1974, Zuberek 1980, 1982], each transition
t takes a “real” time to fire. When t is enabled, a firing can be initiated by
removing tokens from t’s input places. The tokens remain in the transition t
for the firing time, and then the firing terminates by adding tokens to each of
t’s output places. Each of the firings is initiated in the same instant of time in
which it is enabled. If a transition is enabled while it fires, a new, independent
firing can be initiated.
In D–timed Petri nets the firing times are deterministic (or constant), i.e.,
there is a positive (real) number assigned to each transition of a net which determines the duration of transition’s firing. In M–timed Petri nets [Zuberek
1985] and stochastic Petri nets [Ajmone Marsan et al. 1984, Molloy 1982] the
firing times are exponentially distributed random variables, and the corresponding firing rates are assigned to transitions of a net. The memoryless property of
the (negative) exponential distribution simplifies the description and analysis of
M-timed Petri nets.
Since in timed Petri nets all transition firings are initiated in the same instants of time in which they are enabled, some of the firings can be initiated
several times, removing several tokens from each of the input places. The number of such simultaneous initiations is called the degree of a firing.
In free–choice nets, within free–choice equivalence classes the transitions are
selected for firing in a random way. Therefore it is convenient to define all
possibilities of transition firings as a function of an actual marking. The set of
selection functions is introduced to describe all such possibilities.
D–timed Petri nets and modelling of timeouts and protocols
336
A selection function of a marking m in a free–choice net N is any function
g : T → {0, 1, ...} such that:
(1) there exists a sequence of transitions w = (ti1 , ti2 , ..., tik ) in which tij ∈
En(mij−1 ) for j = 1, ..., k and for mi0 = m, where:
∀(p ∈ P ) mij (p) = mij−1 (p) −
(
1, if p ∈ Inp(tij ),
0, otherwise,
(2) the set of transitions enabled by mik , En(mik ), is empty,
(3) for each transition t ∈ T the number of occurrences of t in the sequence w
is equal to g(t).
The set of all selection functions of a marking m is denoted by Sel(m).
It is assumed that the “choices” within free–choice equivalence classes are
random and independent, and that they can be described by a “choice function”
c : T → [0, 1] which is defined in such a way that for each equivalence class
Ti ∈ F ree(T ), the sum of probabilities c(t) is equal to 1. Then, the probability
associated with a selection function g ∈ Sel(m) is equal to:
Y
a(Ti , g)
Ti ∈F ree(T )
Y
c(t)g(t)
t∈Ti
where the coefficient a(Ti , g), Ti ∈ F ree(T ), describes the number of different
ways in which choices can be made within the free–choice class Ti . It can be
determined as follows. Let an n-argument function ψ be defined recursively:
(1) ψ(0, 0, ..., 0) = 1,
(2) ψ(k1 , k2 , ..., kn ) =
X
1≤i≤n
(
ψ(k1 , ..., ki−1 , ki − 1, ki+1 , ..., kn ), if ki > 0,
0,
if ki = 0.
Then, for the class Ti = {ti1 , ti2 , ..., tin }:
a(Ti , g) = ψ(g(ti1 ), g(ti2 ), ..., g(tin )),
and, for any marking m:
X
Y
g∈Sel(m) Ti ∈F ree(T )
a(Ti , g)
Y
t∈Ti
c(t)g(t) = 1.
D–timed Petri nets and modelling of timeouts and protocols
337
In fact, the values of a(Ti , g) are coefficients of a multinomial expansion when
the variables correspond to the transitions of Ti , and the exponents of variables
are determined by the selection function g.
An inhibitor D–timed Petri net T is a triple T = (M, c, f ) where:
M is a free-choice marked Petri net, M = (N, m0 ), N = (P, T, A),
c is a choice function which assigns a “free–choice” probability to each
transition of a net in such a way that:
∀(Ti ∈ F ree(T ))
X
c(t) = 1,
t∈Ti
f is a firing time function which assigns the time of firing f (t) to each
transition t of the net, f : T → R⊕ , and R⊕ is the set of nonnegative
(real) numbers.
Since in a timed Petri net the tokens are distributed in places as well as in
(firing) transitions, any instantaneous description of a net, i.e., a “state” or a
“configuration” of a net, must take into account places and transitions.
A state s of a D–timed Petri net T is a triple s = (m, n, r) where:
m is a marking function, m : P → {0, 1, ...}, .ti-3n n is a firing–rank
function which indicates the number of active firings (i.e., the number
of firings which have been initiated but are not yet terminated) for
each transition of the net, n : T → {0, 1, ...},
r is a remaining–firing–time function which assigns the remaining time of
firing to each independent firing (if any) of each transition; if the firing
rank of a transition t is equal to k, n(t) = k, then the remaining–
firing–time function r(t) is a vector of k nonnegative (real) numbers
denoted by r(t)[1], r(t)[2], ..., r(t)[k], where r(t)[1] is the “earliest”
firing of t, i.e., the firing with the smallest remaining firing time; r is a
partial function which is undefined for all those transitions t for which
n(t) = 0.
An initial state si of an inhibitor net T = (M, f ), M = (N, m0 ), is a
triple si = (mi , ni , ri ) where ni is a selection function from the set Sel(m0 ),
ni ∈ Sel(m0 ), and the remaining–firing–time function ri and the marking mi
are determined as follows:
D–timed Petri nets and modelling of timeouts and protocols
∀(t ∈ T ) ri (t)[z] =
(
338
f (t),
if ni (t) > 0 ∧ 1 ≤ z ≤ ni (t),
undefined, otherwise,
∀(p ∈ P ) mi (p) = m0 (p) −
X
gi (t).
t∈Out(p)
An inhibitor D-timed Petri net can have several different initial states.
A state sj = (mj , nj , rj ) is directly reachable (or gk –reachable) from the state
si = (mi , ni , ri ) iff:
(1) gk ∈ Sel(mij ),
(2) ∀(p ∈ P ) mj (p) = mij (p) −
X
gk (t),
t∈Out(p)
(3) ∀(t ∈ T ) nj (t) = ni (t) − di (t) + gk (t),
(4) ∀(t ∈ T ) rj (t)[z] =
ri (t)[z + di (t)] − hi ,
f (t),
undefined,
where:
(5) ∀(p ∈ P ) mij (p) = mi (p) +
X
if 1 ≤ z ≤ ni (t) − di (t),
if ni (t) − di (t) < z ≤ nj (t),
otherwise,
di (t),
t∈Inp(p)
(6) ∀(t ∈ T ) di (t) =
(7) hi =
min
t∈T ∧ni (t)>0
ni (t),
z,
0,
if ni (t) > 0 ∧ ri (t)[ni (t)] = hi ,
if ni (t) > 0 ∧ ri (t)[z] = hi ∧ ri [z + 1] > hi ,
otherwise,
(ri (t)[1]).
The state sj which is gk –reachable from the state si is obtained by the
termination of the next firings (6,7) and updating the marking of a net (5), and
then initiating new firings (if any) indicated by the selection function gk from
the set Sel(mij ) (1,2,3 and 4). The next firings correspond to the firings with
the smallest remaining firing time; this time is denoted by hi (7), and is called
the holding or the sojourn time of the state si .
A state sj is (generally) reachable from a state si if there exists a sequence
of directly reachable states from the state si to the state sj . Also, a set S(T) of
reachable states is defined as the set of all states of a net T which are reachable
from the initial states.
A D–timed Petri net T is p–bounded iff there exists a positive integer kp
such that the marking function of each state s = (m, n, r) from the set S(T)
assigns at most kp tokens to each place of the net:
D–timed Petri nets and modelling of timeouts and protocols
339
∀(kp > 0) ∀((m, n, r) ∈ S(T)) ∀(p ∈ P ) m(p) ≤ kp .
Also, T is t-bounded iff there exists a positive integer kt such that the total
number of active firings in each state s = (m, n, r) from the set S(T) is not
greater than kt for each transition of the net:
∀(kt > 0) ∀((m, n, r) ∈ S(T)) ∀(t ∈ T ) n(t) ≤ kt .
A net T is bounded iff it is p-bounded and t-bounded. It should be obvious
that T is bounded iff its reachability set S(T) is finite.
It should be noticed that in inhibitor D–timed Petri nets there is no direct relationship between the number of reachable markings and the number of
reachable states. For many D–timed nets with finite sets of reachable states,
the underlying ordinary nets (i.e., the nets “without” time) are unbounded (an
example is shown in Fig.1), and there are also bounded (ordinary) nets which
augmented by a firing function have infinite sets of reachable states.
A state graph G of an inhibitor D–timed Petri net T is a labeled directed graph
G(T) = (V, D, q) where:
V is a set of vertices which is equal to the set of reachable states of the net
T, V = S(T),
D is a set of directed arcs, D ⊂ V × V , such that (si , sj ) is in D iff sj is
directly reachable from si in T,
q is a labeling function which assigns the probability of transitions from si
to sj to each arc (si , sj ) in the set D, q : D → [0, 1], in such a way that
if sj is gk –reachable from si , then:
q(si , sj ) =
Y
Ti ∈F ree(T )
a(Ti , gk )
Y
c(t)gk (t) .
t∈Ti
It should be observed that the state graphs of free–choice D–timed nets are
(embedded) discrete–time homogeneous Markov chains [Kleinrock 1975]. The
stationary (or equilibrium) embedded probabilities y(s) of the states s ∈ S(T)
are obtained from the transitions probabilities q(si , sj ) by solving a system of
simultaneous linear equations:
340
D–timed Petri nets and modelling of timeouts and protocols
P
1≤j≤N q(sj , si ) ∗ y(sj ) = y(si ); i = 1, ..., N − 1
P
1≤i≤N
y(si ) = 1
where N is the number of states in the set S(T), and then the stationary probabilities x(s) are equal to stationary embedded probabilities weighted by the
holding times of the states s ∈ S(T):
x(si ) = y(si ) ∗ hi /
X
y(sj ) ∗ hj , i = 1, ..., N.
1≤j≤N
Example. The inhibitor free–choice D–timed Petri net T1 shown in Fig.1 (as
usual, places are represented by circles, transitions by bars, inhibitor arcs have
small circles instead of arrowheads, the initial marking function is indicated by
the corresponding numbers of dots within places, and the firing time and the
choice functions are given as additional descriptions of transitions) contains one
guarded place (p5 ) and one free–choice place p3 . The derivation of the set S(T1 )
of reachable states is given in Tab.1 which also shows the stationary probabilities
of the states, x(s), s ∈ S(T1 ).
t2
10
p2
p4
t1
p
t5
0
20
t3
0.1
p5
p1
t7
t6
0
0
0
p6
t4
0.9
5
Fig.1. Inhibitor D-timed Petri net T1 .
p3
341
D–timed Petri nets and modelling of timeouts and protocols
si
1
2
x(si )
0.000
0.065
mi
123456
000000
000000
ni
1234567
1000000
0100100
hi
0.0
10.0
3
4
5
6
7
8
9
10
0.290
0.000
0.000
0.065
0.290
0.000
0.000
0.290
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
5.0
0.0
0.0
10.0
5.0
0.0
0.0
5.0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
1
0
1
1
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
1
1
1
2
0
1
1
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
1
0
0
0
1
0
0
0
0
1
0
0
0
2
1
0
0
0
0
1
0
0
0
0
0
0
3
0
0
1
0
0
0
0
0
0
0
0
1
gk
45
01
10
00
00
00
01
00
00
00
00
10
00
6
0
0
0
0
0
0
0
1
0
0
0
0
7
0
0
0
0
0
0
1
0
0
0
0
0
sj
2
3
4
5
6
7
8
9
1
10
3
4
q(si , sj )
1.00
0.90
0.10
1.00
1.00
1.00
1.00
1.00
1.00
1.00
0.90
0.10
Tab.1. The set of reachable states for T1 .
This net is a model of a very simple protocol in which messages sent from
the sender (place p1 ) to the receiver (place p3 ) are confirmed by acknowledgements sent back to sender (in the loop p1 , t1 , p2 , t2 , p3 , t4 ). There is a nonzero
probability that the system can lose (or distort) a message or an acknowledgement; the place p3 is a free–choice place, and the transition t3 models a message/acknowledgement “sink”; the probability associated with t3 , c(t3 ), represents thus the probability of losing a message or an acknowledgement (or shortly
a “token”) in the system. A “timeout” is used to recover from lost “tokens”. It
works in the following way. An event of “sending a message” is modelled by the
transition t1 . When it fires, single tokens are deposited in p2 (a “message”) and
in p4 (a “timeout”). A token in p4 immediately starts a firing of the “timeout”
transition t5 . The firing time associated with t5 is large enough to allow the
transfer of a message and an acknowledgement. If there is no loss of tokens,
i.e., if t4 is selected for firing (according to its probability), the transition t4 will
finish its firing before t5 , and then a token will “wait” in the place p6 for the end–
of–timeout (i.e., for another token in the place p5 which will be deposited there
at the end of t5 ’s firing; the place p5 is a guarded place) after which the firing
of t6 (t7 is disabled by the inhibitor arc) removes the “timeout token” from the
system (t6 is another token “sink”). If, however, a message or acknowledgement
has been lost (i.e., if t3 has been selected for firing instead of t4 ), the timeout t5
ends its firing without a token in p6 , and then t7 must fire which “regenerates”
the “lost” message.
D–timed Petri nets and modelling of timeouts and protocols
342
The stationary probabilities can be used in performance analysis. For example, the throughput rate of this system (i.e., the average number of correct
message transfers in a time unit) can be obtained from the utilization of t4 (t4
models transfer of acknowledgements, and each correct message requires an acknowledgement); this utilization is equal to x(s3 ) = 0.290 (since ni (t4 ) > 0 in
the state s3 only). The throughput rate is equal to 0.20/f (t4 ) = 0.058 messages
per time unit or 58 messages per 1000 time units. Some other results are given
in [Zuberek 1986].
3. EXTENDED D-TIMED PETRI NETS
Inhibitor arcs provide a flexible mechanism for modelling priorities of simultaneous events, however, the priorities are taken into account only at the
beginning of new firings. In the previous example, the timeout is “neutralized”
rather than canceled, and this results in an increased number of states of the
modelled system. The interrupt arcs as a generalization of inhibitor arcs are
introduced to “interrupt” firing transitions and to “preempt” the resources used
by “lower priority” activities.
An extended Petri net N is a 5–tuple N = (P, T, A, B, C) where:
(P, T, A, B) is an inhibitor Petri net,
C is a set of interrupt arcs which is a subset of the set of inhibitor arcs,
C ⊆ B.
A place p is an interrupting place of a transition t iff (p, t) ∈ C. The set
of all interrupting places of t is denoted by Int(t), and the set of transitions
connected by interrupt arcs with p by Int(p), Int(p) = {t | p ∈ Int(t)}. The
notation is generalized in the usual way for sets of places and transitions.
In Petri nets without time, interrupt arcs are equivalent to inhibitor arcs. In
extended D–timed Petri nets, interrupt arcs may “cancel” firings of transitions.
If, during a firing period of a transition t, at least one of t’s interrupting places
becomes nonempty (i.e., it receives a token as a result of termination of another
firing), the firing of t ceases and the tokens removed from t’s input places at the
beginning of firing, are returned to their original places.
An extended Petri net N = (P, T, A, B, C) is simple iff input sets of transitions with nonempty interrupting sets do not contain interrupting places, i.e.:
∀(t ∈ T ) Int(t) = Φ ∨ Int(Inp(t)) = Φ
where Φ denotes the empty set.
D–timed Petri nets and modelling of timeouts and protocols
343
Simple nets do not allow the interrupts to “propagation” (which slightly
simplifies the description of state transitions). Non–simple extended nets must
take into account “indirect” interrupts when an interrupted transition, through
its input places, interrupts another transition.
For extended nets, the definition of a D–timed Petri net, a state and an
initial state is the same as for inhibitor nets (with “extended” property replacing
“inhibitor” one), but the description of state transitions must be modified.
In extended D–timed Petri nets, a state sj = (mj , nj , rj ) is directly reachable
(or gk –reachable) from the state si = (mi , ni , ri ) iff:
(1) gk ∈ Sel(mij ),
X
(2) ∀(p ∈ P ) mj (p) = mij (p) −
gk (t),
t∈Out(p)
(3) ∀(t ∈ T ) nj (t) = ni (t) − bi (t) − di (t) + gk (t),
(4) ∀(t ∈ T ) rj (t)[z] =
where:
ri (t)[z + bi (t) + di (t)] − hi , if 1 ≤ z ≤ ni (t) − di (t),
f (t),
if n (t) − b (t) − di (t) < z ≤ nj (t),
i
i
undefined, otherwise,
(5) ∀(p ∈ P ) mij (p) = mii (p) +
X
bi (t),
t∈Out(p)
(6) ∀(t ∈ P ) bi (p) = mii (p) + min(ni (t) − di (t),
X
mii (p),
p∈Int(t)
(7) ∀(p ∈ P ) mii (p) = mi (p) +
X
di (t),
t∈Inp(p)
(8) ∀(t ∈ T ) di (t) =
(9) hi =
min
t∈T ∧ni (t)>0
ni (t),
z,
0,
if ni (t) > 0 ∧ ri (t)[ni (t)] = hi ,
if ni (t) > 0 ∧ ri (t)[z] = hi ∧ ri [z + 1] > hi ,
otherwise,
(ri (t)[1]).
The state sj which is gk –reachable from the state si , is obtained by the
termination of the next firings (8,9) and updating the marking and firing of a
net (7), performing all interrupts of firing transitions (if any) as indicated by
the function bi (5 and 6), and then initiating new firings (if any) which are
determined by a selection function gk from the set Sel(mij ) (1,2,3 and 4).
Example. The simple extended free–choice D–timed Petri net T2 shown in
Fig.2 (interrupt arcs are marked by dots instead of arrowheads) is a modification
of the net T1 from Fig.1; the inhibitor arc (p6 , t7 ) is replaced by the interrupt
344
D–timed Petri nets and modelling of timeouts and protocols
arc which cancels the timeout t5 whenever an acknowledgement token appears
in p5 ; the “timeout token” is then removed from p4 by firing t6 . Moreover,
the terminated timeout directly regenerates the message in p1 which slightly
simplifies the net.
t2
p2
10
t1
p
0
t3
0.1
p1
p3
p4
t5
t6
20
0
0
p5
t4
0.9
5
Fig.2. Inhibitor D–timed Petri net T2 .
The derivation of the set S(T2 ) and the stationary probabilities of the states
are shown in Tab.2.
si
1
2
x(si )
0.000
0.645
mi
12345
00000
00000
ni
123456
100000
010010
hi
0.0
10.0
3
4
5
6
0.290
0.000
0.000
0.065
0
0
0
0
0
0
1
0
5.0
0.0
0.0
10.0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
1
1
0
1
0
0
1
0
1
0
0
0
1
0
0
1
2
1
0
0
0
0
1
0
gk
34
00
01
10
00
00
00
00
5
1
0
0
0
0
1
0
6
0
0
0
1
0
0
0
Tab.2. The set of reachable states for T2 .
sj
2
3
4
5
6
2
1
q(si , sj )
1.00
0.90
0.10
1.00
1.00
1.00
1.00
D–timed Petri nets and modelling of timeouts and protocols
345
In should be observed that the stationary probabilities in Tab.2 are equivalent to those from Tab.1 taking into account that some of the states from Tab.1
are aggregated into single states in Tab.2. For example, s2 in Tab.2 replaces s2 ,
s9 and s10 in Tab.1.
4. ENHANCED D–TIMED PETRI NETS
Enhanced Petri nets combine two different classes of Petri nets, “immediate” nets which are in fact ordinary (i.e., without time) inhibitor free–choice
“straight” Petri nets, and “timed” nets which are extended simple free–choice
bounded D–timed Petri nets. The resulting nets are more “powerful” than
other classes of D–timed Petri nets since the only restriction on the complexity
of conditions associated with timed transitions is that the “immediate” subnets
modelling them must be “straight”, i.e., must guarantee finite firing sequences
(in order to provide effective evaluations). It should be observed that the immediate transitions could be replaced by timed transitions with the firing times
equal to zero. This, however, would increase the state space since all the states
with zero holding times must have been processed in exactly the same way as
other states (despite the fact that they do not affect the stationary probabilities, and finally they could be removed). Enhanced Petri nets eliminate such
“elusive” states during generation of the set of reachable states, which can considerably simplify the state space as well as the performance analysis (based on
stationary probabilities of states).
A net Ni = (Pi , Ti , Ai , Bi , Ci ) is a Ti –implied subnet of an extended net N =
(P, T, A, B, C) iff
(1) Ti ⊆ T ,
(2) Ai = A ∩ (P × Ti ∪ Ti × P ),
(3) Bi = B ∩ (P × Ti ),
(4) Ci = C ∩ (P × Ti ), and
(5) Pi = Inp(Ti ) ∪ Out(Ti ) ∪ Inh(Ti ) ∪ Int(Ti ).
Also, a net N is straight iff for all initial markings m0 , the set of reachable
markings M (M), M = (N, m0 ), can be ordered in such a way that for all pairs
of markings mi and mj in M (M), mj can be (generally) derived from mi only
if i is less than j, i.e., iff the marking graph of M [Peterson 1981, Zuberek 1985]
is acyclic. In straight bounded nets all firing sequences of (finite) markings are
finite. If a graph of a net N = (P, T, A, B, C) does not contain cycles, i.e., if
D–timed Petri nets and modelling of timeouts and protocols
346
a directed graph (P ∪ T, A) is acyclic, the net is obviously straight, but many
cyclic nets are also straight.
An enhanced Petri net H is a 6–tuple H = (P, Tt , T0 , A, B, C) where:
(P, Tt ∪ T0 , A, B, C) is an extended free–choice Petri net,
Tt is a set of timed transitions,
T0 is a set of immediate transitions such that the T0 –implied subnet of
(P, Tt ∪ T0 , A, B, C) is straight, the sets Tt and T0 are disjoint, and:
∀(Ti ∈ F ree(Tt ∪ T0 )) Ti ⊆ Tt ∨ Ti ⊆ T0 ,
i.e., each free–choice equivalence class of transitions must belong either
to the timed or to the immediate set of transitions.
The set of all transitions is denoted by T , T = Tt ∪ T0 .
An enhanced marked Petri net M is a pair M = (H, m0 ). Similarly as before,
the set of transitions enabled by a marking m is denoted by En(m). Moreover,
En0 (m) denotes the set of immediate transitions enabled by m, and Ent (m) the
set of timed transitions enabled by m.
An enhance function of a marking m in a net M is any function e : T → {0, 1, ...}
such that:
(1) there exists a finite (possibly empty) firing sequence of immediate transitions v = (ti1 , ti2 , ..., tik ) which transforms the marking m into a marking
mk , and the set of immediate transitions enabled by mk , En0 (mk ), is
empty, and
(2) for each immediate transition t ∈ T0 the number of occurrences of t in the
sequence v is equal to e(t), while for each timed transition t ∈ Tt , e(t) = 0.
The set of all enhance functions of a marking m is denoted by Enh(m). Since
the immediate subnet (i.e., the T0 –implied subnet) is straight, for each marking
m the set Enh(m) is finite.
In enhanced nets, selection functions are defined similarly as in extended
(inhibitor or free–choice) nets but with respect to timed transitions only. A
selection function of a marking m in an enhanced net H is thus any such function
g : T → {0, 1, ...} that:
(1) there exists a sequence of timed transitions w = (ti1 , ti2 , ..., tik ) in which
tij ∈ Ent (mij−1 ) for j = 1, ...k and for mi0 = m, where:
347
D–timed Petri nets and modelling of timeouts and protocols
∀(p ∈ P ) mij (p) = mij−1 (p) −
(
1, if p ∈ Inp(tij ),
0, otherwise,
(2) the set of timed transitions enabled by mik , Ent (mik ), is empty,
(3) for each timed transition t ∈ Tt the number of occurrences of t in the
sequence w is equal to g(t), while for each immediate transition t ∈ T0 ,
g(t) = 0.
An enhanced free–choice D–timed Petri net T is a triple T = (M, c, f ) where:
M is a marked enhanced free-choice Petri net, M = (H, m0 ), H =
(P, Tt , T0 , A, B, C),
c is a choice function which assigns a “free–choice” probability to each
transition of a net in such a way that
∀(Ti ∈ F ree(T ))
X
c(t) = 1,
t∈Ti
f is a firing–time function which assigns the time of firing f (t) to each
timed transition t of the net, f : Tt → R⊕ .
A state s of a D–timed Petri net T is a triple s = (m, n, r) where:
m is a marking function, m : P → {0, 1, ...},
n is a firing–rank function, n : Tt → {0, 1, ...},
r is a remaining–firing–time function, r : Tt → (R⊕ )n .
An initial state si of an enhanced net T is a triple si = (mi , ni , ri ) where ni
is a selection function from the set Sel(mk ), ni ∈ Sel(mk ), mi is the residual
marking after initiating the firings indicated by ni , and the remaining–firing–
time function ri is equal to the firing times f (t) for all those transitions t ∈ Tt
for which ni is nonzero, and the (intermediate) marking mk is determined by
an enhance function ek from the set Enh(m0 ), ek ∈ Enh(m0 ), in the following
way:
∀(p ∈ P ) mk (p) = m0 (p) +
X
t∈Inp(p)
ek (t) −
X
t∈Out(p)
ek (t),
348
D–timed Petri nets and modelling of timeouts and protocols
An enhanced free–choice net T may have several different initial states.
A state sj = (mj , nj , rj ) is directly reachable (or (ek , gℓ )–reachable) from the
state si = (mi , ni , ri ) iff:
(1) ek ∈ Enh(mij ),
(2) gℓ ∈ Sel(mijk ),
(3) ∀(p ∈ P ) mj (p) = mijk (p) −
X
gℓ (t),
t∈Out(p)
(4) ∀(t ∈ T ) nj (t) = ni (t) − bi (t) + gℓ (t),
(5) ∀(t ∈ T ) rj (t)[z] =
ri (t)[z + bi (t)] − hi , if 1 ≤ z ≤ ni (t) − bi (t),
f (t),
if ni (t) − bi (t) < z ≤ nj (t),
otherwise,
undefined,
where:
(6) ∀(p ∈ P ) mijk (p) = mij (p) −
X
ek (t) +
t∈Out(p)
(7) ∀(p ∈ P ) mij (p) = mii (p) +
X
X
ek (t),
t∈Inp(p)
bi (t),
t∈Out(p)
(8) ∀(t ∈ P ) bi (p) =
(
min(ni (t) − di (t),
0,
(9) ∀(p ∈ P ) mii (p) = mi (p) +
X
P
p∈Int(t) mii (p)),
if t ∈ Tt ,
otherwise,
di (t),
t∈Inp(p)
(10) ∀(t ∈ T ) di (t) =
(11) hi =
min
t∈T ∧ni (t)>0
ni (t), if ni (t) > 0 ∧ ri (t)[ni (t)] = hi ,
z,
0,
if ni (t) > 0 ∧ ri (t)[z] = hi ∧ ri [z + 1] > hi ,
otherwise,
(ri (t)[1]).
The state sj which is (ek , gℓ )–reachable from the state si is obtained by the
termination of the “next” firings (10,11) and updating the marking of a net (9),
performing all interrupts (if any) as determined by the function bi (7 and 8) and
then performing all immediate firings which correspond to an enhance function
ek from the set Enh(mij ) (1,6), and initiating new firings (if any) indicated by
the selection function gℓ from the set Sel(mijk ) (2,3,4 and 5).
Similarly as for reachable markings, a state sj is reachable from a state si if
there is a sequence of directly reachable states from the state si to the state sj .
Also, a set S(T) of reachable states is defined as the set of all states of a net T
which are reachable from the initial states.
349
D–timed Petri nets and modelling of timeouts and protocols
A state–transition graph G of a D–timed Petri net T is a labeled directed graph
G(T) = (V, D, q) where:
V is a set of vertices which is equal to the set of reachable states of the net
T, V = S(T),
D is a set of directed arcs, D ⊂ V × V , such that (si , sj ) is in D iff sj is
directly reachable from si in T,
q is a labeling function which assigns the probability of transitions from si
to sj to each arc (si , sj ) in the set D, q : D → [0, 1], in such a way that
if sj is directly (ek , gℓ )–reachable from si , then:
q(si , sj ) =
Y
a(Ti , ek + gℓ )
Y
c(t)ek (t)+gℓ (t) .
t∈Ti
Ti ∈(T )
Example. The enhanced net T3 shown in Fig.3 is yet another model of the
protocol from Fig.1 and Fig.2 (the timed transitions are represented by solid
bars while immediate transitions by bars). T3 uses immediate transitions as a
replacement for all transitions with zero firing time (an additional immediate
transition t7 is used to satisfy the requirement that the whole free-choice classes
must be either immediate or timed). The derivation of the state space for T3 is
shown in Tab.3 which contains only 3 states.
t2
p2
10
t1
p
t3
p1
p3
p4
t5
0.1
t6
20
t7
0.9
p5
t4
p6
5
Fig.3. Inhibitor D-timed Petri net T3 .
350
D–timed Petri nets and modelling of timeouts and protocols
si
1
x(si )
0.645
mi
123456
000000
2
3
0.290
0.065
000000
000000
ni
245
101
hi
10.0
011
001
5.0
10.0
1
0
0
1
1
ek
36
00
10
01
00
7
1
0
0
0
gℓ
123
010
000
101
101
sj
2
3
1
1
q(si , sj )
0.90
0.10
1.00
1.00
Tab.3. The set of reachable states for T3 .
It should be observed that the stationary probabilities in Tab.3 are the same as
in Tab.2.
5. UNBOUNDED NETS
All previous examples used bounded nets, i.e., nets with finite sets of reachable states. For unbounded nets the approach is very similar with one, significant
difference. Since the state space of unbounded nets is infinite, a set of recursive
relationships among the states must be determined which reduces infinite number of balance equations to a finite “base” of this space. A regular structure of
infinite state space is used for such reductions.
The net shown in Fig.4 is used as an example of unbounded D–timed Petri
nets. It is a model of the popular “producer-consumer” communication scheme
with unbounded buffer, and with “consuming times” that are geometrically distributed.
p4
t5
p1
0.9
t6
t1
t2
2
1
1
t3
0.1
p6
p3
t4
p2
p5
1
Fig.4. Unbounded D–timed Petri net T4 .
The geometric distribution (of consuming times) is represented by the cycle
(t4 , p6 , t6 , p5 ). Because of the free–choice place p6 , the total consuming time
is equal to 1 time unit with probability 0.9, 2 units with probability 0.1*0.9,
D–timed Petri nets and modelling of timeouts and protocols
351
3 units with probability 0.1*0.1*0.9, etc. The average consuming time is thus
equal to 1 ∗ 0.9 + 2 ∗ 0.09 + 3 ∗ 0.009 + ... ≈ 1.111 time units. Since it is smaller
than the producing time (t1 = 2), the model has a stationary solution of the
corresponding discrete–time discrete–space Markovian process.
The derivation of the initial part of the set of reachable states is given in
Tab.4, and the corresponding graph is shown in Fig.5.
It can be observed that the graph (and, of course, the table) exhibits a
“regular” 3–node structure which is repeated in nodes 5, 6, 8, 10, 12, etc. The
equilibrium equations corresponding to this repetitions are as follows (see Tab.4
and Fig.5):
si
1
2
3
1
0
0
0
4
2
0
0
0
mi
34
01
00
00
5
0
0
0
6
0
0
0
1
0
1
1
ni
23
10
01
00
4
0
0
1
hi
1.0
1.0
1.0
000000
0101
1.0
5
001000
1001
1.0
6
001000
1001
1.0
7
8
000000
001000
1010
0101
1.0
1.0
9
10
000000
002000
0110
1001
1.0
1.0
11
12
001000
002000
1010
1001
1.0
1.0
13
14
001000
002000
1010
0101
1.0
1.0
15
...
001000
...
0110
...
1.0
...
1
1
0
0
0
1
1
0
0
0
0
0
1
1
1
0
0
0
0
0
0
1
1
1
gk
23
01
00
10
10
00
01
00
01
10
11
10
00
01
00
00
01
00
10
11
10
00
01
00
...
4
0
1
1
0
1
0
1
0
1
0
1
1
0
1
1
0
1
1
0
1
1
0
1
sj
2
3
4
1
5
2
6
7
8
9
4
10
11
5
12
13
6
14
15
8
16
17
10
...
q(si , sj
1.00
1.00
0.10
0.90
0.10
0.90
0.10
0.90
0.10
0.90
1.00
0.10
0.90
1.00
0.10
0.90
1.00
0.10
0.90
1.00
0.10
0.90
1.00
...
Tab.4. The set of reachable states for T4 .
D–timed Petri nets and modelling of timeouts and protocols
352
1
2
3
4
7
5
9
6
11
8
13
10
15
12
17
14
Fig.5. Graph of reachable states G(T4 ).
y5 = 0.1 ∗ y4 + y9 and y9 = 0.9 ∗ y6 ,
y6 = 0.1 ∗ y5 + y11 and y11 = 0.9 ∗ y8 ,
y8 = 0.1 ∗ y6 + y13 and y13 = 0.9 ∗ y10 ,
y10 = 0.1 ∗ y8 + y15 and y15 = 0.9 ∗ y12 , etc.,
or, in general form:
yi = 0.1 ∗ yi−2 + 0.9 ∗ yi+2 , for i = 8, 10, ..., and
yi = 0.9 ∗ yi−3 , for i = 7, 9, ...
To effectively solve this (infinite) set of equations, a relationship between y4
and y5 is needed. It can be obtained from the initial equilibrium equations:
y1 = 0.9 ∗ y3 ,
y2 = y1 + 0.9 ∗ y4 ,
D–timed Petri nets and modelling of timeouts and protocols
353
y3 = y2 ,
y4 = 0.1 ∗ y3 + 0.9 ∗ y5
from which, after several substitutions, y3 = 9 ∗ y4 and y4 = 9 ∗ y5 . Then:
y6 =
y7 =
y8 =
10
9 y5 −
9
10 y5 ,
10
9 y6 −
1
9 y4
= 19 y5 ,
1
9 y5
=
y9 = 0.9 ∗ y6 =
y10 =
10
9 y8
1
9∗9 y5 ,
1
10 y5 ,
− 19 y6 =
y11 = 0.9 ∗ y8 =
1
9∗9∗9 y5 ,
1
10∗9 y5 ,
etc.
The infinite sum of all probabilities yi , i ≥ 6, is thus equal to the sum of two
geometric series:
X
i=6,8,...
yi +
X
j=7,9,...
yj = (
10
+ 9)y5
9
and then the normalizing equation for the set of initial equilibrium equations is:
y1 + y2 + y3 + y4 + (1 + 10 19 )y5 = 1,
The solution is y1 =0.295, y2 =y3 =0.328, y4 =0.036, y5 =0.004, etc. Moreover,
since all holding times are equal to 1 time unit (see Tab.4), the stationary embedded probabilities are the same as the stationary probabilities, i.e., xi = yi , for
i=1,2,..., and then different performance measures can easily be evaluated. For
example, the utilization of the consumer is 1−x1 = 0.705 since the state s1 is the
only state in which the consumer is waiting (Tab.4, m1 (p4 ) = 1). The throughput (or the “consumption rate”) of this model is thus 0.705/(1+1.111)=0.334
items per time unit, which in the equilibrium state must be equal to the “producing rate” 1/(1+2)=0.333 (in the unbounded buffer scheme the producer is
utilized in 100 %). Many other results can be derived similarly as before.
It should be observed that the regularity of the state space structure can
easily be detected during (automatic) generation of the set of reachable states.
6. CONCLUDING REMARKS
A hierarchy of several classes of D–timed Petri nets has been presented with
proper inclusion of different classes in this hierarchy. Inhibitor nets can represent
D–timed Petri nets and modelling of timeouts and protocols
354
priorities of simultaneous events, and (extended) nets with interrupts arcs can
model preemptions of resources, cancellations of timeouts, etc., i.e., such events
which force transitions to discontinue their firings. Finally, in enhanced nets,
the two disjoint classes of immediate and timed transitions provide a simple
means for separation the “logic layer” of models (which quite often contains
many nontrivial conditions and relations) from the “timed” or “delay” model
aspects. Consequently, for the enhanced nets, the state space can be significantly
reduced, and the solution of the model correspondingly simplified. Some further
state reductions are discusses in [Zuberek 1986].
For each class of D–timed Petri nets, a discrete–time description has been
derived which represents the behaviour of bounded nets by finite homogeneous
semi–Markov discrete processes. The stationary probabilities of states can thus
be obtained by standard methods, and then operational analysis can be applied
to derive performance evaluations.
It has been shown that the state space can be generated directly from model
specifications, for example by appropriate software tools [Feldbrugge 1985]. And
since the state space is usually much more complex than the underlying net
model, a compact, flexible class of timed Petri net models has been proposed
with parameters directly corresponding to components or activities of modelled
systems (e.g., the numbers of processes, the numbers of resources, buffer capacities, etc.). Moreover, a similar approach can be used for analysis of unbounded
nets. For unbounded (extended) nets, however, more general techniques for
“folding” the infinite state space into a finite representation must be developed.
The D–timed Petri nets discussed in this paper are restricted in several ways
(simple free–choice nets), some of the restrictions, however, can be removed
easily by appropriate generalizations of the presented formalism. In fact, non–
simple Petri nets with more general conflicts (or “random switches” [Ajmone
Marsan etal. 1984]) can be handled in a very similar way provided the probabilities of conflicting firings are known and included in the state description. Also,
state–dependent firing–times and choice probabilities, as suggested in [Holliday
and Vernon 1985], require only minor modifications of the formulas presented
here.
Acknowledgement
The Natural Sciences and Engineering Research Council of Canada partially
supported this research through Operating Grant A8222.
D–timed Petri nets and modelling of timeouts and protocols
355
REFERENCES
Agerwala, T. 1979. “Putting Petri nets to work,” IEEE Computer, 12(12):8594.
Ajmone Marsan, M., G. Balbo, G. Chiola, G. Conte. 1987. “Generalized
stochastic Petri nets revisited: random switches and priorities,” Proc. of
the Int. Workshop on Petri Nets and Performance Models, Madison, WI.
Ajmone Marsan, M., G. Conte, G. Balbo. 1984. “A class of generalized stochastic Petri nets for the performance evaluation of multiprocessor systems,”
ACM Trans. on Computer Systems, 2(2):93-122.
Berthelot, G. and R. Terrat. 1982. “Petri net theory for the correctness of
protocols,” in: “Protocol Specification, Testing and Verification II”, S.
Sunshine (ed.), North-Holland.
Brauer, W. (ed.) 1980. “Net theory and applications” (Proc. of the Advanced
Course on General Net Theory of Processes and Systems), Lecture Notes
in Computer Science 84, Springer Verlag.
Chiola, G. 1987. “Structural analysis for generalized stochastic Petri nets:
some results and prospects,” Proc. of the Eighth European Workshop on
Application and Theory of Petri Nets, Zaragoza, Spain.
Chretienne, Ph. 1985. “Transient and asymptotic behaviour analysis of a
timed event graph” (in French), AFCET Technique et Science Informatique, 4(1):127-142.
Danthine, A. 1982. “Protocol representation with finite state models,” in:
Computer Network Architectures and Protocols, P.E. Green Jr (ed.), Plenum
Press.
Diaz, M. 1982. “Modeling and analysis of communication and cooperation
protocols using Petri net based models,” Computer Networks, 6(6):419441.
Feldbrugge, F. 1985. “Petri net tools,” in: Advances in Petri Nets 1985 (Lecture
Notes in Computer Science 222), G. Rozenberg (ed.), Springer Verlag.
Garg, K. 1985. ”An approach to performance specification of communication
protocols using timed Petri nets,” IEEE Trans. on Software Engineering,
11(1):1216-1225.
D–timed Petri nets and modelling of timeouts and protocols
356
Holliday, M.A. and M.K. Vernon. 1985. “A generalized timed Petri net model
for performance evaluation,” Proc. of the International Workshop on
Timed Petri Nets, Torino, Italy.
Jones, N.D., L.H. Landweber, Y.E. Lien. 1977. “Complexity of some problems
in Petri nets,” Theoretical Computer Science, 4(3):277-299.
Kleinrock, L. 1975 and 1976. “Queueing systems.” Vol.1: Theory, Vol.2: Computer applications, J. Wiley & Sons.
Kosaraju, S.R. 1973. “Limitations of Dijkstra’s semaphore primitives and Petri
nets,” Operating Systems Review, 7(4):122-126.
Magott, J. 1984. “Performance evaluation of concurrent systems using Petri
nets,” Information Processing Letters, 18(1):7-13.
Merlin, P.M. and D.J. Farber. 1976. “Recoverability of communication protocols - implications of a theoretical study,” IEEE Trans. on Communications, 24(9):1036-1049.
Molloy, M.K. 1982. “Performance analysis using stochastic Petri nets,” IEEE
Trans. on Computers, 31(9):913-917.
Molloy, M.K. 1985. “Discrete time stochastic Petri nets,” IEEE Trans. on
Software Engineering, 11(4):417-423.
Peterson, J.L. 1981. “Petri net theory and the modeling of systems”, PrenticeHall.
Ramchandani, C. 1974. “Analysis of asynchronous concurrent systems by
timed Petri nets”, Project MAC Technical Report MAC–TR–120, Massachusetts Institute of Technology, Cambridge, MA.
Razouk, R.R. and C.V. Phelphs. 1985. “Performance analysis using timed
Petri nets,” in: “Protocol Specification, Testing, and Verification IV”
(Proc. of the IFIP WG 6.1 Fourth Int. Workshop, Skytop Lodge PA,
June 11-14, 1984), Y. Yemini, R. Strom, S. Yemini (eds.), North-Holland.
Sifakis, J. 1977. “Use of Petri nets for performance evaluation,” in: “Measuring,
modelling and evaluating computer systems”, North-Holland.
Symons, F.J.W. 1980. “The description and definition of queueing systems by
numerical Petri nets,” Australian Telecommunication Journal, 13(2):2031.
D–timed Petri nets and modelling of timeouts and protocols
357
Yemini, Y. and J.F. Kurose. 1982. “Towards the unification of the functional
and performance analysis of protocols or, is the alternating-bit protocol
really correct,” in: “Protocol specification, testing and verification II”, C.
Sunshine (ed.), North-Holland.
Zuberek, W.M. 1980. “Timed Petri nets and preliminary performance evaluation,” Proc. of the IEEE Seventh Annual Symp. on Computer Architecture, La Baule, France.
Zuberek, W.M. 1982. “Application of timed Petri nets to analysis of multiprocessor realizations of digital filters,” Proc. of the 25th Midwest Symp. on
Circuits and Systems, Houghton, MI.
Zuberek, W.M. 1985. “M–timed Petri nets, priorities, preemptions, and performance evaluation of systems”; in: “Advances in Petri Nets 1985” (Lecture
Notes in Computer Science 222), G. Rozenberg (ed.), Springer Verlag.
Zuberek, W.M. 1986. “Inhibitor D–timed Petri nets and performance analysis
of communication protocols,” INFOR Journal, 24(3):231-249.
© Copyright 2026 Paperzz