continuous petri nets

25
ELSEVIER Performance Evaluation 33 (1998) 175-199 A modelling and analysis tool for discrete events systems: continuous Petri net Hassane Alla *, Rem5 David Laboratoire d’Automatique de Grenoble (INPG-UJF-CNRS), B.l? 46, 38402 Saint-Martin-d’Ht%-es, France Received 14 April 1993; received in revised form 15 December 1997 Abstract Autonomous and timed continuous Petri nets are defined. The autonomous model is presented as a limit case of autonomous discrete Petri nets and thus preserves most of the properties of classical Petri nets. A timed continuous Petri net, with constant firing speeds associated with transitions, is obtained from a timed discrete Petri net. This model has interesting properties such as marking and firing invariants, but its main interest is the construction of the evolution graph. This graph represents the behaviour of the system and contains a finite number of nodes, which allows very short simulations duration in comparison with discrete model simulations. The approximation given by the continuous model is often satisfactory, especially in the case of large markings. 0 1998 Elsevier Science B.V. All rights reserved. Keywords: Continuous Petri net; Continuous marking; Firing speed; Modelling; Continuous systems; Discrete event systems 1. Introduction This paper provides a new modelling tool derived from classical discrete Petri nets: Continuous Petri nets. In a Petri net (PN), the marking of a place may correspond either to the Boolean state of a device (for example a resource is available or not), or to a number (for example the number of messages in a buffer). When a PN contains a large number of tokens (or marks), the number of reachable states explodes. It is a practical limitation of the use of Petri nets [l]. To illustrate this point, consider an initial example of a system composed of a data processor with an entrance buffer (buffer 1) and an exit buffer (buffer 2) with respective finite capacities, N1 and N2. This system can be modelled by the PN of Fig. 1. For example, in this model place Pl represents the number of data in buffer 1 and place P2 vacant places in this buffer. Firing of transition Tt consists in loading buffer 1 by a new datum. The number of reachable states of this model is N = (Ni + l)(N;? + 1)2. For Nt = N2 = 10, then N = 242. For a set composed of 10 buffers and 9 processors, N is greater than 1013 states! * Corresponding author. Tel. :+33 4 76 82 62 34; fax: +33 4 76 82 63 88; e-mail: [email protected]. E-mail: [email protected]. 0166-5316/98/$19.00 0 1998 Elsevier Science B.V. All rights reserved. PII: SO166-5316(98)00016-9

Upload: aldemar-hernandez

Post on 14-Apr-2015

77 views

Category:

Documents


5 download

TRANSCRIPT

Page 1: Continuous Petri Nets

ELSEVIER Performance Evaluation 33 (1998) 175-199

A modelling and analysis tool for discrete events systems:

continuous Petri net

Hassane Alla *, Rem5 David ’

Laboratoire d’Automatique de Grenoble (INPG-UJF-CNRS), B.l? 46, 38402 Saint-Martin-d’Ht%-es, France

Received 14 April 1993; received in revised form 15 December 1997

Abstract

Autonomous and timed continuous Petri nets are defined. The autonomous model is presented as a limit case of autonomous discrete Petri nets and thus preserves most of the properties of classical Petri nets. A timed continuous Petri net, with constant firing speeds associated with transitions, is obtained from a timed discrete Petri net. This model has interesting properties such as marking and firing invariants, but its main interest is the construction of the evolution graph. This graph represents the behaviour of the system and contains a finite number of nodes, which allows very short simulations duration in comparison with discrete model simulations. The approximation given by the continuous model is often satisfactory, especially in the case of large markings. 0 1998 Elsevier Science B.V. All rights reserved.

Keywords: Continuous Petri net; Continuous marking; Firing speed; Modelling; Continuous systems; Discrete event systems

1. Introduction

This paper provides a new modelling tool derived from classical discrete Petri nets: Continuous Petri

nets. In a Petri net (PN), the marking of a place may correspond either to the Boolean state of a device (for example a resource is available or not), or to a number (for example the number of messages in a buffer). When a PN contains a large number of tokens (or marks), the number of reachable states explodes. It is a practical limitation of the use of Petri nets [l]. To illustrate this point, consider an initial example of a system composed of a data processor with an entrance buffer (buffer 1) and an exit buffer (buffer 2) with respective finite capacities, N1 and N2. This system can be modelled by the PN of Fig. 1. For example, in this model place Pl represents the number of data in buffer 1 and place P2 vacant places in this buffer. Firing of transition Tt consists in loading buffer 1 by a new datum. The number of reachable states of this model is N = (Ni + l)(N;? + 1)2. For Nt = N2 = 10, then N = 242. For a set composed of 10 buffers and 9 processors, N is greater than 1013 states!

* Corresponding author. Tel. :+33 4 76 82 62 34; fax: +33 4 76 82 63 88; e-mail: [email protected]. ’ E-mail: [email protected].

0166-5316/98/$19.00 0 1998 Elsevier Science B.V. All rights reserved. PII: SO166-5316(98)00016-9

Page 2: Continuous Petri Nets

176 H. Alla, R. David/Per$otmance Evaluation 33 (1998) 175-199

Data in Data in buffer 2

Vacant places

Processing data

Fig. 1. A simple system.

Vacant places

This statement led us to define a continuous modelling. The idea of continuous modelling has been used by certain authors [2,3] and provides a very good approximation for discrete systems.

Consider the second example given in Fig. 2(a). An hourglass is initialized at time to. Its behaviour from

to may be described by the PN of Fig. 2(b). This PN is transition timed (T-timed), which means delays are associated with transitions [4,5]. Another kind of timed PN, P-timed, considers the delays associated with

the places [6]. In the timed PN of Fig. 2(b), the tokens in places P1 and in P2 represent the number of grains in the

upper part and in the lower part of the hourglass, respectively. The delay dl corresponds to the average time between two successive passings of grains from the upper part to the lower part. Place P3 and its marking model the passing of grains one at a time. When a place similar to P3 is associated with any transition, it may be conventional that the place is implicit, then it is not represented. Let m 1 (to) = C and m2(to) = 0 the initial marking of places P1 and P2. The number of reachable states of this net is equal to C + 1 and then is approximately proportional to C. Now consider the passing of grains as a continuousj~w with a frequency U1 = l/d1 . This functioning can be modelled by the continuous Petri net of Fig. 2(c) in which the markings of places PI and P2 are non-negative real numbers at any time. A firing speed IJ~ is associated with the transition Tl. That means that the quantity of marks passing from PI to P2 between time t and t + dt is VI dt. The comparison of models of Figs. 2(b) and (c) is represented in Fig. 2(d). For both models all the marks have passed from P1 to P2 at time tl = C/ U1. Two phases can be considered in the evolution of the continuous markings. The first one lasts from to to tl and is characterized by a firing speed ~1 = U1 and the second one, whose duration is infinite by a firing speed ~1 = 0. Each phase is defined by a constant speed vector composed here of one component because there is only one transition in the net. The knowledge of these two speeds and the initial marking are sufficient for determining the complete behaviour of the net. The number of phases of the continuous model, 2 (independent of C), is to be compared with the number of states of the discrete model: C + 1.

