Department of Computing Science, University of Newcastle upon Tyne
Relative data freshness of asynchronous communication mechanisms A. Madalinski, F. Xia, A. Yakovlev
Technical Report Series No. CS-TR-709 August, 2000
Contact:
[email protected] [email protected] [email protected]
This work was supported by EPSRC GR/L93775, GR/M94366
c 2000 University of Newcastle upon Tyne Copyright Published by the University of Newcastle upon Tyne, Department of Computing Science, Claremont Tower, Claremont Road, Newcastle upon Tyne, NE1 7RU, UK
A. Madalinski, F. Xia , A. Yakovlev: Relative data freshness of asynchronous communication mechanisms
Abstract
Data freshness is an important property of asynchronous communication mechanisms (ACMs). It denes how up to date any item of data that the reader obtains from the ACM is. The concept of relative data freshness is introduced, which explores data freshness quantitatively. A method of studying relative data freshness for multi-slot ACMs using stochastic Petri nets (SPNs) techniques is presented. The relative data freshness properties of a three-slot and a four-slot ACM are investigated.
Keywords: asynchronous communication mechanism, stochastic Petri nets, data freshness.
1 Introduction An asynchronous communication mechanism (ACM) is a scheme which manages the transfer of data between two processes. The data being passed consists of a stream of individual items of a given type. The processes are single thread cycles, one providing an item of data during each cycle, the other making use of an item of data during each cycle. The provider of data is known as the writer of the ACM and the user is known as the reader of the ACM. Such techniques as the multiple slot mechanisms were proposed in [1] and are meant to communicate without mutual timing constraints. The data is passed between the writer and reader processes, through shared memory locations (slots) where the access to these slots is coordinated by small shared control variables. Schematically, data communication between processes through an ACM is shown in Figure 1. writer
reader
control variables
ACM
data
Figure 1: Asynchronous data communication mechanism The number of data slots is signicant to the most important ACM properties, viz. asynchrony, data coherence and data freshness. In order to provide full asynchronism, more than two data slots are needed so that the reader and writer do not access the same slot at the same time. When simultaneous reading and writing occurs on the same slot, it is likely that corrupt data will be passed on. This is known as the data coherence problem. The other important property of such ACMs is data freshness, which describes how up to date any item of data obtained by the reader is, relative to the latest item of data provided by the writer. Data freshness is dened qualitatively in [2]. In this paper data freshness is studied quantitatively. A concept of relative data freshness is introduced, which classies freshness grades from the most fresh data to the least fresh data within an ACM. Using SPN techniques the relative data freshness of a three-slot and a four-slot ACM is studied here. This study is a continuation of previous studies of ACMs. In [3] other properties of an ACM have been studied using SPN techniques. CS-TR-709, August 2000, CS Dept., University of Newcastle upon Tyne
1
A. Madalinski, F. Xia , A. Yakovlev: Relative data freshness of asynchronous communication mechanisms
SPN techniques oer a well-developed approach for the performance analysis of discrete event systems. This approach also seems most appropriate because the principal formal techniques used in former studies [4] for modelling such asynchronous systems are those based on Petri nets. It has been shown in [1] that a four-slot ACM is capable of maintaining data coherence and data freshness in fully asynchronous operation. The three-slot design, however, fails data coherence requirements in a subtle way. Specically, if certain control variable statements are not regarded as atomic, simultaneous reading and writing of the same slot may occur. A hardware ACM design using self-timed circuits has been published [5] where mutex elements are used to deal with the issue of metastable control variables. A side eect of this use of mutex elements is that the relevant control variable statements are protected, and may now be regarded as atomic.
2 Background In this section the four-slot and the three-slot ACMs and their PN models are described. Furthermore, the stochastic Petri nets (SPNs) and the GreatSPN tool are briey summarized.
2.1 The four-slot mechanism and its PN model
Simpson's four-slot mechanism [1] is asynchronous in that the operation of one process has no timing eects on the operation of the other. The algorithm is shown in Table 1. The writer and reader processes are single loops with three statements each. A four writer
reader
wr
:
w0
: s[n] := s[n]
d[n; s[n]]
w1
:
l
:=
k
n n
:= =
input
r
r0
:
r
:=
l
r1
:
v
:=
s
rd
:
output
:=
d[r; v [r ]]
Table 1: Algorithm of the four-slot mechanism element array
to [1 1] represents the four data storage slots. The control variables , which are either single bits or vectors of two single bits, steer the access to the slots. The variables and , respectively, indicate which slot is being used to assemble new data, which slot holds the latest data and which has been selected for reading. The control variables and indicate, respectively, the slot which holds the latest data and which slot has been selected for reading. The four-slot ACM is shown schematically in Figure 2. d[0; 0]
d
;
n; l; r; s[0::1]; v [0::1]
n; l
s
r
v
PN model of the four-slot ACM The Petri net model of the four-slot ACM as presented in [4] is described here. According to the algorithm in Table 1 the ACM is represented as a writer and reader model with three sub-models each.
Writer model The writer process is divided into three statements rst writer statement
wr
0 and 1. The is the writer slot access and is depicted in Figure 3. In this
CS-TR-709, August 2000, CS Dept., University of Newcastle upon Tyne
wr; w
w
2
A. Madalinski, F. Xia , A. Yakovlev: Relative data freshness of asynchronous communication mechanisms control variables n, l, r, s and v writer
reader slot d[0,0] slot d[0,1] slot d[1,0] slot d[1,1]
Figure 2: Scheme of the four-slot mechanism sub-model each slot has its own start writing, writing, end writing and not writing cycle. The value of the control variable [0 1] determines which slot the writer would go to. s
::
p
t
4_s[0]=1
1
p
p
12_not_wr_d[0,0]
8_wr_d[0,0]
t
5
p
2_n=0
p
t
5_s[0]=0
p 2
p
9_wr_d[0,1]
13_not_wr_d[0,1]
t
6
p
p
1_wr_ready
16_w0_ready
p
10_wr_d[1,0]
t
p
6_s[1]=1
t
7
p
3
14_not_wr_d[1,0]
p
3_n=1
p
11_wr_d[1,1]
p
t
7_s[1]=0
t
8
p
4
15_not_wr_d[1,1]
Figure 3: PN of the writer statement
wr
of the four-slot mechanism
The second writer statement 0 is the rst part of the write post sequence. In this sequence the control variables are updated by the writer. The value of the variable changes to its complement. The PN model of this statement is shown in Figure 4(a). Figure 4(b) shows the third writer sub-model for the 1 statement, which is the second part of the post sequence. This action is a parallel assignment of the control variables and . The assignment is performed by ring one transition, depending on the value of the control variables. w
s
w
n
r
Reader model The reader model is established in a similar way to the writer model. The rst and second statements 0 and 1, respectively, denote the read pre-sequence, where the control variables are updated. These sub-models are depicted in Figure 5. The third reader statement , shown in Figure 6, represents the read slot access, where each slot has its own start reading, reading, end reading and not reading cycle. r
r
rd
2.2 The three-slot mechanism and its PN model
The algorithm of the three-slot mechanism, as dened in [2], is shown in Table 2. Here the writer and reader processes are single thread loops with three and two statements each, respectively. The data is passed through a three slot array [ ]. The control variables , d n
CS-TR-709, August 2000, CS Dept., University of Newcastle upon Tyne
l
r
3
A. Madalinski, F. Xia , A. Yakovlev: Relative data freshness of asynchronous communication mechanisms
t p
9
4_s[0]=1
p t
p
2_n=0
5_s[0]=0
t
13
t
p 20
21_r=1
t
p
t
14
19
2
10
p
p
p
p
17
17_w1_ready
16_w0_ready
p
p
18_l=0
1
19_l=1
p
t p
3
12
t
p
3_n=1
6_s[1]=1
15
t
18
t
p
20_r=0
t
16
17
p t
7_s[1]=0
11
(a) w0 statement
(b) w1 statement
Figure 4: PN of the writer post sequence of the four-slot mechanism t
21
20_r=0
p
23_r1_ready(1)
p
25
p
4_s[0]=1
p
p
25_v[0]=0
5_s[0]=0
p
18_l=0
t
t
p
p
t
23_r1_ready(1)
p
26_s[0]=1
26
22
p
22_r0_ready
22_r0_ready
p t
p
19_l=1
t
p
37_r1_ready(2)
23
6_s[l]=1
p
37_r1_ready(2)
p
t
21_r=1
p
7_s[0]=1
t
24
(a) r0 statement
27
p
27_s[l]=1
p
28_s[0]=0
28
(b) r1 statement
Figure 5: PN of the read pre-sequence of the four-slot mechanism and indicate, respectively, which of the three slots holds the latest data, which has been selected for reading and where new data is to be assembled. n
writer
reader
wr
:
d[n]
w0
:
l
w1
:
n
:=
:=
input
:_
n
:=
(l
r0
:
r
rd
:
output
:=
l
:=
d[r ]
r)
Table 2: Algorithm of the three-slot mechanism The PN model represented here is slightly modied from the original one in [4] because a simplied algorithm was used.
Writer model The writer process describes three statements
and 1. The rst writer statement is the writer slot access and is depicted in Figure 7. In this sub-model each slot has its own start writing, writing, end writing and not writing cycle. The second and third writer statements are the write post sequence. In this sequence the control variables are updated by the writer, setting the variables and , respectively. The models are shown in Figure 8. wr; w 0
w
wr
l
Reader model The reader process is divided into two statements ments
r0
and
rd
n
and . The stateare modelled in a way shown in Figure 9, according to the algorithm.
CS-TR-709, August 2000, CS Dept., University of Newcastle upon Tyne
r0
rd
4
A. Madalinski, F. Xia , A. Yakovlev: Relative data freshness of asynchronous communication mechanisms p
t
25_v[0]=0
29
p
p
29_rd_d[0,0]
33_not_rd_d[0,0]
t
33
p
20_r=0
p
t
26_v[0]=1
p
p 30
30_rd_d[0,1]
34_not_rd_d[0,1]
t
34
p
p
16_w0_ready r
24_rd_ready
p
t
31_rd_d[1,0]
t
p
28_v[1]=0
35
p
31
35_not_rd_d[1,0]
p
21_r=1
p
t
32_rd_d[1,1]
p
t
27_v[1]=1
36
p
32
36_not_rd_d[1,1]
Figure 6: PN of the reader statement p10
r0
p13, writing slot00
of the four-slot mechanism t13
t
10
p
16, not writing slot 00
t 11
p14, writing slot 01
p , w0 ready 2
t14
p
p 17, not writing slot 01
11
p1, wr ready p
12
t 12
p15, writing slot10
t15 p18, not writing slot 10
Figure 7: PN of the writer statement
wr
of the three-slot mechanism
2.3 Stochastic Petri Nets and the GreatSPN tool
A Stochastic Petri Net (SPN) [6] is a Petri Net where each transition is associated with a random variable (exponentially distributed) that expresses the delay from the enabling to the ring of the transition. In the case where several transitions are simultaneously enabled, the transition that has the shortest delay will re rst. The reachability graph of an SPN is identical to the one of the underlying PN. Due to the memoryless property of the exponential distribution of ring delays, the marking process generated by an SPN is a continuous-time Markov chain with a state space which is isomorphic to the reachability set [7]. A generalised stochastic Petri net (GSPN) [9][8] is an extension of SPN that copes with the state space explosion problem. A GSPN has two types of transitions, timed and immediate. A timed transition has an exponentially distributed ring delay, as in SPN, and an immediate transition has no ring delay. The stochastic interpretation of a GSPN model diers from that of an SPN model in taking into account immediate transitions. When a marking is entered, it is rst necessary to ascertain whether it enables timed transitions only, or at least one immediate transition. CS-TR-709, August 2000, CS Dept., University of Newcastle upon Tyne
5
A. Madalinski, F. Xia , A. Yakovlev: Relative data freshness of asynchronous communication mechanisms
p10
p11
p12
p7 t 18
t 16
t17
t19
t 20
t 21
t23
t24
t4 p4
p5
p4
p8
p5
p9
p6
t22
t5
t8
t6
t7
t9
t2
t1
t3
p6
p11 p3, w1 ready, from t 16~ t 24
p2, w0 ready, to t 16~ t 24
p12
p10
p3, w1 ready, to t 1~ t 9
p1, wr ready, from t 1 ~t 9
(a) w0 statement
(b) w1 statement
Figure 8: PN of the writer post sequence of the three-slot mechanism p7 p
p
4
t 30
t28
t29
t31
p
5
t32
t33
t35
p8
t36
t34
p9
t38
p23, reading slot 01
p25, not reading slot 00
t41
p26, not reading slot 01 p 28,r0 ready
p30,rd ready p
p28,rd ready, to t 28~ t 36
p22, reading slot 00 t40
6
p8
p7
t 37
t39 9
p24, reading slot10
t42
p30, rd ready, to t 28~t 36
(a) r0 statement
p
27, not reading slot 10
(b) rd statement
Figure 9: PN of the reader process of the three-slot mechanism Markings of the former type are called tangible, whereas markings of the latter type are called vanishing. In the case of tangible marking the transition rule corresponds to the one of SPN. In the case of vanishing markings, the selection of which transition to re cannot be based on the temporal description (since all immediate transitions re exactly in zero time). Thus, the choice is based on priorities and weights. The GreatSPN2.0.2 tool [10][11] is a software package for modeling, validation, and performance evaluation of distributed systems using Generalized Stochastic Petri Nets. The main features which the tool provides are a graphical interface, structural properties analysis and Markovian solvers for steady state. The GSPN model is created using the graphical interface and validated using structural analysis methods. The performance-related parameter such the rates or weights associated with transitions are set to default values and should be dened to specify the behaviour of the model. The Markovian performance analysis computes the steady state probability which is dened as the percentage of time the system spends in the state i being in equilibrium condition. The performance parameters, including the throughput, the frequency of ring of a transition and the distribution of tokens into places (the probability of an event dened through place marking), are obtained from the steady state distribution. This tool was successfully employed in [3] where its ndings were checked thoroughly with the help of simulations. CS-TR-709, August 2000, CS Dept., University of Newcastle upon Tyne
6
A. Madalinski, F. Xia , A. Yakovlev: Relative data freshness of asynchronous communication mechanisms
3 Modelling and analysis of relative data freshness A monitoring environment must be introduced in order to study relative data freshness of ACMs using SPN techniques.
Denition: Relative data Freshness At any moment in steady state, the slots of the ACM contain data items which were written at dierent times. At the beginning of an rd statement, the n slots of the ACM are labelled 1 to n according to when their contents were written, with the slot containing the most recently written item labelled 1, the slot containing the next most recently written item labelled 2, etc. The reader is said to obtain an item of relative data freshness i during a cycle when the slot accessed by the rd statement of the cycle is so labelled i. This denition is fundamentally dierent from Simpson's original qualitative denition of data freshness [2], which was concerned with data items being admissible new. Informally, the oldest item of data that satises that denition is the second newest in the ACM at the beginning of r0, if r0 and the sequence of w0 and w1 overlap in time. This means that in some cases, data items whose relative freshness is greater than 1 may be regarded as fresh in the sense of Simpson. According to the denition of relative data freshness above, monitoring networks for the three-slot and four-slot ACM were constructed. First the monitoring network for the three-slot ACM is described in detail followed by the one for the four-slot ACM. The monitoring environment of the three-slot ACM containing, amongst other things, 3 relative freshness labels for each slot. These relative freshness labels are updated after a writer access (wr ) and checked before a reader access (rd ). Depending which relative freshness label was set at the beginning of the reader access the particular relative data freshness grade is set. In Figure 10 a part of the monitoring network of the three-slot ACM is shown. writing P13
not writing
t 13
P16
P t
t 00_2->1_01
00_1
P
00_2
P
t 37
P7
00_3
t 01_1
P
01_2
P
Prd_00_1
t 40_1
Prd_00_2
t 40_2
not reading P25
00_3->1_0110
00_2->1_10 P
10_1
P
10_2
P 10_3
t 00_3->1_1001
P00_1
t 37_1
P00_2
t 37_2
P00_3
t
(a) extention of wr statement
t 40
01_3
t 00_2->1_10
t 00_3->1_0110
P22
00_2->1_01 P
t
reading
t 37_3
Prd_00_3
t 40_3c
00_3->1_1001
(b) setting relative freshness labels
(c) extention of rd statement
Figure 10: Part of the monitoring network of the three-slot ACM There are four possibilities of changing the relative freshness labels for each slot, depending which slot is accessed by the writer and which relative freshness label is set. An CS-TR-709, August 2000, CS Dept., University of Newcastle upon Tyne
7
A. Madalinski, F. Xia , A. Yakovlev: Relative data freshness of asynchronous communication mechanisms
additional sub-model was introduced for each slot to update the relative freshness labels after a writer access. Figure 10(b) shows this model for the rst slot. The places are arranged in a 3 by 3 array. The places in the rst row ( 00? i , = 1 2 3) dene the relative freshness labels of the rst slot, in the second row ( 01? i ) of the second slot and so on. The transitions in this sub-model denote the nished writing transitions of the rst slot. In the original PN model this action was represented by the transition 13 in the wr sub-model. This sub-model was modied by dividing the transition 13 (nished writing slot 00) into four transitions. This is shown in Figure 10(a). The method of subscriptions for these transitions is denoted as follows. The rst two binary digits dene the slot after writer access. The next part denotes the setting of the freshness label of the accessed slot from 2 or 3 to 1. The last part of the index describes the slot(s) involved in updating its (their) freshness label(s). If there are more than two digits the slot with the lowest label value is placed rst followed by the one with a higher value. If one of the transitions 00? 2!1? 01 or 00? 2!1? 10 in Figure 10(b) res, the relative freshness label of the rst slot is set from 2 to 1 and the relative freshness labels of the second and third slots, respectively, from 1 to 2 depending on the state of these slots. The transition 00? 3!1? 0110 or 00? 3!1? 1001 is enabled if the label of the rst slot is set to 3. One of these transitions res, setting the label of the rst slot to 1 and adding 1 to the values of the label of the other slots (setting either slot 01 to 2 and slot 10 to 3 or vice versa). According to the initial markings ( 00? 3 , 01? 2 and 10? 1 ) the transition 00? 3!1? 1001 res if the writer accesses the rst slot setting labels denoted by places 00? 1 , 01? 3 and 10? 3 . The relative freshness labels are checked at the beginning of the reader access. Figure 10(c) shows the extension of the rd sub-model. Here the part from starting reading to nishing reading was divided into three. Depending which relative freshness label is set, one of the starting reading transitions 37? i ( = 1 2 3) res adding a token to the place rd? 00? i . The places rd? 00? i denote the relative freshness of data obtained by the reader as its token distribution. The monitoring network for the second and third slot is modelled similar to Figure 10. The wr sub-model is modied by dividing the transition 14 and 15 (nished writing) into four transitions each, and the rd sub-model is modied by dividing the part from starting reading transition to nished reading transition into three sub-parts for every slot. The updating of the relative freshness labels is modelled analogously to the one in Figure 10(c). p
i
;
;
p
t
t
t
t
t
t
p
p
p
t
p
p
p
t
p
i
;
;
p
t
t
The monitoring network for the four-slot ACM is modelled in a similar way as the one for the three-slot. However, the model is more complex because of the number of slots, which increases the possibilities of changing the relative freshness labels. In Table 3 the principle of the updating process of the relative freshness labels for the rst slot of the four-slot ACM is presented as a textual listing. The extended PN models of the three-slot and four-slot ACM were constructed and analysed using the GreatSPN2.0.2 tool. All transitions were assumed to have exponential distributions with the mean time given in Table 4. These were obtained from analog simulations [5]. The results of the analysis of relative freshness of the three and four-slot ACM are shown in Table 5.
CS-TR-709, August 2000, CS Dept., University of Newcastle upon Tyne
8
A. Madalinski, F. Xia , A. Yakovlev: Relative data freshness of asynchronous communication mechanisms
extension of
t1
? 2!1? 01 t00? 2!1? 10 t00? 2!1? 11 t00? 3!1? 0110 t00? 3!1? 0111 t00? 3!1? 1001 t00? 3!1? 1011 t00? 3!1? 1101 t00? 3!1? 1110 t00? 4!1? 011011 t00? 4!1? 011110 t00? 4!1? 100111 t00? 4!1? 101101 t00? 4!1? 110110 t00? 4!1? 111001 t00
input 00? 2 , 00? 2 , 00? 2 , 00? 3 , 00? 3 , 00? 3 , 00? 3 , 00? 3 , 00? 3 , 00? 4 , 00? 4 , 00? 4 , 00? 4 , 00? 4 , 00? 4 , p p p p p p p p p p p p p p p
?1 p10? 1 p11? 1 p01? 1 , p01? 1 , p10? 1 , p10? 1 , p11? 1 , p11? 1 , p01? 1 , p01? 1 , p10? 1 , p10? 1 , p11? 1 , p11? 1 , p01
output 00? 1 , 00? 1 , 00? 1 , 00? 1 , 00? 1 , 00? 1 , 00? 1 , 00? 1 , 00? 1 , 00? 1 , 00? 1 , 00? 1 , 00? 1 , 00? 1 , 00? 1 ,
p01
p
p10
p
?2 ?2 p01? 2 p11? 2 p01? 2 p10? 2 p10? 2 , p11? 2 , p01? 2 , p11? 2 , p01? 2 , p10? 2 , p10
p
p11
p p p p p
?3 ?3 p11? 3 p01? 3 p10? 3 p01? 3 p11 p10
?2 ?2 p11? 2 p01? 2 , p01? 2 , p10? 2 , p10? 2 , p11? 2 , p11? 2 , p01? 2 , p01? 2 , p10? 2 , p10? 2 , p11? 2 , p11? 2 ,
p
p p p p p p
?3 ?3 p01? 3 p11? 3 p01? 3 p10? 3 p10? 3 , p11? 3 , p01? 3 , p11? 3 , p01? 3 , p10? 3 , p10 p11
?4 ?4 p11? 4 p01? 4 p10? 4 p01? 4 p11 p10
Table 3: A part of the monitoring network of the four-slot ACM statement three-slot [ns] four-slot [ns] wr 4.42 4.42 w0 2.08 3.67 w1 2.08 5.97 r0 1.38 2.18 r1 / 2.59 rd 3.56 3.56 Table 4: Timing Data
4 Conclusions This paper presented a method of quantitative analysis of data freshness for multi-slot ACMs using SPN techniques. The concept of relative data freshness was introduced. Relative data freshness described how up to date any item of data that the reader obtains from the ACM is, and classied it in grades from freshest data to least fresh data within the ACM. The existing PN models of the three-slot and four-slot ACM have been extended by a model for monitoring the relative data freshness in order to perform the analysis using SPN techniques. The extended PN models have been implemented and analysed using the relative data three-slot four-slot freshness 1 0.0684 59.9% 0.0497 60.6% 2 0.0435 38.2% 0.0302 36.8% 3 0.0022 1.91% 0.0021 2.51% 4 / / 0.2e-4 0.02% Table 5: Results of the analysis CS-TR-709, August 2000, CS Dept., University of Newcastle upon Tyne
9
A. Madalinski, F. Xia , A. Yakovlev: Relative data freshness of asynchronous communication mechanisms
GreatSPN2.0.2 tool. The analysis results show that the relative data freshness behaviours of the three-slot and four-slot ACM are essentially the same. In the next stage, other ACMs could be studied by using this method. Furthermore, other properties of ACMs could be analysed using a similar method of modelling.
References [1] H.R. Simpson. Four-slot fully asynchronous communication mechanism, IEE Proceedings, Vol. 137, Pt. E, No.1, pp.17-30, January 1990. [2] H.R. Simpson, Correctness analysis of class of asynchronous communication mechanisms, IEE Proceedings, Vol. 139, Pt. E. No. 1, pp.35-49. January 1992. [3] A. Madalinski, F. Xia, A. Yakovlev, Study the data loss and data re-reading behaviour of a four-slot asynchronous communication mechanism using stochastic Petri net techniques, Proceedings of the Seventh UK Asynchronous Forum, Department of Computing Science, University of Newcastle, December 20-21, 1999. [4] F. Xia, Supporting the Mascot Method with Petri Net Techniques for Real-Time Systems Development, PhD Thesis, London University, London, 2000. [5] Xia, F., Yakovlev, A., Shang, D., Bystrov, A., Koelmans, A., Kinniment, D.J., Asynchronous Communication Mechanisms Using Self-timed Circuits, Proc. Sixth Int. Symp. on Advanced Research in Asynchronous Circuits and Systems (Async'2000), April 2000, Eilat, Israel, IEEE Computer Society Press, pp. 150-159. [6] T. Murata. Petri nets: Properties, analysis and applications. Proceedings of the IEEE, Vol. 77, pp.541-580, April 1989. [7] M. A. Marsan. Stochastic Petri Nets: An elementary introduction. In G. Rozenberg, editor, Advances in Petri Nets 1989, Lecture Notes in Computer Science. Springer Verlag, 1990. [8] M. A. Marsan, A. Bobbio, S. Donnatelli, Petri Nets in Performance Analysis: An Introduction, In W. Reisig, G. Rozenberg, editors, Lectures on Petri Nets I, Lectures Notes in Computer Science. Springer Verlag, 1998. [9] M. Ajmone Marsan, A. Bobbio, G. Conte, S. Donatelli, G. Franceschinis. Modelling with Generalized Stochastic Petri Nets, Wiley, 1995. [10] University of Turin, GreatSPN2.0.2, http://www.di.unito.it/greatspn. [11] G. Chiola. GreatSPN Users' Manual, Version 1.3, University of Turin, September 1987.
CS-TR-709, August 2000, CS Dept., University of Newcastle upon Tyne
10