Fuzzy Timed Petri Net Definitions, Properties, and Applications
Fuzzy Timed Petri Net Definitions, Properties, and Applications
com MATHEMATICAL
AND
8O,'NOm ~O,RICT" COMPUTER
MODELLING
ELSEVIFR Mathematical and Computer Modelling 41 (2005) 345-360
www.elsevier.com/locate/mcm
A b s t r a c t - - W e present a new fuzzy timed Petri net model. Each transition firing in our model
is associated with a fuzzy number; during transition, firings tokens are removed from input and
added to output places. We consider the marks changing rate in each place as constant, and our
performance analysis is based on the reachability state graph. Our model has fuzzy differential
equations incorporated with it. Finally, we present the capabilities of the model by examples. (~) 2005
Elsevier Ltd. All rights reserved.
1. I N T R O D U C T I O N
Petri nets were originally developed in the 1960s and the 1970s, and they were soon recognized
as one of the most adequate and sound languages for description and analysis of synchronization,
communication, and resource sharing between concurrent processes. In the late 1970s, high-level
Petri nets and in the late 1980s hierarchical Petri nets were introduced to remove two serious
drawbacks.
1. The lack of d a t a manipulation concepts. Because of that, the models often became ex-
cessively large, since all data manipulation had to be represented directly into the net
structure (i.e., by means of places and transitions).
2. The lack of hierarchy concepts. It was not possible to build a large model via a set of
separate submodels with well-defined interfaces.
In order to study performance aspects of Petri net models, we have to include the duration
of activities into the model specifications. Several types of Petri nets "with time" have been
0895-7177/05/$ - see front matter (~) 2005 Elsevier Ltd. All rights reserved. Typeset by .A.A45-TEX
doi:10.1016/j.mcm.2003.02.015
346 Z. DINe et al.
proposed by assigning "firing times" to the transitions, or places, or arcs of a net. The firing
times of transitions may be deterministic, random variables described by a probability distribution
function, fuzzy variables described by a fuzzy interval, or fuzzy time stamps defined by fuzzy
possibility distribution.
The earliest timed Petri net models to consider are Ramchandani's [11 and Merlin [21 time
Petri nets model. The first one is derived from Petri nets by associating a firing duration with
each transition of the net and it has been used mainly for performance evaluation. The second
one associated each transition with a crisp time interval to model an uncertain occurrence of the
transition. It has been proved very convenient for expressing most of the temporal constraints.
Some of these constraints were difficult to express only in terms of firing durations. Hence, the
second one is more general than first one. Zuberek [3] associated a fixed time interval with each
transition to model the performance of computer systems. Sifakis [4] associated a fixed time
interval with each place so that tokens were considered as unavailable for that time.
Marsan et al. [5] assigned a random variable to represent the firing delay of each transition
and considered all the enabled transitions to be in the process of firing (incurring delay). The
result was a stochastic Petri net model with exponentially, or geometrically distributed delays,
which are isomorphic to homogeneous Markov chains.
There has been an increasing interest in incorporating fuzzy time with Petri nets. In a time
fuzzy Petri net, Valette et al. [6] extended the imprecise enabling duration from Merlin's to
a fuzzy duration defined by a possibility distribution. Also based on possibility distribution,
Murata et al. [7] introduced fuzzy time-stamp, fuzzy enabling time, fuzzy occurrence time, and
fuzzy delay. The resulting fuzzy-timing high-level Petri net model could be used to simulate
communication protocols. By associating with each transition a fuzzy interval, Kunzle et al. [8]
tried to develop behavior predications or explanations, avoiding combinatorial complexity and
unmanageable increase of imprecision. Cardoso et al. [9] proposed a new timed fuzzy Petri
net model by attaching a fuzzy enabling duration to the transition. The fuzzy duration was
delimited by two fuzzy dates. Their model allows the flexible control of a time schedule and
describes causality relations between the events.
In this paper, we propose a new fuzzy timed Petri net. Each transition has been assigned a
fuzzy number which represents the firing time. When a transition gets enabled, it starts firing.
The marks change rate in the input and output places can be approximated by constant speed.
Associated with each place is a time dependent marks distribution function. Fuzzy differential
equations are introduced to solve all these distribution functions. Because of imprecision and
continuous time involved, the existing model might hit infinity of states in a temporal reachability,
but in our model, we avoid this problem since after a finite time, reachability states will repeat.
The performance analysis is based on reachability states.
This paper is organized in four main sections. Section 2 introduces definitions for fuzzy timed
Petri nets. In Section 3, we give the existence result to a class of fuzzy differential equations. In
Section 4, we show how to compute reachability graph and do performance analysis. In the last
section, we give an example to illustrate the capabilities of the model.
In either case, the net will reach a new marking, or a new state. In this state, three quantities
come out:
(1) new marking,
(2) new enabled transitions,
(3) continuing firing transitions.
This is formally captured in the next definition.
DEFINITION 2.6. Let us consider an FTPN. We say that mark M' is directly reachable from
mark M ff 3 % r' such that re(T) = M, m(v') = M', T' - v > 0 and at time v' either a new
transition gets enabled or a continuing firing transition stops.
Let $new and t¢ont represent a new enabled transition and a continuing firing transition, respec-
tively.
DEFINITION 2.7. We say that marking M' is generally reachable from marking M, if there
exists a sequence of new enabled transitions and continuing firing transitions si = {tnew, tcont},
i = 1 , 2 , . . . , k + 1 and a sequence of points in time T1, T2,..., "rk such that M = m(T1) sl m(~r2)'
re(T2) - ~ m(v3),...,m(T~) sk m(~k+l) = M'.
DEFINITION 2.8. The reachability set of a fuzzy marked FTPN N is the set R(N, Mo) such that
(VM E R(N, Mo)) ~ (Ss = sls2...sk,r, Mo & re(T) = M).
DEFINITION 2.9. The reachabi/ity graph of a marked F T P N (N, M0) is a graph G(V, C), where
V is a set of vertices which is equal to the set of reachable states R(N, Mo), and C is a set of
directed arcs connecting two vertices, such that if ci E C connecting Mi and Mi+l, then M~+I is
directly reachable &om Mi. Moreover, th/s arc contains the time from Mi to Mi+l.
3. F U Z Z Y N U M B E R S A N D F U Z Z Y E Q U A T I O N S
Let A and B be two nonempty subsets of R 1. The distance between A and B is defined by the
Hausdorff metric
d H ( A , B ) - - m a x kaeA(supb~Binfd(a,b),supbeB i n f d(a,b) } ,
If we endow P f ( R 1) with the distance dH, then (PI(R1), dH) is a complete and separable metric
space [11].
Let u E E 1. We assume that u has left and right shapes with shape function L and R,
respectively, [12], and u has a single support point. We use/~1 (L, R) to represent all such fuzzy
numbers. For 0 < a <_ 1, denote [u] a = {x e R 1 :u(x) >_ a}. Obviously, [u] ~ e PIe(R1). Define
D : E l x E 1 - . R+ U {0} by
As the direct result of this definition, we can find ~ ~ [ l l ( L , R ) and y • R 1 such that the
following axe true:
~@:~ = ~5, y®~>~.
Furthermore, we define multiplication of two fuzzy vectors and a fuzzy unit vector as
U U
y>_-=~®==~®-=
U U U
= , = dH ([u] ~, [v]~) •
DEFINITION 3.2. Let F : A ~ RI(L,R) be a fuzzy mapping, and f : A --. R 1 a function such
that f(t) = F(t). The fuzzy integral of F over A denoted by fT F(t) dt is defined by
,+ ,= "+ '<
4. For every Fn, there exist fn : A ~ R 1 such that ]~ = F~. Based on the definition of D,
we imply that f~ --* f if Fn ~ F. Thus, f f~ --* f f and f-]-~ D_~ ~'~f due to the same
shape of fuzzy numbers. Finally, we get
ocs..,s.): o (/,-,/,)_+o.
DEFINITION 3.3. A fuzzy mapping x : A -~ ~ l (L, R) is differential at to E A, if there exists a
X'(tO) C Ftl(L, R) such that limits
lim -h
h-~O+ 1 ® (x(to + h) ~3 x(to))
and
lira h1 ® (X(to) ~3 X(to - h))
h--.0+
DEFINITION 3.4. A mapping x : A --. ~I(L, R) is a weak fuzzy solution to equation (1) if it is
continuous and satisfies the integral equation
1 1
® (~(~ + h) e ~(~)) = ( x ° @ f T~-o
+hF(s'x(s))ds@x°@ f~ F(s'x(s))ds
1
® F(s, x(s)) ds
h .IT
'r+h
1
h
® f I(~, ~(s)) ds.
ds =
l
d T0
u ds = u = (r - to) ® £.
x'(~) = u, x(~0) = v,
x(r) = v @ uds=v@((Z-ro)®U).
4. C O M P U T A T I O N AND ANALYSIS
In this section, we develop a method to compute reachable states of fuzzy timed Petri nets
and perform analysis based on the teachability graph. All the fuzzy numbers are in the space
/~1 (L, R). We use + and × to represent fuzzy number addition ~ and scalar multiplication ®.
In [14], David and Alla studied timed continuous Petri nets. In their work, a timed continuous
Petri net, with firing speed associated with transitions, can be obtained from a timed discrete
Petri net by means of an approximation. Two kinds of approximation are proposed; one with
constant firing speeds and another with variable firing speeds. The functionality of their model
is decomposed into different phases. Each one is characterized by a set of enabled transitions
and a firing speeds vector. The evolution of the marking is obtained by computing the balance
marking of each place. The changing of firing speeds vector occurs when the marking of a place
becomes zero. The time evolution is then characterized by a finite number of phases. Motivated
by this technique, we will study the time and marking evolution of the fuzzy timed Petri net.
352 Z. DING et al.
tl t 2 t 3
Pl w(pl->tl)
__] w(tl->p2) w(p2->t2) ~-- ,
w(t3->pl)
Figure 1. C o n s t a n t s p e e d approach.
The idea behind our approach is that when tokens are removed from input places, the marks
changing rates in the input places are constants. The same is true when new tokens are added
to output places, the marks changing rates are constants. Based on this method, we can get
reachability states. Now we use the following net as an example to explain this method.
In Figure 1, we have three places pl, p2, and P3 and three transitions tl, t2, and t3. Let m1(1"),
mS(T), and m3('r) be the marks in the places pl, ps, and P3 at time r. The initial marking is
m(0) = (ml(0), 0, 0). For each transition, there is a fuzzy number associated with it, denoted as
dl, d2, and d3 representing firing time. For each arc, there is a weight associated with it, denoted
as w ( p l --* tl), w(p2 --* t2), w(pa --~ t3), w ( t l --* P2), w(t2 --* P3)- At the very beginning, if
ml(O) >_ w ( p l -* tl), then tl is enabled and starts firing. Tokens will be removed from pl. The
marks change rate is m~(v), the derivative of ml(~-), which is equal to a constant - v l -- - 1 / d l .
Hence, we get
mi('r ) = - 1 / d l .
Thus,
ml(T) = ml(O) - vl ds = rot(0) - vl~.
In the meantime, some new tokens are added to p2, the marks change rate in P2 is m~(T), the
derivative of m2(~'), which is equal to
W(tl --* P2).
v2 = '(pl - :
Thus,
= .2.
This gives us
m2(T) ----m2(0) -b
fo r w(tl
w(pl
p2) w(tl ps)
~ ~1) vl ds - w ( p l --~ t l ) VlT.
It follows t h a t
During the firing of t2, P3 will get new tokens. The mark change rate is ml3(T), which is equal to
v3 = 1/d3, i.e.,
1
m~(T) = ~33"
It follows that
~ 1
m3(T) = m3(T1) +
jfr 1
v~ ds = - - ( T - T1).
d3
If at time T2, we have m3(T3) > w ( p l --* t3), then t3 gets enabled and starts firing. It turns out
we come to another state with time ~2. In this state,
- ma~king is (ml(T~), m~(T~), m~(T~)),
- new firing transition: t3,
- continuing firing transitions: tl,t2.
We then use the same method as above to determine new markings, new firing transitions, and
continuing firing transitions. We need to address the special case where all of tl, t2, and t3 are
firing. Here the mark change rates in Pl, P2, P3 are
The initial marking is m(0) = (4, 0, 0). Obviously, at the very beginning, only tl is enabled.
1. When T = 0, the marks change rate for Pl is
0.1
Solving this equation, we get
-
m2(T) ----m2(0) -4- dT ---- 10T.
354 Z. DING et al.
In order to enable t2, we need to have 1~'6~- > i or ~- > 1/10. At r = 1/10, m1(1/10) =
4 - 1"6(1/10) = 3. This is the first reachable state. In this state,
new firing transition: t2,
-
2. When r = 1/10, t2 starts to fire, in the meantime tl continues to fire. The rate change for p2
is
m ~ ( r ) = ~ ( t , -~ p2) 1 1 = i"6 - ~ = 8.
~o(vl -~ t l ) 6 5 0."~
Solving these equations, we get
m2(r) = m2 + dr = 1 + 5 r - .
/lO
m3(T) = 0 q - 5 dT =5 7-- .
/lo
We need 5 ( r - 1/10) > i to get t3 enabled. We can choose r >_ 3/10 to satisfy this inequality.
Now we reach the second reachable state. In this state,
- new firing transition: t3,
- continuing firing state: tl, t2,
- m1(3/10) = 1, m2(3/10) = 2, m3(3/10) = i.
3. Right now at time r = 3/10, all the transitions are firing. Therefore, the marks changing rate
for Pl, p2, and P3 are
mi(r) ~ 1 I __.~-z,¥o
0.4 0.1
m~(~-) = I ~1 = ~,
0.1 0.2
. ~ ( r ) _ ~1 __1 _ 2.~.
0.2 0.4
B y solving this group of equations, we obtain
5. In this state, all transitions are firing. At time T = 29/30~ we come t o a new reachable state:
- continuing firing: t2, t3,
- m1(29/30)=0, m 2 ( 2 9 / 3 0 ) = 1 1/~"-3,m 3 ( 2 9 / 3 0 ) = 2 ~ .
Continuing this process, we get the following.
6. At time T = 37/30, the system comes to a new state:
- continuing firing: tl, t3,
- m , (37/30) = 2/3, m2 (37/30) = 0, m3 (37/30) = 3 I/~'-3.
7. At time ~" - 41/30, the system comes to a new state:
- new firing transition: tl,
- continuing firing: t3,
- m1(41/30) = i, m2(41/30) = 0, m3(41/30) = 3.
- Marking (5,1 1/~'-6,2 5/"-'-6) will repeat at time 45/30,61/30,77/30,.... The time step is
16/30.
- Marking (7"-~,0,3"~i'2) will repeat at time 52/30,68/30, S4/30, . . . . The time step is
16/30.
I
~ 4/30 ~
re(l, O, 3)
new firing: tl
ra(213, O, 10/3) m(0~4/'37~S~ rod, ~3, 7~)
continuing firihg: t3 continuing firing: t2,t3 new firing: tl
continuing firing: t3 continuing firing: t2,t3
s/~0
Figure 2. Reachability graph.
Figure 2 represents our reachability graph. Even when the time is infinite, our reachable states
are finite since reachable states are repeated after State 8. Notice that the marks in places p3
are 3, 11/4, 17/6, 41/12, and the average mark is 3. The reason is that the transition t3 takes
the longest time to process tokens. It could be a bottleneck in the network. In places Pl and P2,
the average marks are 0.46 and 0.54, respectively. Obviously, Pl and p2 are not using their full
resources. In particular, p2 is doing very little for almost half of the time, since its marks are 0,
1, 7/6, 5.
5. C O N F L I C T S
This section deals with some conflicting cases. A conflict occurs when there are more than two
input places for a transition, or there are more than two transitions for a place.
1. More than two input places for a transition (Figure 3).
Let tl and t2 be enabled, then
1
~i(~)=-d-7'
w(pl ~ h)
1
m;(~-) = - d 2 '
Petri Net 357
t1
G w(pl->tl) w(tl->p3)
t4
d, w(t3->pS) m O w(gS->t4)
t2
However, one of them might come earlier to satisfy this condition, say, P3. Then P3 has to wait
for a while until P4 reaches the enabling condition. Assume that at time TO, both inequalities are
satisfied. Then t3 gets enabled and starts firing immediately. Some markings are added to ps,
while some are removed from P3 and P4. The marks change rates for p3, pa, and ps are
If tl, t2, and t3 all can fire from ~'0, then the mark state for P5 can be obtained from two subnets.
The first subnet is {p~, tl,P3, t3,ps} and the second is {p2,t2,P4,t3,Ps}. From the first subnet,
we get a mark distribution ml(T), m3(v), m~etl(7), and from the second, we get m2(T), m4(T),
m]et2(T). Then the marks state for Ps is ms(T) = min{m]etl(T), rn~¢t2(~-)}.
More than two output places for a transition (Figure 4).
When tl is firing, p2 and P3 are getting tokens at the same time. The marks change rates axe
Pl
tI . ~ , ~ C
© w(pl->tl)
t I
wO2->p3)"~0
(b) No priority.
Assume that w(pl -~ tl) ~_ w(pl -~ t2). When the marks get accumulated in Pl such
that m l ( r ) >_ w(pl -~ t2), then t2 gets enabled and starts firing. If the accumulated rate of
the marks in pl is larger than the decreasing rate, then the condition ml(V) >_ w(pl -~ tl)
might be reached. As the result of this, tl fires. This can be used to model frame loss
when hitting heavy traffic. When tl and tu are both firing, the marks change rate in Pl is
4. One place with more than two input transitions (Figure 6).
If only one transition, say tl, is firing, then the marks change rate in Pa is
= (tl p3) 1
W(pl ~ tl) dl"
Otherwise, if all transitions are firing, the rate change is
t 1
Pl
© w(pl->tl) J
p~
© w(p2->t2)
d,
Figure 6. Two input transitions.
Petri Net 359
Pl
t7 a, t1 d2 ts --'~ cls
P
6
P
4
6. P R A C T I C A L EXAMPLE
We consider running voice and data over ATM as an example (Figure 7). P3 is an integrated
access device running data and voice over SHDSL. It contains PowerPC with SAR, voice pro-
cessor, packet processor, routing and bridging mechanism, etc. Data from Pl are sent through
Ethernet to Pa. Voice from P2 is sent through analog line to Ps.
tl represents a LAN with CSMA/CD scheme transmitting data. t2 represents an analog trans-
mission line. Two fuzzy numbers dl and d2 are associated with tl and t2, respectively, to represent
firing time. P3 contains ATM cells, and uses SHDSL as a media for transmitting frames, t3 repre-
sents the transmission, and its the last mile to pass data from the user to the central office. There
is a fuzzy number d 3 associated with t3. P4 represents DSLAM and ATM switch, which send
d a t a and voice separately to router Ps and voice gateway Ps. We assume that there is zero firing
time associated with t6 and t4. ts and t7 represent a PSTN voice network, and a data network,
respectively. Finally, voice comes back through t5 and data through fT. Two fuzzy numbers d7
and d5 are associated with t7 and ts, respectively,. Let all the weights be zero and dl = 0.08,
d2 = 0.0"-2, d3 = 0."2, d4 = {), d5 = 0."4, d6 = 0, d~ = 0.'4. In real life, we can determine different
type of fuzzy numbers by choosing the shape functions L and R. As an exercise, we can compute
that it takes about 0.26 and 0.44 time for voice and data to come back.
7. S U M M A R Y AND CONCLUSIONS
Based on fuzzy differential equations, we have studied the timed Petri net with fuzzy number
associated with each transition. Performance analysis is based on the reachability graph. When
building the reachability graph, we assume that the firing speed is a fuzzy constant for each
transition. Now we have two problems left: calculate the maximum states for each fuzzy timed
Petri net, and use a variable fuzzy speed approach in the firing. We will address these problems
in our future work.
360 Z. DING et al.
REFERENCES
1. C. Ramchandani, Analysis of asynchronous concurrent systems by timed Petri nets, Massachusetts Inst.
Tech. Project MAC, Tech. Rep. 120, (February 1974).
2. P. Merlin and D.J. Faber, Recoverability of communication protocols, IEEE Trans. Commun. C O M - 2 4 (9),
(September 1976).
3. W.M. Zuberek, Timed Petri nets and preliminary performance evaluation, In Proc. 7th Annual Syrup. Corn-
put. Architecture, pp. 88-96, (1980).
4. J. Sifakis, Measuring, Modeling, and Evaluation Computer Systems, pp. 75-93, North-Holland, (1977).
5. M.A. Marsan, G. Balbo and G. Conte, A class of generalized stochastic Petri nets for the performance
evaluation of multiprocessor systems, In Proc. Performance 83, ACM Sigmetrics, October 1983, pp. 198-
199.
6. R.. Valette, J. Caxdoso and D. Dubois, Monitoring manufacturing system by means of Petri nets with imprecise
marking, In IEEE International Symposium on Intelligent Control, pp. 233-238, Albany, NY, Septembeer
25-26, 1989.
7. T. Murata, T. Suzuki and S.M. Shatz, bSazzy-timing high-level Petri nets (FTHNs) for time-critical systems,
In Fuzziness in Petri Nets, Studies in Fuzziness and Soft Computing, Volume.P~, pp.88-114, (1999).
8. L.A. Kunzle, R. Valette and B. Pradin-Chezalviel~ Temporal reasoning in fuzzy time Petri nets, In Fuzziness
in Petri Nets, Studies in Fuzziness and Soft Computing, Volume ~ , pp. 146--173, (1999).
9. J. Cardoso, R. Valette and D. Dubois, Fuzzy Petri nets: An overview, In 13th World Congress of IFAC, V.I:
Identification II, Discrete Event Systems, San Francisco, CA, June 30-July 5, 1996, pp. 443-448.
10. A. Kaufmann and M.M. Gupta, Fuzzy Mathematical Models in Engineering and Management Science, (1988).
11. M.L.Puri and D.A. Ralescu, Fuzzy random variables, J. Math. Anal. Appl. 114, 409-422, (1986).
12. I-I..l. Zimmermann, Fuzzy Set Theory and its Applications, Third edition, (1996).
13. H.Radstrom,, An embedding theorem for spaces of convex sets, Proc. Amer. Math. Soc. 3, 165-169, (1952).
14. R. David and H. Alla, Continuous Petri nets, In 5¢h European Workshop on Application and Theory of Petri
Nets, Saragosse(E), June 1987, pp. 275-294.
15. R.J. Aumann, Integrals of set-valued functions, J. Math. Anal. Appl. 12, 1-12, (1965).
16. M.L. Purl and D.A. Ralescu, Differentials for fuzzy functions, J. Math. Anal. Appl. 91, 552-558, (1983).