These remarks form the basic idea which led us to define the continuous Petri net with a constant speed vector per phase. It is called constant speed continuous Petri net (CCPN). This tool may be useful for modelling continuous systems such as handling of fluids. It may also model discrete event systems: in this case the model forms an approximation as it can be shown in Fig. 2(d) [7,8].

Section 2 is devoted to the presentation of autonomous continuous PN (no time is involved in this model). It is defined as a limit case of an autonomous discrete PN. The basic properties are presented as counterparts of basic properties of the discrete model.

Page 3: Continuous Petri Nets

H. Alla, R. David/Pelformance Evaluation 33 (1998) 175-199 177

-b- J,= l/d1

-d-

d Continuous-PN model

Discrete timed-PN

tO t f Cd l=C/U I

Fig. 2. (a) Hourglass; (b) discrete timed PN model; (c) continuous PN model; (d) comparison of the two models.

In Section 3, the CCPN is obtained from a T-timed discrete PN. A formal definition and the main properties are given. In particular, the construction of the evolution graph of a CCPN will be very useful for evaluating the performance evaluation of discrete event systems.

The autonomous model defined in this paper constitutes a common basis from which continuous models can built. The only difference is the way to define the instantaneous deterministic firing speeds associated with the transitions. Several continuous models have been defined [9,10]. It is the basic model which is presented here [ 111.

2. Autonomous continuous Petri nets

Definition 1. A Petri net is a quadruple R = (P, T, Pre, Post ) where P = {PI, P2, . . . , Pn) is a finite, not empty, set of places; T = {Tl, T2, . . . , T,) is a finite, not empty, set of transitions; P fl T = 0, i.e. the sets

P and T are disjoint; Pre: P x T -_, {0, 1) is the input incidence application; and Post: P x T -+ (0, l} is the output incidence application.

Page 4: Continuous Petri Nets

178 H. Alla, R. David/Performance Evaluation 33 (1998) 175-199

-b-

< R,M>

expressed in “marks”

-C-

CR. M’(kq (zyy$ed

expressed in “tokens”

-d-

reachable markings for

<R.“J>

-e-

reachable markings fo

<R. M’(k)>

I

- f markings of <R. M >

m2 4

2 ++. . . . . . ~ . _ 2 T,W T, :

T2+T1 i T2%Tl i

I . . . ..I T2k++l. . . . . . .; ,

T&UT, i ; T2+T, ;

0 i T2+Tlm1

L- O 0 1 2

- g - markings of( R, M(4)>

gradient of marking rel ‘vetoT,

%!

0 I 2

- h - markings of< R, M(co))

Fig. 3. From automonous discrete Petri net to autonomous continuous Petri net.

A PN can be represented by a graph [ 12-161. An example is presented in Fig. 3(a). In this example P = {PI, 9} is the set of places, T = {Tl , T2 j is the set of transitions. Pre( Pi, q) and Post( Pi, q) defined the weights of arcs Pi + q and q + Pi, respectively.

Page 5: Continuous Petri Nets

H. Alla, R. David/Performance Evaluation 33 (1998) 175-199 179

Notation 1. 0 ‘Tj={PiePI Pre(Pi,Tj)>O}=setofinputplacesofTj, l Tjo = (Pi E P 1 Post( Pi, Tj) > 0} = set of output places of Tj,

l o Pi = (q E T ) PoSt(Pi, q) > 0) = set of input transitions of Pi, l Pi” = {Ti E T 1 Pre( Pi, Tj) > 0) = set of output transitions of Pi.

In the following section, a marked Petri net is transformed into another net by splitting tokens. In order to introduce a continuous model for a manufacturing system, a similar splitting (of parts) has been used in [17].

2.1. Reachable markings

A marked Petri net is defined by a pair (R, MO) where Mu denotes an initial marking. A marking is a vector2 M = (M(Pl), M(P2), . . .) such that M (Pi) is the number of tokens in place Pi. This number

is an integer greater than or equal to 0 in the classical (discrete) Petri nets. In Fig. 3(b), M( PI) = 2 and M(P2) = 0, then M = (2,O).

The terms “token” and “mark” are usually synonymous. In this paper we consider the transformation such that a mark is split into k tokens (then mark and token are synonymous when k = 1). This transformation results in a new Petri net (R, M’(k)) such that M’(k) = (kM(Pl), kM(P2), . . .). The marking M = (2,O) in Fig. 3(b) leads to the marking M’(k) = (2k, 0) in Fig. 3(c).

The coverability graph for the Petri net (R, M) in Fig. 3(b) is shown in Fig. 3(d). When the marking is (2,0), transition Tl is enabled since there is at least one mark in the input place PI. Firing of Tl leads to marking (1, l), for which both Tl and T2 are enabled and so on. The set of reachable markings is

{(2,0), (1, l), (0,2)). Now for the Petri net (R, M’(k)) in Fig. 3(c), firing of Tl from marking (2k, 0) leads to (2k - 1, 1) and so on, as illustrated in Fig. 3(e). As far as the marking of (R, M’(k)) is expressed in tokens, it corresponds to an integer number of tokens. However, if we come back to the initial unit, the markings of the Petri net in Fig. 3(c) are expressed by a rational number of “marks”, as shown in Fig. 3(e).

Notation 2. In order to simplify, let us use the following notations: l mi = M (Pi): marking expressed in marks (initial or transformed PN), l rni (k) = kM( Pi): marking expressed in tokens. Then mi = rnj / k.

Fig. 3(f) shows the set of possible markings and the corresponding transition firings (i.e. the coverability

graph) in the plane defined by m 1 and m2. The possible markings are presented in Fig. 3(g) for (R, M’(4)). When k + 00, the set of markings becomes infinite. It can be represented by the segment of a line, as shown in Fig. 3(h). In an autonomous continuous PN, the marking of a place is no more an integer but a real number.

Another example is presented in Fig. 4. The marked Petri net in Fig. 4(a) has four reachable markings, namely MO = (2,0,0), Ml = (1, 0, l), M2 = (0, 0,2) and M3 = (0, 3,0). The coverability graph is

illustrated in Fig. 4(c). When each mark is split into k = 2 tokens (Fig. 4(b)), there are nine reachable states which are also illustrated in Fig. 4(c). When k tends towards infinity, the set of reachable markings corresponds to all points in the shaded triangle in Fig. 4(d).

2 In order to simplify the notation, the transposed matrix is represented in parenthesis, i.e. (a, b) = [a, blT.

Page 6: Continuous Petri Nets

180 H. Alla, R. David/Petiormance Evaluation 33 (1998) 175-199

T2 3

P 2

6

_A_ T 3

-a-

:

T2 4$! 3

p2 a T 3

-b-

._,.............’ m

0 0 1 2

-d-

m

18 -c-

m

3 11 0 3

. . . . . . . . . . . . m

-e-

Fig. 4. Illustration of gradients of markings and trajectories.

Page 7: Continuous Petri Nets

H. Alla, R. David/Performance Evaluation 33 (I 998) 175-I 99 181

2.2. Gradient of marking and trajectory

The incidence matrix of PN in Fig. 2(a) is:

TI T2

A term in W is defined by wij = Post( Pi, Tj) - Pre( Pi, Tj). In other words, a column of W corresponds to a marking modification when the corresponding transition is fired in a marked PN.

The transition sequence S = Tl Tl T2 can be obtained from Mu in Fig. 3(b). The characteristic vector of S is denoted S = (2, 1). This means that there are two firings of Tl and 1 firing of T2 in the transition sequence (note that transition sequence T1 T2T1 has the same characteristic vector). Let Mt denote the marking obtained after S, from Mu. Marking Ml is obtained from MO as a result of the fundamental

equation:

Ml =Mo+W.S. (1)

The following can be written:

AM=Ml-MO= W.S.

Then AM = W . S corresponds to the marking modification due to S. Firing of the single transition Tl is a particular sequence St = Tl . The modification due to this firing is given by W . S1 which corresponds to the first column of W since Sl = (1,O).

Consider a firing of Tl from the marking of the Petri net in Fig. 3(c) MA(k) = (2k, 0). Using the token as a unit, we obtain the marking M;(k) defined by

M;(k)=[Zgk]+[;’ !l][;]=[2k;‘]. Now if we convert tokens into marks, we obtain

Then AM expressed in marks is given by

l/k AM=W o . [ 1 It is clear that a sequence of k firings of Tl in Fig. 3(c) is equivalent to one firing of Tl in Fig. 3(b). In other

words, a firing expressed in tokens is equivalent to 1 /k firing expressed in marks. As far as the markings are expressed in marks, some quantity of$ring l/k can be considered. Let dtt = 1 /k denote this quantity of firing when k tends towards infinity. In that case the above equation can be rewritten as

dM = W “0” . [ 1

Page 8: Continuous Petri Nets

182 H. Alla, R. David/ Perjknance Evaluation 33 (I 998) 175-I 99

Consider now marking A4 in Fig. 3(h). For this marking, either Tl or T2 can be fired. Then the partial derivatives of A4 can be defined with respect to tt and r2

G1 EC [ 1’ 1 G2=:= IY 1 = , 1 2 -1 1 .

Remark 1. The arrow labelled Tl in Fig. 3(h) is an illustration of Gt at this point. However, it is not represented in full size so as to obtain clearer figures (scale is about l/4).

Consider now the examples in Fig. 4. The incidence matrix of this generalized Petri net is

For some marking A (see Fig. 4(d)) Gt = (-l,O, 1). G2 = (-1,3, -l), G3 = (1, -3, 1) are obtained. These marking gradients are illustrated by the arrows labelled Tl , T2 and T3. Now when the marking corresponds to some bound of the domain of reachable markings, some transitions cannot be fired. For marking B, T2 cannot be fired since m3 = 0. For marking C, T3 cannot be fired since na2 = 0. For marking

D, neither Tl nor T2 can be fired since m 1 = 0. When the marking corresponds to a vertex, only the firings corresponding to both corresponding sides are possible. In particular for marking E, one can observe that there is a deadlock since ml = m2 = 0.

In a discrete PN, from a marking M, a firing sequence implies a string of successive markings. In a continuous PN, from a marking M, a firing sequence implies a trajectory (corresponding to a string of successive markings) in the state space. The gradient corresponds to the tangent of the trajectory. For example, in Fig. 4. the firing sequence S1 = Tl T2T3 from marking Mu = (2,0,0) leads to the marking Mt = (1, 0, 1) for the discrete PN. To reach A41 from Mu, the following firing sequences are possible for the continuous PN:

S2 = (T~)“~5(T~)o~5(T~)o~5(T~)o~5(T3)o~s(T3)o~5 = ((Tl)o.5)2((T2)o.5)2((T3)o.5)2,

S3 = (T~)0~6(T2)0~4(T3)0~3(T2)0~2(T~)0~4(T3)0~2(T2)0~4(T3)o~5,

since (1) the total quantity of firing is 1 for the 3 transitions in each of these sequences (for S3 : 0.6+0.4 = 1 for Tl, 0.4 + 0.2 + 0.4 = 1 for T2, and 0.3 + 0.2 + 0.5 = 1 for T3), and (2) at any time in these sequences

the total quantity of firings N(Tl), N(T2) and N(T3) are such that N(T2) I N(Tl), N(T3) 5 N(T2) and N(T1) + N(T2) ( 2 + N(T3) (which are implied by initial markings of P3, P2 and PI, respectively).

The sequence $7 may be generalized for any positive integer k:

S4 = ((T#‘k)k((T2)1’k)k((T3)1’k)k.

When k tends towards infinity, the length of S4 becomes infinite. Nevertheless, the sum of the exponents of each S4 is always equal to 1 for the three transitions. More generally, any firing sequence of any length

s6 = Oi)“(T#‘U#~~~ (T~“(TI)~(T~~

Page 9: Continuous Petri Nets

H. Alla, R. David/Performance Evaluation 33 (1998) 175-199 183

is possible from Mu as long as N(T2) 5 N(Tl), N(T3) 5 N(T2) and N(T1) + N(T2) ( 2 + N(T3), i.e. a < 2, a - b > 0 and 2 - a - b ? 0, c 5 b, . . . (a, b, c . . .

Small).

are non-negative numbers which may be infinitely

However, the sequences with infinite lengths are not used in practical cases. The notion of trajectory is easier to use. The aim of the explanations given above is to show that firing sequences of continuous PNs are counterparts of firing sequences of discrete PNs.

Fig. 4(e) illustrates three trajectories from marking A to marking B. Trajectory H1 may be obtained by

a firing sequence S1 such that

B=A+ W.Sl

Similarly, H2 may be obtained by a firing sequence S2 such that W . S1 = W . S2 (which does not imply that St = S2).

On the other hand, there is no firing sequence S3 able to produce trajectory H3 because at any point of the trajectory, the gradient of marking must be a weighted sum of Gl, G:! and G3. This is not possible according to Fig. 4(d).

2.3. Properties of autonomous continuous Petri nets

Through the formal definition given in the previous section, it is possible to highlight interesting properties of an autonomous continuous PN. These properties are the counterparts of the same ones of autonomous

discrete PNs [12-171.

2.3. I. Classical properties Any structural property is true both for autonomous discrete or continuous PNs since a structural property

is a property of a PN without marking. Consider the Petri net R in Fig. 3(a). It is clear that all the properties of this PN are independent of the

marking. Some examples of structural properties are given below: (1) A Petri net may be a state graph, an event graph, without conflict, free-choice, simple, pure, etc. (2) Structurally bounded, structurally alive. (3) P-invariants, T-invariants. Consider for example Fig. 3(a): X = (1, 1) is a P-invariant since XT . W =

0. That means that the total number of marks in the set of places {PI, Pz} is constant. Y = (1, 1) is a T-invariant since W . Y = 0. That means that any transition sequence from the initial marking which contains the same number of firings for Tl and T2, in an autonomous discrete PN, and any trajectory containing the same quantity of firings for Tl and T2, in an autonomous continuous PN, leads the net back to the initial marking.

The notions of boundedness, deadlock freeness, liveness can easily be generalized. For example the PN in Fig. 4(a) is bounded because for any reachable marking and for any place, the number of marks is less than 3. This net is not deadlock free since the marking (0, 0,2) is a deadlock. From this marking, no transition is firable. The PN of Fig. 3(a) is bounded and live.

Some abbreviations (places with bounded capacity, coloured PN, PN with predicates) and some exten- sions (with inhibitor arcs, with priorities) can be used for both autonomous discrete PNs and autonomous continuous PNs.

Page 10: Continuous Petri Nets

184 H. Alla, R. David/Pe$orrnance Evaluation 33 (1998) 175-199

-a-

[ -1 0 1 -0.4 3.4 -1 -2 1 1 1 -b-

Fig. 5. An autonomous continuous Petri net.

2.3.2. Notion of q-enabling In a continuous PN, the marking of a place is a real number instead of an integer. For example m 1 = 2.1

and m2 = 0.2 in Fig. 5(a).

The weights of arcs i.e. Pre(Pi , 5) and Post(Pi , Tj) may be real numbers instead of integers. For example Post(P2, T2) = 3.4 and Pre(P3, T2) = 0.4 in Fig. 5(a).

A transition is enabledif for any place Pi in ‘Tj, M( Pi) > 0. In fact this can be written M( Pi)/Pre(Pi , Tj) > 0 . This expression is the same as for discrete PNs. The only difference is that “> 0” means “2 1” for a discrete PN, while “> 0” corresponds to any positive real number for a continuous PN.

It now seems interesting to present the notion of q-enabling introduced in [9,13].

Definition 2. A transition Tj in a continuous Petri net is q-enabled if

4 = +Il(mi/Pre(Pi, 5)) > 0, Pj E “q

That means that the maximum “quantity of firing” for rj, assuming that no other transition is fired, is q. In Fig. 5(a), Tl and T3 are enabled. Transition T1 is 2.1-enabled. Transition T3 is O.l-enabled since m2/Pre(T3, P2) = 0.2/2 = 0.1.

When a transition is fired, the quantity of firing is r such that r is a real number, r 5 q. The quantity of marks taken from or added to the places is defined by the incidence matrix. In Fig. 5(a), the quantity of firing of T3 (before another transition is fired) is at the most 0.1. Assume it is 0.01, then 0.02 mark is taken out of P2, while 0.01 mark is added to P1 and 0.01 mark is added to P3.

2.4. Examples

2.4.1. A continuous system Consider the tank system given in Fig. 6(a). Tank 3 has a finite capacity of 12.5 litres and is fed by

the other two tanks. The behaviour of this system is modelled by the autonomous continuous Petri net of

Page 11: Continuous Petri Nets

H. Alla, R. David/Performance Evaluation 33 (1998) 175-199 18.5

Tank1 Tank 2

-a-

Fig. 6. Tank system.

p1 20 c? Processor 1

ps

%

T1 0

and W2 Ik 3 is full

-b-

Fig. 7. Shared variables between four processors.

Page 12: Continuous Petri Nets

186 H, Alla, R. David/Performance Evaluation 33 (1998) 175-199

Fig. 6(b), assuming that initially time there are 87.4 lines in tank 1, 68.1 litres in tank 2, while tank 3 is empty.

In Fig. 6(b), places Pr , P2 and P3 represent the contents of tanks 1,2 and 3 respectively, while place P4 models the empty part of tank 3. The weights 2 mean that for each volume unit withdrawn from tank 1 and from each volume unit withdrawn from tank 2, 2 volume units are added to tank 3.

2.4.2. A discrete system A local network links four processors sharing s common variables. Each processor has an input buffer

where the variables waiting for a treatment are stored. When it has been updated in processor number i,

a variable is directed towards processor number i + 1 (modulo 4). The autonomous discrete PN of Fig. 7 models the route of the variables in the system. This is naturally a discrete PN (whose behaviour will be approximated by a continuous PN in Section 3.4).

In this PN, places PI, P2, P3 and P4 represent the buffers and the transitions Tl, T2, T3 and T4 are

associated with processing. Each processor can work with only one variable at the same time, this is modelled by places P5-Pg. The number of shared variables is constant and at the initial time, 20, 10, 0,25

variables are, respectively, available in the buffers of processors 1,2,3 and 4 (20 (.), for example, means that there are 20 discrete tokens in the place PI ). Although the capacity of the buffers is assumed to be infinite, nevertheless the number of variables in a buffer is bounded by the total number of variables, here 55.

3. Timed continuous Petri nets

Timed Petri nets with constant times associated either with places or with transitions are used in order to model various systems. Since these tools are widely admitted for modelling and performance evaluation [4-61, a question arises: Is it possible to define timed continuous Petri nets as a limit case of timed discrete

Petri nets? It is known that a Petri net with delays associated with transitions can be transformed into a Petri net

(describing the same behaviour) with delays associated with places and vice versa. For our purpose a Petri

net with timed transition is more suitable.

3.1. From discrete timed PNs to continuous timed PNs

Consider the timed PN in Fig. 8(a). Times dl = 1 and d2 = 3 are associated with transitions T1 and T2, respectively. The marking in Fig. 8(a) corresponds to time t = 0. The timed PN is assumed to work at its maximum speed, i.e. a transition is fired as soon as it can be fired. In Fig. 8(a), transitions Tl and T: are enabled at t = 0, then a mark is reserved in PI, in P3 in P2 and in P4 in order to fire these transitions. At time t = 1 transition Tl is fired: this means that the reserved marks are taken away from P1 and P3 and non-reserved marks are put into P2 and P3 which are the output places of Tl . Then, at time t = 1, transition Tl is enabled again (enabling is due to non-reserved marks: the marks needed to fire these transitions are reserved). Transition Tl will be fired again at t = 2 and T2 will be fired at time t = 3, and so on.

The corresponding behaviour is illustrated in Fig. 8(c) (discrete model). The markings of P1 and P2 (i.e., m 1 and m2) correspond to all the marks, reserved or not, in these places. The markings of places P3 and P4 remain constant. After time t = 2, a periodical functioning is reached, the period is A = 3.

Page 13: Continuous Petri Nets

H. Alla, R. David/Pelfanance Evaluation 33 (1998) 175-199 187

-a-

l/d1 = 1

T2~+ U2= l/d:!= l/3

-b-

A ml

Kri=iss;crrnodel MO= (2 1) , tO= o

3 0 2 4 6 8 time

3 /

2

F /

I

I 4 . . . . . . . . . ...) d2

-d-

Fig. 8. (a) A timed Petri net; (b) a continuous Petri net; (c) behaviour of both models; (d) evolution graph.

It may be observed that at any time there is at the most one mark reserved in Pt , because there is only one mark in P3. Then place P3 corresponds to explicit Zimitution to one firing of Tt at the same time. Similarly,

P4 corresponds to an explicit limitation to one firing of T2 at the same time. From the discrete PN of Fig. 8(a), it is possible to construct a continuous model by replacing each delay

dj by a firing frequency Uj = l/dj . This gives the CCPN of Fig. 8(b). Speeds VI = U1 and V2 = U2 are known as the maximal jiring speeds associated with the two transitions.

The values vt (t) and v2(t) are called, respectively, the instantaneous jiring speeds of the transitions Tl and T2 at time t . Starting from the initial time, the evolution of the markings of the two places is governed

Page 14: Continuous Petri Nets

188 H. Alla, R. David/Per&onnance Evaluation 33 (I 998) i 75-199

by the following equation system in the interval [0, tt) (in this interval, we have vi(t) = VI = 1 and Q(t) = v2 = l/3):

ml(t + dt) = ml(t) - (VI - Vz>dt, m2(t + dt) = q(t) + (VI - V2)dt.

These equations remain true as long as ml(t) > 0 and mz(t) > 0. Place P1 becomes empty at time tl = ml (O)/(Vl - V2) = 3. At all times t 2 tl, transition T2 is fired at the speed uZ(t) = V2 = l/3 because m2(t) > 0. In the interval [t, t + dt], the firing of T2 deposits a “quantity of marks” V2 dt in place Pl. This quantity may then pass through Tl, and the instantaneous firing speed q(t) is equal to V2. We can observe that there are two kinds of enabling. Transition T2 is strongly enabled since m2 > 0. Transition Tl

is weakly enabled: enabled because vl > 0; weakly because m 1 = 0 then ul < VI. Then, from time tl , we have u1 = 2~2 = V2 = l/3 and ml(t) = 0 and m2(t) = 3. The dynamic marking balance of each place is

zero. A steady state is said to have been reached. The behaviour of the CCPN can be represented by an evolution graph, given in Fig. 8(d). In this graph,

represented in the form of a Petri net, each node corresponds to a constant speed vector (ut,v2) and with each transition is associated the marking whose occurrence produces a changeover from one speed vector to another. Thus, the speed vector (~1, IQ) = (1, l/3) is associated with the initial marking and when marking Mt is reached, the speed vector becomes (~1, IQ) = (l/3, l/3)). The terminal node represents the steady speed vector. We may also note in Fig. 8(d) that the sum of the markings of places PI and P2 is always equal to 3. The relation ml + rn2 = 3 is a marking invariant.

A conflict situation, presented in Fig. 9 can arise if a unique buffer, modelled by PI, has to supply two stations modelled by T2 and T3. As long as ml > 0 there is no effective con$ict since both transitions can be fired at their maximal speeds. This means that the quantity (V2 + V3)dt is taken away from the marking ml during dt (irrespective of the quantity added by firing of Tl).

Let us now consider the case m 1 = 0. Transition Tl supplies the place P1 with a quantity zll dt during dt (~1 may be equal to or less than VI). If ~1 is such that 0 < 2rl < V2 + V3, there is an effective conflict since at least one of the transitions T2 or T3 cannot have its maximal speed. The behaviour of the continuous PN is such that v2 5 V2, v3 _( V3 and 212 + ug = ur . The behaviour is deterministic ifthe conJlict is solved a priori. One solution consists in giving priority to a transition, while another consists in sharing the flows proportionally to the maximal speeds, i.e. v2/ V2 = u3/ V3.

I I

Fig. 9. A conflict situation.

Page 15: Continuous Petri Nets

H. Alla, R. David/Performance Evaluation 33 (1998) 175-I 99 189

3.2. Formal presentation

Definition 3. CCPN. A constant speed continuous PN is a sextuple

R = (P, T, V, Pre, Post, Mu).

The definitions of P, T, Pre, Post are similar to those of discrete PNs. MO is the initial marking. V is an application of the set T of transitions of R in the set of numbers R+ U [ 00). The speed V (5) = Vj

corresponds to the maximal firing speed of transition Tj .

MO is the initial marking of the continuous PN. It is a vector of positive or zero real numbers which may also be written as MO = M (0), knowing that M(t) denotes the marking at time t.

This section is only concerned with CCPNs with weights of arcs equal to 0 or 1. However generalized CCPNs may also be considered. In this case, real positive numbers are associated with arcs.

Definition4. AconflictK = (Pi,{Tl, . . . . Tk, . . . . TU }, M(t)) is an eflective conjict if the following three

conditions are met: (1) Pi is an input place of the transitions Tl, . . . , T,, . . . , T,, which are enabled by M(t).

(2) mi(t) = 0.e

(3) 0 < cj Uj(t> < V’l + . . . + V’k + . . ‘7 with j such that Tj E ‘Pi, where VI = Vk if no place other than Pi limits the firing speed of Tk. A value V’k< Vk may be obtained if an input place of Tk other than Pi, with zero marking, is supplied with a speed i;k’. As a general rule, VL is the maximal instantaneous firing speed if place Pi is not taken into account.

An effective conflict is said to have a positive solution if and only if for all transitions Tk of set

{T1,. . . , Tk. . . . , T,}, IJk(t) > 0 is obtained.

The speeds Vi of Definition 4 may correspond to the maximal speeds vk, or possibly to lower speeds if the constraints imposed by places other than Pi forbid the firing of Tk at a speed greater than VL.

3.2.1. Enabled transition As discussed in Section 3.1, a place having a zero marking can enable an output transition, when it is

supplied by an enabled input transition.

Definition 5. A place Pi is supplied at a time t if and only if there is at least one transition Tj in “Pi which

is enabled.

Definition 6. A transition Tj is enabled at a time t if all places Pi of ‘q satisfy at least one of the following

two conditions: (1) mi(t) > 0.

(2) Pi is supplied. The transition is strongly enabled if all the places of ‘Tj satisfy the first condition, and weakly enabled

otherwise.

The recursive form of Definition 6 does not allow us to know whether or not a transition is enabled. A practical method for determining the set of enabled transitions consists in using Boolean variables defined

Page 16: Continuous Petri Nets

190 H. Alla, R. David/Performance Evaluation 33 (1998) 175-l 99

by the following propositions:

Ui: place Pi is marked or supplied, ej: transition Tj is enabled.

By agreement ai = 1 if the proposition is true, otherwise ai = 0; ej = 1 if the proposition is true, otherwise e.i = 0. We finish up with a system of equations of the fixed point:

i

1 if Pi is marked, ai = otherwise max{ej/ Tj E ‘Pi],

i

1 if ‘Tj is empty, ej = otherwise min{Ui/ Pi E 5’).

This system is of the type X = F(X) where X = (al, . . . , a,, el, . . . , e,) is a Boolean vector of dimension IZ + m. It is a fixed point calculation.

In order to calculate the set of enabled transitions, we use a series iteration mode, which converges quickly. Let us place X = (A, E) with A = (al, . . . , a,) and E = (el, . . . , e,). Mode F is defined as follows:

A’+l = F(E’), i.e.

r+t

I

1 if Pi is marked, ui =

otherwise max{ej’/Tj E ‘Pi},

E’+l = F(A’+‘), i.e.

r+t 1 e. =

if ‘Ti is empty, J otherwise min{al+‘/Pi E “Tj}.

Algorithm 1. Calculation of the set of enabled transitions of a CCPN for a given marking.

Step 1. Initialization. Step 2. A’+’ = F(E’),

E’+l = F(Ar+l).

Step 3. If (A’+‘, E’+’ ) # (A’, E’) then let Y = Y + 1. Go to Step 2.

Step 4. The set of enabled transitions corresponds to components ej = 1.

Remark 2. Function F is an increasing function, and Algorithm 1 converges in a finite number of steps (because the variables are discrete, and the vector dimension, IZ + m, is finite) [l 11.

Example 1. Let us consider the CCPN given in Fig. 10 and let us calculate the set of enabled transitions by Algorithm 1. Place P1 has a non-zero marking, and places 9 and P3 have a zero marking. The iteration vector is X = (al, a~, aj, el, e2, eg, eq). Step 1. X0 = (0, 0, 0, 0, 0, 0,O).

Step 2. (first time). X1 = (1, 0, 0, 1, 0, 0,O). Indeed ai = 1 since the corresponding place is marked. On

the other hand, ui = ei = 0, ai = max(ey, e$ = 0.

ei = ai = 1. On the other hand, ei = ai = 0, e: = a! = 0 and e; = u: = 0. Since F is an increasing function, only the zero components of vector X should be considered at the

following steps.

Page 17: Continuous Petri Nets

H. Alla, R. David/Pe$onnance Evaluation 33 (1998) 175-199 191

5 @ p20 T T

VI=4 1 F P Y-

v2= 2

3

0 V2’ 1

i?z T3 *4 V4’ 3

Fig. 10. Example of a CCPN.

Step 2 (second time). X2 = (l,O, 1, l,O, 1, 1). Indeed ai = ei = 0,

at = 0, et = u._z = 1, ei = “32 = 1. ^ _

uz = max(ef , ei) = 1 and e; =

Step2 (thirdtime).X~=(1,1,1,1,1,1,1).Indeeda~=e~=1ande~=a~=1.

Since the components of vector X3 are all equal to, the convergence vector is reached (Remark 2). We have in this case et = e2 = e3 = eq = 1; transitions Tt, T2, T3 and T4 are enabled.

We shall observe that the set of enabled transitions depends on the set of marked places, but not on the number of marks in these places.

3.2.2. Firing speed of a transition

Since a CCPN functions at “maximal speed”, this enables the instantaneous firing speeds of the enabled transitions to be calculated (this can be compared with the property of a timed discrete PN: if it works at maximal speed, the firing frequencies can be calculated).

Property 1. The instantaneous jring speed of a transition Tj strongly enabled at a time t is equal to its

maximal speed, i.e. vj(t) = Vj.

Prior to considering the firing speed of a weakly enabled transition, let us introduce the notion of dynamic

balance Bi :

m m

Bi = c POSt (Pi, Tk) . Vk - c PR (pi, T,) . vk k=l k=l

The value of Bi corresponds to the increase (possibly negative) in number of marks in T’i per time unit (Bi also corresponds to a mm-king gradient). We shall note that Bi -c 0 can only be obtained if place Pi

has a non-zero marking, and that if we have B; I- 0, the marking of Pi does not remain zero. Therefore, if mi = 0 in the interval [tl, t2), then Bi = 0 in this interval.

Property 2. The instantaneous Jiring speed of a transition Tj weakly enabled at a time t, is given by the

relation:

vi(t) = min Vj, I$II(B~ + vj(t)) [ 1

with i such that Pi E ‘Tj and mi (t) = 0.

Page 18: Continuous Petri Nets

192 H. Alla, R. David/Petiornmnce Evaluation 33 (1998) 17.5-199

v1 = min (VI .v2) vl=min(Vl,v2+v3) v =min(V1,v2 ,v3) 1

v1=min(V1,v3-v2)

vZ=min(V2,v3-VI)

Fig. 11. Calculation of the firing speeds.

The expression of v(t) in Property 2 can be interpreted in the following way. If all the input places Pi of rj have a positive dynamic balance (all the Bi > 0), then none of these places can remain empty

and r+(t) = Vj is obtained. Otherwise, for a place Pi with a zero dynamic balance, we can write Bi =

0 = C, v, (t) - ‘& IQ,(~) with T, E o Pi and Tb E Pi”. Since Tj belongs to Pi”, we then have Uj (t) = c, 21, (t) - & Ub(t) + Uj (t). This is true for all places Pi which are empty, hence the function mini.

Fig. 11 gives examples for calculating speeds in four different configurations where the input places of the transition considered have a zero marking (Property 2). It clearly appears that the only case which may restlt in an uncertainty is the conflict situation (Fig. 1 l(d) where vt is a function of ZQ and vice versa). In order to remove this uncertainty, a distribution rule must be defined between the transitions in conflict (for

example priority or proportionality to Vj). The calculation of the instantaneous firing speeds is also a fixed point calculation of the type u = G(v),

where u is a vector of real numbers of dimension equal to that of the set of transitions enabled at a time t. Vector v is the limit of the iteration mode G. The number VJ is the value of speed uj obtained at the iteration

step number Y. Let Y = {Tl,Tz,..., Ts} be the set of transitions enabled at a time t. At each step, the following

calculation is performed, where Wjk is an element of the incidence matrix:

I I$ if rj is strongly enabled,

‘;+I= lotherwise min [,,n~~~~k..:+‘+~w,.~+~~)] (2)

with i such that Pi E OTj and mi (t) = 0. The formula mini [. . .] of relation (2) corresponds to the equation of Property 2, taking into account the

fact that certain speeds have been updated at step r + 1.

Algorithm 2. Calculation of the instantaneous$ring speeds of the transitions enabled at a time t,

Step 1. Initialization u” = 0 and r = 0. Step 2. Calculation of u’+l by relation (2). Step 3. If u’+’ # v’ then let r = Y + 1 and go to Step 2.

Page 19: Continuous Petri Nets

H. Alla, R. David/Pe$ormance Evaluation 33 (1998) 175-199 193

Example 2. Let us reconsider the CCPN given in Fig. 10 and calculate the instantaneous firing speeds of the enabled transitions: Y = {Tt, T2, T3, T4} (Section 3.2.1), and u = (v 1, ~2, ~3, ~4). There is a structural

conflict between transitions T3 and T4, we choose to give priority to transition T3 over transition TJ. Step 1.

Step 2

Step 2

Step 2

Initialization LJ’ = (0 0 0 0) (first time). u1 = (4,6, 1, 3). Indeed we have: Tl is strongly enabled, then vi = VI = 4; T2 is not

enabled, since vi = min( V2, vi) = 0; T3 and T4 are weakly enabled, then vi = min( V3, vi) =

min(l, 4) = 1 and vi = min(V4, u{ - ~7;) = min(3,3) = 3.

(second time). u2 = (4,2, 1,3). In this step, only the firing speed of transition T2 is modified. Indeed, vg = min(V2, vi) = min(2,3) = 2.

(third time). v3 = (4,2, 1,3). Vector u3 is equal to v 2, then v2 is the limit vector (convergence

obtained in a finite number of steps).

Remark 3. Algorithm 2 may be used when there is IZU con.ict or when the resolution of the effective conflict is carried out by priorities. In this case, for a conflict relating to a place Pi, the transitions in Pi* are arranged according to decreasing priorities (the transitions in conflict will be numbered one after the

other).

3.2.3. Fundamental relation In a CCPN, a transition Tj such that vi(t) > 0, is continuously fired. The marking of a place Pi at time

t + dt is deduced from the marking at time t by the relation

mi(t+dt)=mi(t)+&(t)*dt, i=l,...,n.

Let thefundamental relation

dM - = w * v(t),

dt

where W is the incidence matrix of the continuous PN and v(t) the instantaneous firing speed vector at time t, i.e. v(t) = (q(t), . . . , v,(t)). The marking of the PN is M(t) = (ml(t), . . . , m,(t)).

We shall write

dmi - =tii.

dt

The marking M(t) of the CCPN of Fig. 10 is given by the system of equations (the vector v(t) =

(4,2, 1,3) has been calculated in Section 3.2.2):

[ hl ri22 k3 I[ = -1 0 1 -101 0 1 -1 1 -1 0 ][I 4 2 :

=l. [ -3 2 1 By integrating these equations, the expression of the marking M is obtained as a function of the time (this calculation is simple since the speed vector is constant)

ml(t) = 9 - 3t, m2(t) = t, mj(t) = 2t.

Page 20: Continuous Petri Nets

194 H. Alla, R. David/Petiormance Evaluation 33 (1998) 17.5-199

It is clear that a marking cannot be negative, thus equation m 1 (t) = 9 - 3t cannot be verified for t > 3. The above equations are thus valid as from the initial time and until one of the markings becomes zero. This will be studied in the following section.

3.3. Properties

Using the fundamental relation (3), several properties can be found for CCPNs. Certain of these, such as marking invariants, are similar to those of the discrete PNs. Others are specific to the model, such as invariant behaviour state and evolution graphs for the CCPNs.

3.3.1. Invariant behaviour state The instantaneous$ring speeds determined by Algorithm 2 are calculated at a time t and remain constant

as long as the enabling conditions do not change. These conditions change when the marking of a place

becomes zero. The duration of an interval of time [tk_l, tk) is determined by the first place whose marking becomes

zero, i.e. Ak = tk - t&t is given by

The min function is taken on all the places Pi having a non-zero marking at the time t&l and having a strictly negative dynamic balance, i.e. mi (&_I) > 0 and Bi (tk-1) < 0. The interval Ak characterizes an invariant behaviour state (IB-state). It is a period of time during which all the instantaneous firing speeds are constant. In a CCPN, this invariant behaviour state corresponds to a functioning phase.

In the case of the CCPN of Fig. 10, we have found (Section 2.2.3) that the only place with a positive marking and a negative dynamic balance is PI. We thus have At = 9/3 = 3.

3.3.2. Evolution graph In a continuous PN, the marking of a place is a continuous function of time. It is then difficult to construct

a graph of reachable markings in the general case. However, a characteristic quantity of the functioning of a CCPN is the instantaneousJiring speed vector which remains constant in an IB-state. An evolution graph

is a graph in which a node is associated with an IB-state (in this state, the marking evolves in a continuous manner, according to relation (3)). The changeover from one IB-state to the following one occurs when the marking of a place becomes zero. We indicate on an arc connecting a node k to a node k + 1, the time tk Of change Of speed Vector and the marking at this time rk. In this marking, the pOSitiOn Of a new Vahe 0 corresponds to the place which is the reason for the change in speed vector. Fig. 12 gives the evolution graph associated with the CCPN of Fig. 10. We observe that it is the changeover of m 1 to the value 0 which causes the changeover from the first IB-state to the second. After time t2 = 9, a final firing speed vector is reached and the markings of the three places are constant. The terminal node of a graph is obtained as soon as the speed balances Bi are positive or zero for all the places. Here the balances of the four places are zero.

Remark 4. The state of a CCPN at a time t is completely defined by its marking and by its speed vector. In fact, a marking vector implies a speed vector if there is no effective conflict or if these conflicts are solved in a deterministic manner, but the number of markings is infinite. The speed vector is constant over a certain period for a CCPN and is sufficient for obtaining information on the dynamic behaviour of a continuous PN.

Page 21: Continuous Petri Nets

H. Alla, R. David/Perforrnunce Evaluation 33 (1998) 175-199 195

MO = (9,0,0) -r tO=o

Fig. 12. Evolution graph of the CCPN of Fig. 10.

Property 3. Every CCPN without effective conjlict converges to ajnal ZB-state in aJinite time.

This property is derived from the fact that each IB-state (except for the last one) has a finite duration, given by Eq. (4), and that the number of IB-states is finite (each new IB-state being the consequence of the changeover to value 0 of the marking of a place).

3.3.3. Invariants of a CCPN

If we observe the fundamental relation (3), we note that its form is similar to that of the discrete PNs. Then, P-invariants and T-invariants are defined in the same way. Starting out from a P-invariant X, a marking invariant is deduced. Indeed, if we multiply relation (3) by XT to the left, we obtain

X~~=X%v.tGO Vt.

By integrating the two members of this relation, we have:

XT. M(t) = XT * M(0).

For example in the case of the CCPN of Fig. 10, we have one P- invariant XT = (1, 1, 1 j which gives the following invariant:

ml(t) + m2(t) + mj(t) = 9.

A T-invariant verifies W. Y = 0. Let us assume that there is a firing speed vector at a time tk which verifies the relation W. V(tk) = 0. This means that the dynamic balances Bi are all zero at time tk. Thus the marking no longer changes (no place can have a marking which becomes zero). We finally obtain

dM - = 0 and M(t) = ikf(tk)

dt Vt ) tk

Page 22: Continuous Petri Nets

196 H. Alla, R. David/Per$ormance Evaluation 33 (1998) 175-199

Property 4. (a) In the final IB-state, the marking remains constant if and only if the jinal Jiring speed vector is a

T-invariant (the case where all the instantaneous firing speeds are zero is a trivial case of T-invariant). (b) If the final firing speed vector is not a T-invariant, then the PN is unbounded.

For example, the final firing speed vector of the evolution graph of Fig. 12 is a T-invariant of the CCPN of Fig. 10.

3.4. Example

Let us take again the example presented in Section 2.3.2. In order to obtain a CCPN, maximal firing speeds VI = 5, V2 = 3, V3 = 1 and V4 = 4 are associated with the transitions of the discrete PN of Fig. 7. Then the CCPN of Fig. 13(a) is obtained (here the marking 20 in PI, for example, corresponds to a real number). The values l/ VI, 1/ V2, l/ V3 and l/ V4 represent, respectively, the processing times for one variable in the processors. At the initial time, transitions Tt, T2 and T4 are strongly enabled then q = 5, v2 = 3 and 7~4 = 4. Transition T3 is weakly enabled then ~3 = min(v2, V3) = 1. This functioning phase will last until the buffer of station 4 is emptied, i.e. place P4 is the first place whose marking becomes zero, this occurring at time tl = 8.33. After time tl a new firing speed v = (5,3, 1, 1) is obtained. The end of the second phase occurs at time t2 = 11.25, where marking of place PI is zero. Finally after time t3 = 27.5, a final IB-state

_a_

Processor 1

VI = 5

Processor2

v2=3

Processor3

Processor4

3 = (0, 3,2.5, 22.5, 0)

-b-

Fig. 13. Shared variables system between four processors; (a) CCPN model; (b) Evolution graph.

Page 23: Continuous Petri Nets

H. Alla, R. David/Performance Evaluation 33 (1998) 175-I 99 197

60

54

48

42

8

36

30

24

6.0 9.0 12.0 15.0 18.0 21.0 24.0 27.0 30.

Fig. 14. Time evolution of the marking of the shared variables system between four processors.

is reached where all the firing speeds of the transitions are equal. This is a characteristic property of event graphs (an event graph is such that each place has only an input and an output transition). This system has been simulated on a SUN computer. Its evolution graph of this example is given in Fig. 13(b) and the time evolution of the markings for the continuous model and for the corresponding discrete model are represented in Fig. 14. Fig. 13(b) gives information about both the steady state behaviour and the transient behaviour. After time f3, the steady state is reached. It is the slowest processor which imposes its speed on the others and all the variables wait in the input buffer of processor 3. As it can be seen in Fig. 14, the continuous time evolution of the markings is a good approximation of the discrete time evolution. For the discrete model, 240 events are considered while only three events are sufficient in the evolution of the continuous model. The duration of the simulation of both the models has been measured, but with the initial marking of Fig. 13(a) these durations are less than 0.001 s. Therefore, in order to have significant results, the number of variables has been increased. For the following initial marking: m 1 (t) = 1000, m2(t) = mg(t) = mq(t) = 0, the duration of the discrete model simulation is about 1 s, while the duration of the continuous model simulation remains less than 0.001 s.

4. Concluding remarks

Continuous Petri nets (autonomous and timed) have been defined and the CCPN has been shown to have interesting properties. In particular, the finite number of functioning phases allows very short simulation

Page 24: Continuous Petri Nets

198 H. Alla, R. David/Per$ormance Evaluation 33 (1998) 175-l 99

duration in comparison with discrete model simulations. A CCPN can model either a discrete system or a continuous system. For a discrete system, it constitutes an approximation which is often satisfactory. Nevertheless, in order to improve the quality of the approximation, other continuous models [9,10] have been defined.

In a continuous Petri net, the synchronization phenomena have a different form which is weaker than in a discrete Petri net. In order to associate discrete variables and a continuous model, hybrid PNs with a continuous part and a discrete part have been introduced [ 181. For the discrete part, the continuous model may be any classical PN model (timed, stochastic, temporal, etc.). Some authors have considered hybrid models with stochastic timings of discrete transitions [ 19,201.

Research on hybrid systems has recently grown with new modeling tool such as hybrid automata. The link between continuous PN and hybrid PN on one hand, and hybrid automata on the other hand contitutes a very promising research.

References

[l] M.K. Molloy, Fast bounds for stochastic Petri nets, International Workshop on Timed Petri Nets, Torino (I), 1985, pp. 244-249.

[2] D. Dubois, J.-P. Forestier, Productivite et en-cours moyens d’un ensemble de deux machines separees par un stock, Revue RAIRO Automatique 16 (2) (1982) 105-132.

[3] R. David, X. Xie, Y. Dallery, Properties of continuous models of transfer lines with unreliable machines and finite buffers, IMA J. Math. Appl. Business Industry 6 (1990) 281-308.

[4] P. Chretienne, Les reseaux de Petri temporises, These d’Etat, Universite Paris VI, 1983. [5] C. Rarnchandani, Analysis of asynchronous concurrent systems by timed Petri nets, Ph.D., MIT, 1973. [6] J. Sifakis, Use of Petri nets for performance evaluation, in: H. Beilner, E. Gelenbe (Eds.), Measuring, Modelling and

Evaluating Computer Systems, North-Holland, Amsterdam, 1977, pp. 75-93. [7] H. Alla, R. David, Modelisation de production/gestion par rseaux de Petri continus, Congres Afcet-Automatique,

Grenoble, 1988, pp. 106-l 15. [8] H. Alla, R. David, Modelling of production systems by continuous Petri nets, in: Proc. 3rd Int. Conf. on CAD/CAM,

CARS and FOF88, Detroit, USA, 1988, pp. 344-348. [9] R. David, H. Alla, Autonomous and Timed continuous Petri nets, in: Proc. 1 lth Int. Conf. on Application and Theory of

Petri nets, Paris, 1990, pp. 367-386. [lo] J. Le Bail, H. Alla, R. David, Asymptotic continuous Petri nets: An efficient approximation of discrete event systems,

IEEE International Conference on Robotics and Automation, Nice, 1992, pp. 1050-1056. [ 1 l] R. David, H. Alla, Continuous Petri nets, in: Proc. 8th European Workshop on Application and Theory of Petri Nets,

Saragosse (E), 1987, pp. 275-294. [ 121 G. Rozenberg (Ed.), Advances in Petri nets, 1984 to 1990. Lecture Notes in Computer Science, Springer, Berlin. [ 131 R. David, H. Alla, Petri nets and Grafcet: Tools for Modelling Discrete Event Systems, Prentice-Hall, London, 1993. [ 141 T. Murata, Petri nets: Properties, analysis and applications, Proc. IEEE 77 (4) (1989) 541-580. [15] J.L. Peterson, Petri Net Theory and the Modelling of Systems, Prentice-Hall, Englewood Cliff, NJ, 1992. [ 161 M. Silva, Las Redes de Petri en la Automatica y la Inforrnatica, Ed. AC, Madrid. [ 171 S.B. Gershwin, I.C. Schick, Continuous model of an unreliable two-stage material flow system with a finite interstage

buffer, Technical report MIT LIDS-R-1032, 1980. [ 181 J. Le Bail, H. Alla, R. David, Hybrid Petri nets, European Control Conf., Grenoble, 1991. [19] KS. Trivedi, V.G. Kulkani, FSPNs: Fluid stochastic Petri nets, in: Proc. 14th Int. Conf. on Application and Theory of

Petri Nets, Chicago, USA, 1993. [20] E. Dubois, H. Alla, Hybrid Petri nets with a stochastic discrete part, in: Proc. 2nd European Control Conf., Groningen,

1993.

Page 25: Continuous Petri Nets

H, Alla, R. David/Performance Evaluation 33 (1998) 17.5-199 199

Hassane Alla was born in Ain-Sefra, Algeria, in 1952. He received the diploma of Automatic Control engineering from the Ecole Nationale Sup&ieure d’IngCnieurs Electriciens de Grenoble, France; and the Doctorat d’Etat es-Sciences degree in 1987 from the Institut National Polytechnique de Grenoble. He is currently a professor at the University of Grenoble and Deputy Director of the Laboratoire d’Automatique de Grenoble (in Institut National Polytechnique de Grenoble). His research interests concern the analysis and control of discrete event systems. The main used tools are Petri nets (ordinary, Continuous and Hybrid Petri nets) and their application to the manufacturing systems.

Ren6 David was born in Saint-Nazaire, France, in 1939. He received the Engineering Degree in 1962 at the Ecole Nationale Sup&ieure d’Arts et Metiers. In 1963 an accident stopped his work and left him paraplegic. In 1965 he received the Automatic Control Engineering degree at the University of Grenoble and in 1969 he received the Doctorat d’Etat es-Sciences degree at the same university. He is now Directeur de Recherche at the Centre National de la Recherche Scientifique, working at the Laboratoire d’Automatique de Grenoble (in Institut National Polytechnique de Grenoble). He was Deputy Director of this laboratory from 1987 to 1990. His works covers design of logic controllers, testing of digital circuits, modelling and performance evaluation of manufacturing systems. He is one of the creators of Grafcet and the creator (together with H. Alla) of continuous Petri nets. He is the author of Random Testing of Digital Circuits: Theory and Application (Marcel Dekker, New York, 1998).

Rene David and Hassane Alla are co-authors of Du Grafcet azu rkseaux de Petri (Hermes, Paris, 1989) and Petri Nets and Grafcet: Tools for Modelling Discrete Event Systems (Prentice-Hall, London, 1992); this book was translated into Chinese (Machinery Press, Beijing, 1996).