Available online at www.sciencedirect.com
Computer Communications 31 (2008) 2210–2230 www.elsevier.com/locate/comcom
A behavior and delay equivalent petri net model for performance evaluation of communication protocols Osama S. Youness *, Wail S. El-Kilani, Waiel F. Abd El-Wahed Faculty of Computers and Information, Menoufia University, Al-Menoufia Egypt Received 15 March 2007; received in revised form 11 February 2008; accepted 11 February 2008 Available online 20 February 2008
Abstract Performance evaluation is required at every stage in the life cycle of a network protocol. Analytical modeling is the method of choice for fast and cost effective evaluation of a network protocol. One of the most efficient high-level formalisms used for analytical modeling of network protocols is stochastic petri nets (SPN’s). Yet, complexity of nowadays network protocols, which results in the state space explosion of the underlying Markov chain (MC) model, has hindered the wide use of SPN’s in the analysis of these protocols. Decomposition techniques are considered one of the main methodologies used for the approximate solution of the state explosion problem. Unfortunately, most of these techniques either require special form of the model or give insufficient accuracy of the solution. Moreover, small rates of communication protocols have caused additional overhead on any proposed technique for approximate evaluation of these protocols. This paper presents a new decomposition technique called behavior and delay equivalent block (BDEB) technique. This technique overcomes most of drawbacks of other techniques proposed in the literature. It introduces a new aggregation method that depends on using a new type of transitions called intelligent transition. The proposed technique adopts the delay equivalent criteria but in a new philosophy different from other techniques using the same criteria. The new technique is explained by applying it to an illustrative example and a scalable model of a courier protocol. 2008 Elsevier B.V. All rights reserved. Keywords: Network protocols; Stochastic petri nets; Performance and reliability analysis; Decomposition; Analytical modeling
1. Introduction Performance evaluation is required at every stage in the life cycle of a network protocol, including its design, implementation and testing. The three techniques for performance evaluation of network protocols are analytical modeling, simulation and measurement. There are a number of considerations that help decide the technique to be used. Analytical models generally provide the best insight into the effects of various parameters and their interactions. Simulations take a long time, measurements generally take longer than analytical modeling but shorter than simulations. Hence analytical modeling is the method of choice
*
Corresponding author. Tel.: +20129903779. E-mail address:
[email protected] (O.S. Youness).
0140-3664/$ - see front matter 2008 Elsevier B.V. All rights reserved. doi:10.1016/j.comcom.2008.02.009
for a fast and cost effective evaluation of a network protocol. One of the most efficient high-level formalisms used for analytical modeling of network protocols is petri nets (PN’s) [1]. Stochastic petri nets and its variant (i.e., SRN’s, GSPN’s) [2,3] have been used extensively in modeling and evaluating network protocols [4–7]. Unfortunately, complexity of nowadays network protocols, which results in the state space explosion of the underlying MC model, has hindered the wide use of SPN’s in the analysis of these protocols. Several approaches have arisen to cope with the state explosion problem such as truncation technique, lumping technique, fluid models technique, state aggregation techniques and decomposition techniques [8]. Hierarchal modeling decomposition techniques are considered one of the main methodologies used for the approximate solution for the state explosion problem [8]. It uses the ‘‘divide and conquer” principle, the original model is
O.S. Youness et al. / Computer Communications 31 (2008) 2210–2230
divided to several smaller sub models, then sub models results are conquered into an overall solution. It is cheaper to solve several small models than a single large one. Unfortunately, most of decomposition techniques either require special form of the model or give insufficient accuracy of the solution. Moreover, small rates of communication protocols have caused additional overhead on any proposed technique for approximate evaluation of these protocols. These constraints clarify the need for an efficient technique to evaluate communication protocols. Several decomposition techniques have been proposed in the literature. Decomposition techniques are either Kronecker-based techniques [9–12] or fixed point iteration approaches [13–16]. The Kronecker approach is based on construction of the state space in which a certain Cartesian product of reachable states of the components of the model is performed, leading eventually to a product space that includes the actual reachability set S. The impact of the Kronecker-based approach for the study of models coming from the real world is still very limited [12]. There are two major reasons for this. The first one is the computational complexity of the steady state vector. The second one is the availability of tools, or, better, the availability of Kronecker-based solution in general purpose tools. In this paper, we propose an efficient fixed point iteration decomposition technique. It does not require any special structure of SPN model. Moreover, it gives high accuracy compared to other fixed point iteration methodologies proposed. Amar and Islam [13] suggested a time scale decomposition method to hierarchically reduce the SPN. This technique is based on near complete decomposability of Markov chains. The advantage of this technique is that it gives a good accuracy and it does not depend on the iterations, so it does not have the problems of iterative methods. The drawbacks of this technique are, first it is used only when the firing rates of transitions of the PN model differ by orders of magnitude and it gives a poor approximation if firing rates of transitions are large or the differences among them are small. Second, in some cases if we remove the slow transitions from the GSPN model we get one or more subnets that have one or more absorbing place, so the subnets cannot be solved and the technique cannot be applied. In [14] Ciardo and Trivedi developed an approximate technique that decomposes a GSPN into a set of subnets and solves each individual subnet separately. This technique presents six common types of GSPN structures that can be decomposed. Moreover it determines three quantities to export in the iterative schemes for the four GSPN structure types. If there are dependencies among the subnets after decomposition, certain quantities need to be exported to other subnets after solving each subnet, and this is conducted iteratively. This technique is based on an assumption of near independence among subnets. The advantage of this technique is, it gives a very good accuracy if the author’s conditions are verified for the six types of GSPN structures that are used for decomposing the origi-
2211
nal model. The drawbacks of this technique are, first, it has many constraints on the structure and rates of transitions of the GSPN model to be used to get a good approximation. Second, if there are dependencies among the subnets, the number of imported quantities is very large and needs a lot of skills and experience to be calculated. A decomposition technique was proposed in [15] for iteratively obtaining approximate throughput of stochastic marked graph. The technique divides a net into two parts each with constant rate aggregated transitions, which is calculated iteratively using a response time approximation. More complex nets are decomposed hierarchically. This technique has been extended in [16] by allowing multiple arcs connections between two subnets partitioned by a single cut. The original model is decomposed into two subsystems and a basic skeleton system. The decomposition is done by a single cut defined through some places. The subnets are aggregated in the form of number of place–transition pairs; this number depends on the set of paths from input places to output ones in the subnet. This aggregation method conserves the behavior of the aggregated subnets to be the same as that of the original marked graph (MG). The solution accuracy of this technique is usually good, but the initial guessing of the interface transitions rate affects the number of iterations and solution accuracy. The technique introduced in [16] was developed in [17] to be used with a special class of stochastic petri nets called asynchronous communication module which is more general than marked graph petri nets. In [18] Peter and Helena presented a decomposition method to evaluate GSPN with a large state space. They introduced a method to identify submodels on GSPN-level, based on p-invariants. They defined two classes of interactions (information exchange among subsystems) on GSPNlevel, direct interaction and cyclic interaction. The solution process may be iterative, depending on the interaction types among submodels. The main advantage is the simplicity of the method. The modeler has actually not to cope with knowledge of stochastic processes. Also, some rules to support decisions in the method like the determination of a partition are given. The drawbacks are: first, computing pinvariants, that are used to determine the subsystems, is not easy especially if the model is very complex. Second, it uses only two classes of interactions between subsystems. These interactions are rarely found in a real world model. The decomposition technique introduced in [14] is more general than this technique, but it is more complex. In [19], Koriem introduced a simple decomposition technique for reliability analysis of multistage interconnection networks (MINs). The percentage error of this technique is very low, but it can be applied only for a very special structure SPN model. This SPN model must have one token in the initial state and one or more absorbing place. Also, it must be decomposed into a set of free choice nets. In [20] Freiheit and Zimmermann introduced a decomposition technique based on response time for large stochastic petri nets. In the first step of this technique, the
2212
O.S. Youness et al. / Computer Communications 31 (2008) 2210–2230
whole model is divided into n smaller submodels. Each submodel is supplemented by an aggregation of the remaining model parts, forming the so called low-level system. A basic skeleton is derived from the original model in which all submodels are aggregated. The second step results in n low-level systems and the basic skeleton. The authors of this approach introduced a new aggregation method based on the so called MIMO (multi-input multi-output) graph. The idea of the MIMO graph-based aggregation depends on replacing complex structures of the subsystems by simple structures through merging sequential model elements. In the third step the performance measures of the whole system are iteratively computed. Very large systems can be analyzed with this technique, but the approximation error grows with the degree of aggregation. Also, the proposed aggregation method cannot usually aggregate the subsystems in an effective way that reduces the state space size to the smallest value. Li and Woodside introduced a decomposition technique called the complete decomposition technique [21]. This technique improves the techniques introduced in [22,23] by achieving much smaller state space and the least number of aggregated transitions for the solution of auxiliary models. The complete decomposition technique is applied to a class of GSPN called generalized service networks with generalized service centers. These generalized service centers are built up from two types of elementary subnets, namely the state machine (SM), and the place-module or p-module. Both of these elementary nets can be aggregated in one place and multi-output transitions. The rate of aggregated transitions is marking dependent and can be calculated using the delay equivalent criterion given in [22,23]. The advantage of this technique is its reduction of the state space of the auxiliary models to a smaller size than the previous techniques, though the accuracy is about the same as the previous techniques. This paper propose a new decomposition technique which does not require any special structure or behavior of the SPN model. Moreover, it gives high accuracy compared to other methodologies or techniques proposed. We have called it the behavior and delay equivalent block (BDEB) technique. This technique overcomes most of drawbacks of other techniques stated above. Moreover, it is the first technique which applies the input/output philosophy of systems to PN models. Although both the BDEB and the complete decomposition technique [21] are based on the delay equivalent criterion, yet the BDEB is superior to the complete decomposition in the following aspects: first; the complete decomposition technique is used only with a special class of PN, which represents the generalized service networks. On the other hand, the BDEB can be applied to nearly all classes of SPN’s (like other techniques introduced in [15–21], it cannot be used with dependent stochastic reward net discussed in [14]). Second, p-invariants are used by the complete decomposition to calculate the delays of traversing tokens in a sub model. Finding p-invariants generally involves exponential complexity
[21,24]. Although in [21] they have tried to simplify the calculation of p-invariant, yet it is still complex. In the BDEB, we introduce a novel methodology using implicit places to calculate these delays without needing to track the paths of tokens inside a subnet (input/output criteria). Third, large GSPN models are solved by the complete decomposition in several stages. The number of stages depends on the number of traversing tokens between sub models. We have found that the number of iterations per stage increases with increasing the number of traversing tokens and the accuracy is very poor with large number of traversing tokens. However, the number of iterations is nearly constant using BDEB and does not depend on the number of traversing tokens. Finally, the complete decomposition technique needs an initial guess of the aggregated transitions rates. Different choices of initials guesses affect the accuracy. The BDEB is supported by an algorithm to calculate the initial rates of aggregated transitions. In order to solve any large GSPN model, the BDEB technique incorporates two phases. The first phase, called the behavior phase, involves decomposing the original model into L subnets. Further, every subnet is combined into an aggregated subnet called BDEB, which is behaviorally and delay equivalent to the original subnet. Finally, the L auxiliary nets are constructed from one of the subnets and (L-1) of the BDEB’s of other subnets. The second phase, termed as the delay equivalence and parameter tuning phase, solves iteratively the auxiliary nets in order to tune the subnets rates. The solution procedure continues until meeting the stopping criteria. The initial rates for all transitions in the BDEB’s are computed using delay equivalent criteria. The following sections are organized in the following manner. Section 2 gives some preliminary definitions. The general concepts of the BDEB decomposition technique are illustrated in Section 3. Section 4 describes the behavior equivalence phase of the BDEB. The different aspects of the delay equivalence and parameter tuning phase are shown in Section 5. Section 6 presents the results of solving an application example using the new proposed technique. In Section 7 a comparison is held between the BDEB and complete decomposition technique. Conclusions of the paper are given in Section 8. 2. Preliminary definitions Definition 1 (Subnets and their properties). Subnet: A subnet is a partition of a net captured by a border. The components of a subnet SN are denoted as SN = {PSN, SN TSN, ASN, M SN 0 }, where PSN, TSN, ASN and M 0 are the set of places, transitions, arcs, included in the border and initial state of SN, respectively. As illustrated in Fig. 1a, the input arcs to a SN are from a set of input transitions, denoted by IT 62TSN, to a set of input places, denoted by IP 2 PSN. The output arcs are from a set of output transitions, denoted by OT 2 TSN, to a set of output places,
O.S. Youness et al. / Computer Communications 31 (2008) 2210–2230
2213
Table 1 Behavior table of SN with three IP and two OP IS before firing any of OT
OS after firing any of OT
IS after firing any of OT
Pin1
Pin2
Pin3
Po1
Po2
Pin1
Pin2
Pin3
1 1
0 0
0 1
0 1
2 2
0 0
1 1 0 0 1 0
0 0 1 1 0 1
0 0 1 0 0 1
0 0 0 0 1 1
0 1 0 0 0 0
1
0
Fig. 1. (a) Regular subnet (b) connection of implicit places to a subnet.
denoted by OP 62 PSN. It is clear that OP of SNi is the IP of a neighboring SN. Input state (IS): let M(Pink) = nk is the number of tokens in the input place Pink, where IP = {Pink; 1 6 k 6 m}. Assuming that IS = {ISj; 1 6 j 6 s} is the set of input states, where m and s are integer numbers, hence (n1,n2, . . ., nm) is the input state (ISj) to SN. Output state (OS): let M(Poh) = kh is the number of tokens in the output place Poh, where OP = {Poh; 1 6 h 6 l}. Assuming that OS = {OSj; 1 6 j 6 r} is the set of output states, where l and r are integer numbers, hence (k1,k2, . . ., kl) is the output state (OSj) from SN. Maximum input and output state: for the set IS, a set Q = {q j 6 s} is defined where qj is related to ISj by Pj; 1 6 j qj ¼ m n , i¼1 i where s and m are the number of input states and the number of input places, respectively, and nji is defined as nji ¼ MðPini Þ forISj. If qmax ¼ maxðk j Þ, hence the j:1!s maximum input state (ISmax) is defined as the input state IS having theqmax value. Similarly the maximum output state (OSmax) can be defined. Empty and effectively empty subnet: a subnet is empty if there are no tokens inside it. A subnet is effectively empty if the subnet contains tokens and no TSN is enabled.
second and third columns show the set of output sates OS and the converted value of an ISi after firing a transition T 2 OT. For the IS of (1, 0, 0), record number one gives the resulting OS (1, 0) as presented in column two. The converted value of IS (0, 0, 0) is given in the third column. Record number two shows two alternative of OS {(1, 0) or (0, 1)} for an IS (1, 0, 1). It can be noticed that the IS (1, 0, 1) has changed to (0, 0, 1) for an output (1, 0), and to (1, 0, 0) for an output (0, 1). The generation of a sequence of OS’s for a single IS is shown in record number three, where OS’s (0, 1) and (1, 0) result for an IS (0, 2, 0).
Definition 2 (Dependent and independent transitions). For a set of output transitions of a subnet SN, such as shown in Fig. 1a, if the summations of the number of the output tokens from this set of output transitions at every output state are equal, these transitions are called dependent output transitions (DOT), else called independent output transitions (IOT).
Definition 4 (Implicit places). Implicit places (MP): are kind of places with the property whose addition to or removal from a net system does not change its behavior, i.e., MP is redundant. This concept has been treated in [25] and widely used in different phases of the design process as a mechanism to reach different goals. Let SN be any subnet and SNp be the subnet resulting from adding a place P to SN. If M SN 0 is the initial marking of SN, hence M SNp denotes the initial marking of SNp. Assume also that 0 (SN, M SN ) be a subnet with initial marking M SN 0 0 and P to be a place to be added to SN. Then P is an implicit place with respect to (SN, M SN 0 ) if and only if the Language of Firing SNp Sequence (LFS) of (SN ; M SN 0 ) and ðSNp; M 0 Þ coincides SNp SN [25]. That is, L FS ðSN ; M 0 Þ ¼ LFSðSNp; M 0 Þ. In our work, an implicit place Pim 2 MP in a subnet SN has an input arc from an input transition Tini 2 IT and one or more output arcs to a set of transitions T OT. The input arc weights to Pim are related to the input states ofSN according to a certain algorithm that will be clarified in Section 5.1, while the output arc weights from Pim are unity.
Definition 3 (Behavior table). To capture the behavior of a subnet SN, we utilize a table called behavior table. Each entry of the table has three basic fields; initial value of an input state ISi injected to SN, the set of output states OS resulting from firing output transitions OT and the final value of ISi after firing any of the output transitions. As an illustration, Table 1 shows an example of the behavior table of a SN with three IP and two OP. The first column gives the different values of IS injected to SN. The
Theorem 1. Let SN = (P, T, A, M0) be any subnet and SNim be a subnet resulted from adding Pim 2 MP to SN with Pim = {Ti} and P im ¼ fT j g where Ti 2 IT and Tj 2 OT (as shown in Fig. 1b). Let the arc weight between Tj and Pk2 OP is m. In order to coincide the language of firing sequence of SNim with SN, the minimum initial number of tokens Kmin in the place Pim must be equal to n/m, where n is the total number of tokens accumulated in Pk by exhaustively firing SNim to be effectively empty and n is a multiple integer of m.
2214
O.S. Youness et al. / Computer Communications 31 (2008) 2210–2230
Proof. Let Mmax is the marking having M(Pk) = n. Suppose that Mmax is reached from M0 where M0 is the initial state of SN (M0 [riMmax). Let NF(Tj) and NFim(Tj) are the number of firings of Tj in SN and SNim, respectively, to become effectively empty. For SN it is evident that, if n is the total number of tokens accumulated in Pk (Pk is a sink) then NF(Tj) equals n/m. Since definition of implicit places employs that the language of firing of SN and SNim coincides, hence NF(Tj) and NFim(Tj) matches and are equal to n/m. Since Pim is input to Ti with unity multiplicity arc, hence the initial number of tokens in Pim (Kmin) equals NFim(Tj), therefore Kmin equals n/m. It is evident that putting Kmin tokens in Pim will preserve the language of SN to SNim. h
3. General concepts of BDEB decomposition technique Any decomposition technique uses the concepts of divide and conquers. It first partitions the large original GSPN model into several subnets. Then, a set of auxiliary nets are constructed each containing one or more subnets from the original GSPN model and an aggregated form of other subnets. Third, these auxiliary nets are solved iteratively based on statistical relationships between the subnets and their aggregates. All decomposition techniques use the same concepts stated above but they differ in the methodology of partitioning, aggregation and calculating the parameters of an aggregate. In [13], they used the fast and slow transitions for decomposition and aggregation. In [14] and [26], they decomposed the GSPN at the weak points and aggregated subnets according to some defined rules. In [15] and [16], the GSPN was partitioned to only two parts by a cut defined through some places. On the other hand, subnets are aggregated in a set of places and a set of rate dependant transitions. In [26] and [27], they used the synchronized transitions to decompose the original model, Markov chains of resulting subnets were composed together to get the solution of the original model. In [23,21], they used the single input and output marked graph or state machine subnets as a unit to decompose the original model. Subnets are aggregated into single place single transitions or multiplaces multitransitions. For the technique proposed in this paper, we adopt the concept of using a decomposition unit which can be used to partition the original model into subnets. The decomposition unit does not have a special structure or use a special type of GSPN, so it can be used with any type of GSPN models. Also we used an efficient methodology to aggregate subnets, as will be illustrated in Sections 4.1 and 4.2. The algorithm of our proposed decomposition strategy, which we have called Behavior and Delay Equivalent Black (BDEB) technique, is characterized by two main phases. The first phase is the behavior analysis of subnets resulting from partitioning the original model. In this phase the behavior of each subnet is captured by storing the activities
on the subnet interfaces. we mean by the activities the input and output tokens crossing the subnet interfaces. Then, we enforce the subnets to act behaviorally as the original subnets. This is accomplished by maintaining the activities on the interfaces similar to the previously stored ones. The second phase is the delay equivalence and parameter tuning of aggregated subnets. In this phase, we make the aggregated subnets delay equivalent to the original subnet by tuning the rates of aggregated subnets transitions. The BDEB decomposition can be summarized in the following steps: Phase I: behavior analysis of subnets: Step 1: Determine the locations of cutting the original model to subnets. Step 2: Fire the original model on the fly, and monitor the input and output token flow of each subnet through its interfaces. Hence build the aggregated reachability graph (ARG) of each subnet. Step 3: Decompose the original model into subnets. Step 4: Find the initial state of each subnet. Step 5: Construct auxiliary nets where each consists of one original subnet and aggregated form of other subnets.Phase II: delay equivalence and parameter tuning: Step 6: For every input state find the corresponding number of tokens in implicit places. Step 7: Connect the MP to auxiliary nets between IT and OT of the original subnet. Step 8: Calculate the initial transitions rates of aggregated subnets. Step 9: Start the iteration process. In each iteration, calculate the delays and probabilities in auxiliary nets needed by other auxiliary nets. A detailed description of each step in the algorithm is given in the subsequent sections. Steps 1 and 2 will be illustrated in Sections 4.1 and 4.2, respectively. Steps 3, 4 and 5 will be described in Section 4.3. Steps 6 and 7 will be presented in Section 5.1. Steps 8 and 9 will be illustrated in Sections 5.3 and 5.4, respectively. The GSPN model shown in Fig. 2 will be used to illustrate the steps of the algorithm. This model is a GSPN model of software architecture of PADMAVATI (Parallel associative development machine as a vehicle for artificial intelligence) system for intelligent applications [28]. PADMAVATI is an MIMD modular multiprocessor system. The description of the model and the meaning of places and transitions can be found in [28]. 4. Behavior analysis of subnets 4.1. Decomposition and aggregation unit In Section 3, we have illustrated that any decomposition technique must have a methodology for decomposing the large GSPN models. For the proposed technique, we suggest a new decomposition and aggregation strategy. We
O.S. Youness et al. / Computer Communications 31 (2008) 2210–2230
Fig. 2. The GSPN model of software architecture of PADMAVATI.
use a decomposition unit for partitioning the GSPN models into subnets. The main drawback of preceding decomposition techniques is that the Decomposition Unit (DU) must have well known behavior, so it can be only used with a special type or structure of GSPN’s models (such as state machine or marked graph). In the proposed technique we suggest a new methodology to know the behavior of the decomposition unit regardless of the structure of the DU. Consequently, DU may have a complex or simple structure; therefore it can be used to decompose any type or structure of large GSPN models. Definition 5 (Decomposition Unit (DU)). Decomposition unit (Fig. 3a) is a GSPN subnet whose input vertices are any number of places and whose output vertices are any number of timed transitions. From the definition of the DU, it is clear that the DU has not a definite structure; it may be complex or simple. Therefore, it can be used to decompose many large GSPN models with complex structure. Now the question is how we can aggregate this structure-less DU. In the coming section we introduce a new methodology of aggregation that can be used with this complex DU.
Fig. 3. (a) Decomposition unit (b) BDEB of DU.
2215
Definition 6 (Aggregation unit). For any subnet SNk (Fig. 1a) that has a set of input places IPk = {Pin1, . . .,Pinn}, a set of output transitions OTk and a set of output places OPk = {Po1,. . ., Pom}, it can be aggregated to an aggregated subnet called behavior and delay block (BDEB).The BDEB consists of one timed transition, called intelligent transition (Tintk), and a set of input and output places similar to the set of input and output places of the subnetSNk which are connected to intelligent transition as shown in Fig. 3b. Intelligent transition is a new type of timed transitions. The input and output arcs weights of the intelligent transition are function in the number of tokens in IPk. The enabling and firing rules of Tint are different from timed transitions; it will be illustrated in the following sections. Our philosophy of aggregation depends on looking to any subnet as an input/output system, the input is tokens (input states) and the output is also tokens (output states). We do not consider the internal structure of a subnet in our aggregation units because we do not care to its internal activities, but we consider only the activities on its interfaces. We monitor the interfaces of a subnet and store only the input and output states which represent the activities in the interfaces. Then, we replace the original subnet by a very small subnet that preserves the same activities of the original subnet in the interfaces. The main idea in the methodology of aggregation is converting the decomposed subnet (SN) to a behavior and delay equivalent block (BDEB). We mean by ‘‘block equivalence” that for any input state ISj, the sequence of output states generated from the BDEB is the same as that generated from the effectively empty subnet SN for the same input state ISj. We mean by delay equivalence that for an input state ISj, the delay after which an output state OSj is generated from an original subnet is equal to the delay of the BDEB for the same input state. The function of BDEB is to simulate the generation of the output states corresponding to an input state after a computed delay time. Fig. 3b shows the aggregation of a subnet SNk to BDEBk. To make BDEBk behavior equivalent to SNk, the enabling and firing rules of intelligent transition (Tintk) in BDEBk is controlled to make the output states from BDEBk to be the same as the output from SNk for the same input. The input states and corresponding output states of a subnet SNk is described in the behavior table of the subnet SNk. Therefore, the enabling and firing rule of Tintk must be deduced from the behavior table of the subnet SNk. The weights of input and output arcs of the intelligent transition Tintk are function in the number of tokens inthe input places of SNk and can be calculated from the behavior table of SNk. In the next section, deduction of the enabling and firing rules of Tintk and calculation of input and output arcs weights of Tintk from the behavior table of SNk will be illustrated. The first step in the solution algorithm of the proposed technique is to determine the cutting locations in the
2216
O.S. Youness et al. / Computer Communications 31 (2008) 2210–2230
original model using the DU. For example, the multiprocessor system model, shown in Fig. 2, can be partitioned using the DU to two subnets SN1 and SN2 where the doted line in Fig. 2 represents the location of cutting. Fig. 4 shows the decomposed subnet SN1 and SN2 of the GSPN model shown in Fig. 2. For SN1, t31 and t51 are the output transitions (OT) and t32 and t52 are the input transitions (IT), P22 and P62 are the output places (OP) and P21 and P61 are the input places (IP). For SN2, t32 and t52 are the OT and t31 and t51 are the IT, P22 and P62 are the IP and P21 and P61 are the OP. Subnets SN1 and SN2 can be aggregated to BDEB1 and BDEB2, respectively, as shown in Fig. 5. 4.2. Behavior table and aggregated reachability graph In Section 4.1, we have showed that any BDEBi has an intelligent transition. The firing of this transition is controlled by the behavior table. The behavior table is deduced from what we have called the aggregated reachability graph (ARG). Definition 7 (Aggregated reachability graph (ARG)). ARGi is a very small subset of the original model RG that consists of a few states that describes the change of input and output states of a subnet SNi. The main function of an aggregated reachability graph (ARG) is to capture the behavior of a subnet. In other words, it helps us to record the input and output states of the subnet SNi interfaces. This is done by generating the whole RG of the model on the fly and storing only the states that result from firing any input or output transition of SNi, other states are considered vanishing. These markings build a small RG which we have called aggregated RG (ARG). It is to be noted that we need to store
Fig. 5. BDEB of subnets SN1 and SN2 shown in Fig. 4.
only few states of the whole RG to build an ARG. Problem of largeness or states explosion comes from storing the whole RG of the PN model. The relation between input and output states for SNi are deduced from ARG of SNi and recorded in the behavior table ofSNi. For example, we need to find the behavior table of the first subnet SN1 (Fig. 4) of the GSPN model shown in Fig. 2. To get the behavior table of SN1, we should first get the ARG ofSN1. We can easily obtain ARG of SN1 by only storing the states resulting from firing interface transitions of SN1; the input transitions (t52, t32) and output transitions (t51, t31), during ‘‘on the fly” generation of the whole RG. Fig. 6 shows the ARG of SN1 at T = 1. The distribution of tokens in any state of ARG in Fig. 6 is for the places (P21,P61, P22, P62), where (P21,P61) are the input places and (P22, P62) are the output places of SN1. Although we show in Fig. 6 the contents of the interface places only, yet we store tokens number in all places of the original model, not only interface places, at any marking of ARG. From ARG shown in Fig. 6, the input states for M0, M1 and M2 are (1, 1), (0, 1) and (1, 0), respectively. M0 has a choice to go to M1 after firing t51 and the input state changes to (0, 1) or M0 goes to M2
Fig. 4. Decomposed subnet SN1 and SN2 of the GSPN model in Fig. 2.
O.S. Youness et al. / Computer Communications 31 (2008) 2210–2230
2217
The weight of arc from any input place Pinj to Tintk ðW IS n ðPinj ; Tintk ÞÞ in BDEBk and the weight of arc from Tintk to any output place Poi of SN k ðW IS n ðTintk ; Poi ÞÞ for the input state ISn can be computed from the behavior table of SNk as follows: IS 0
n W IS n ðPinj ; Tintk Þ ¼ M BTn ðPinj Þ M IS BT ðPinj Þ n W IS n ðTintk ; Poj Þ ¼ M IS BT ðPoi Þ
IS 0
Fig. 6. ARG of SN1.
after firing t31 and the input state changes to (1, 0). These concluded data from ARG for the input state (1, 1) are tabulated in the behavior table shown in Table 2. We can conclude also the output states and changing of inputs for other input states from ARG. Table 2 is the behavior table of SN1, the first column represents the input state for SN1, the second column represents the output transition fired to get an output state from SN1, the third column represents the output states corresponding to the input state in the first column and the last column represents the form of the input state after the firing any output transition. Each of the input states takes a new form after firing of any of output transitions due to drawing of tokens. In order that the BDEBk be behaviorally equivalent to SNk, the RG of BDEBk must be the same as ARG of SNk. To do this, we make the behavior table of BDEBk the same as the behavior table of SNk, and this is done by controlling the enabling and firing rules of intelligent transition T intk in BDEBk which are deduced from the behavior table of SNk as follows: Enabling rule: transition Tintk is enabled if and only if the number of tokens in the input places of Tintk is equal to the number of tokens in these places at any input state recorded in the behavior table of the subnet SNk. n Firing rule: let IS 00n be the input state and M IS BT ðOP Þ be the number of tokens in the set of the output places of Tintk after firing any output transition, as recorded in the behavior table for the input state ISn, then
n where M BTn ðPinj Þ and M IS BT ðPinj Þ are the number of tokens in the input place Pinj as recorded in the behavior table for the input state after and before firing any output transition, respectively. We use our open source code tool IdentSPN [29,30] to generate any ARG of any subnet and to define the enabling and firing functions for T intk according to the behavior table of SNk. These functions are completely different from the enabling and firing functions of any timed transition in GSPN. For any other closed code tool the firing of the Tint can be controlled by replacing Tint by one or more transitions and making the input and output arcs for Tint function of the input state.
4.3. Auxiliary nets construction The third step in the solution algorithm of the proposed technique is decomposing the original model to L subnets as shown in Fig. 7. It follows that we can build L auxiliary nets, each containing one of unaggregated subnets SNi and the other L – 1 aggregated subnets (BDEB). The interfaces connection between BDEB’s and SNi is the same as the connection between the same interfaces places and transitions on the original model as shown in Fig. 8. To construct the auxiliary net AXNk, aggregate all subnets SNi (i = 1 to N,i 6¼ k) to the corresponding BDEBi according to the Definition 6. Then, connect all places of a BDEBi (i = 1 to L,i 6¼ k) to subnet SNk in the same way as the original subnet.
n IS 0n ¼ IS 00n and OS 0n ¼ OS n þ M IS BT ðOP Þ
where IS 0n is the input state, which represents the number of tokens in the input places of Tintk, after firing Tintk. OSn and OS 0n are the output states before and after firing Tintk, respectively. OS 0n represents the number of tokens in the output places of Tintk after its firing.
Fig. 7. Original model.
Table 2 Behavior table of SN1 IS before firing OT P21
P61
1
1
0 1
1 0
Fired OT
t51 t31 t31 t51
OS after firing OT
IS after firing OT
P22
P62
P21
P61
0 1 1 0
1 0 0 1
0 1 0 0
1 0 0 0
Fig. 8. Auxiliary net of SN1.
2218
O.S. Youness et al. / Computer Communications 31 (2008) 2210–2230
After constructing the auxiliary nets, we need to find the initial marking for each one of them. To find the initial marking of an auxiliary nets AXNi do the following procedure: Procedure 1 (Initial state of AXN) Step 1: Partition the original model into subnets SNi, where i = 1 to L. Step 2: For each subnet SNi, connect the corresponding set of output places OPi to subnet SNi in the same way as the original model. Step 3: For every subnet SNi, exhaustively fire all until no more is enabled. Exhaustive firing results in a set of output states OS SN i . Step 4: From the set of output states OS SN i calculate the maximum output states according to Definition 1, then choose any of them to be the maximum output states ðOS max SN i Þ from the subnet SNi. Step 5: The input and output places of SNi are the output and input places, respectively, in other subnets. Consequently, the number of tokens in the places of the auxiliary net AXNi, which represents the inii tial state of AXN i ðM AXN Þ, is a combination of the 0 i initial state of the subnet SN i ðM SN 0 Þ and the maxii mum output states of other subnets. M AXN can be 0 calculated as follows: (1) The number of tokens in any input or output place Pk in SNi is the summation of the numbers of tokens in i this place in the initial state of the subnet SN i ðM SN 0 Þ max and the maximum output state OS SN j , where Pk is one of the output or input places of SNj (j 6¼ i). (2) The number of tokens in any of other places than input and output places in SNi is equal to the number i of tokens in these places in M SN 0 .
The distribution of tokens in places of AXN1 as shown in Fig. 9 is the initial state of AXN1 resulting from using procedure 1. The behavior table of SN2 is used to control the firing and enabling rules of Tint2. In the same way we can construct the auxiliary net AXN2 as shown in Fig. 9. 5. Delay equivalence and parameter tuning In Section 4 we showed how we can make BDEBi behavior equivalent to the corresponding SNi. This section discuses how we can make BDEBi delay equivalent for SNi. We mean by delay equivalent that BDEBi gives an output state OSk after a delay time equal to mean delay time for original subnet to give the same output OSk for the same input. First we discuss the usage of implicit places in our proposed decomposition technique. Next we show the formulas used to calculate the delays for any input state for any subnet SN or ASN, and we derive the formula used to calculate the rate of Tint. Finally we introduce an algorithm for the tuning process of all parameters. 5.1. The role of implicit places in delay equivalence To make BDEBi delay equivalent to SNi, the delay time consumed by an input state ISk (D(ISk)) in order to generate an OSk for SNi (see Fig. 12) must be approximately equal to that of BDEBi when the same ISj is injected to it. This means that in an ARG of SNi there is a delay time between any input and any output state. For example, for the illustrative example shown in Fig. 2, the ARG of SN1 with delays between input states and output states is shown in Fig. 10. For the input state (1, 1) to BDEB1 at marking M0, Tint1 may fire to give an output state (0, 1) in M1 after
Fig. 9. AXN’s of SN1 and SN2.
O.S. Youness et al. / Computer Communications 31 (2008) 2210–2230
2219
Fig. 11. Simplified AXN for SN1 with MP. Fig. 10. ARG of SN1 with delays.
delay time D1(1, 1) or give an output state (1, 0) in M2 after delay time D2(1, 1). To calculate the delay between any input and output state we need a method to detect the input and output state for any subnet; we use implicit places (MP) for this purpose. MP are used to determine the delays between any input and output state by calculating for every input state ISk to SNj a corresponding input state to MP ðIS MP k Þ. Presence of IS MP in MP means that IS has been entered to k k SN MP (subnet SN with connecting implicit places), as j j shown in Fig. 12. The generation of an OSk is detected by the change of the state of MP from IS MP to a different k MP state IS MP . As shown in Fig. 12, IS and IS enter SNj k h k and MP at the same instant and OSk leaves the subnet SNj and MP at the same instant. Therefore, calculating the delay time between IS MP and IS MP gives the delay k h between ISk and OSk. This methodology allows us to calculate the delays between ISk and OSk without needing to track the paths of tokens inside the subnet SNj as was done in [21,23]. First, it will be shown how the number of implicit places can be determined and how they are connected. Next, how IS mp can be calculated for every ISk. k Finally, how can we calculate the delay between ISk and OSk. Determination of the number of implicit places and method of connection: MP are placed between the intelligent transitions (Tint) and output transitions of the subnet SNk in the auxiliary net AXNk. For example, Fig. 11 is a simplified auxiliary net of SN1, implicit places Pim1 and Pim2 are connected between Tint2 and output transitions t31 and t51 of SN1. Practically we have two choices for connecting MP with output transitions. The choice of any of them depends on the type of the relation between OT. We have noticed during our work that there is a noticeable relation between the tokens generated from the OT. We have called transitions obeying this relation dependent output transitions (DOT) as defined by Definition 2. According to Definition 2, the following procedure is used to detect their presence.
Procedure 2 (Independent and dependent output transitions). For any subnet SNi with m output transitions, let M(Poi) and Mmax (Poi) be the number of tokens and maximum number of tokens in the output place Poi. Do the following: Step 1: Remove any tokens in any place p 2 P SN i . Step 2: For every output transition Toi connect an output place Poi with one arc, i.e., ={Toi}, where i = 1 tom. Step 3: Load the subnet with the initial state calculated by Procedure 1. Step 4: By exhaustively firing all t until no more is enabled and the RG gets to N absorbing state in output places. Step 5: If N = 1 then all output transitions are independent output transitions (IOT). If N > 1, we have two cases: (1) If M(Poi) = constant for all absorbing states thenToi is IOT. (2) If P max MðPo Þ ¼ M ðPo Þ, where k is a set of integer k k k numbers, then Tok is a set of DOT’s. For every independent output transition Toj of a subnet SNk there is one implicit placePim where Pim = {Tint of any BDEB} and = {Toj}. For any set of dependent output transitions there is one implicit place Pim where ={Tint of any BDEB} and ={the set of DOT’s}. It is interesting to notice that the arc weight of the connection between MP and OT is equal to one, while the arc weight from the Tint to MP is related to the input states to the subnet. Let for a subnet SNi we connect an implicit place Pimk between an intelligent transition Tintj and an IOT or set of DOT’s. Let M IS m ðPimk Þ and M IS n ðPimk Þ are the minimum number of tokens that must be placed in the implicit place Pimk for the input states ISm and ISn, respectively, to preserve the behavior ofSNi. M IS m ðPimk Þ and M IS n ðPimk Þ can be calculated using Procedure 3. If the firing of Tintj injects any tokens to SNi and the input state changes from ISn to ISm, then the arc weight between Tintj and Pimk can computed from relation W ðTintj ; Pimk Þ ¼ M IS m ðPimk Þ M IS n ðPimk Þ.
2220
O.S. Youness et al. / Computer Communications 31 (2008) 2210–2230
Calculation of IS MP for every ISk: k
Table 3 Input and output tokens for MP of SN1
For any input state to subnet SN MP (subnet with coni necting MP with it), there are a corresponding number of tokens must be placed for each MP ðIS MP k Þto preserve the behavior of SN MP to be the same as the behavior of SNi. i The following procedure is used to find the number of tokens for each MP that will be connected to the output transitions of SNi for any input state. Procedure 3 (Calculation of IS MP for every ISk:). For any k subnet with m output transitions do the following: Step 1: Remove any tokens in any place p 2 P SN i . Step 2: For every output transition Toi connect an output place Poi with one arc, i.e., ={Toi} where i = 1 tom. Step 3: For any state Mh in ARG of SNi with the input state ISj, distribute the tokens in places P SN i according to the number of tokens in each place in the state Mh. Step 4: By exhaustively firing all t until no more is enabled, We reach one or more absorbing output state in output places. Step 5: The number of tokens for implicit place Pimi that will be connected to Toi for ISj (for state Mh) is maximum number of tokens in Poi as proved in theorem 1. Step 6: Repeat Steps 3–5 for every state in ARG of SNi. The number of tokens in MP calculated using Procedure 3 is used not only to preserve the behavior of subnet but also to calculate the delay of any input state. This will be illustrated in the next section. For example, Fig. 11 shows the first auxiliary nets of GSPN model shown in Fig. 2. Transitions t31 and t51 are independent transitions, so we connect one implicit place for each transition (Pim1 and Pim2). Table 3 shows the number of tokens for these MP resulting from using Procedure 3. Table 3 is used to determine the weight of arcs between the Tint1 and Pim1 and Pim2 for any input state. For example, for the input state (1, 0), the number of tokens in implicit places (Pim1, Pim2) changes from (0, 0)
IS to SN1
Number of tokens in IP’s
P21
P61
Pim1
Pim2
1
1
0 1
1 0
1 1 0 1
1 1 1 0
Fired output trans.
t51 t31 t31 t51
Tokens in MP after firing OT Pim1
Pim2
0 1 0 0
1 0 0 0
Delays
D1(1, 1) D2(1, 1) D1(0, 1) D1(1, 0)
to (1, 0), then the arc weight between Tint2 and Pim1 and Pim2(W(Tint2,Pim1) and W(Tint2,Pim2)) can be computed as follows: ½W ðTint2 ; Pim1 ÞW ðTint2 ; Pim2 Þ ¼ ½1 0 ½0 0 ¼ ½1 0 )W ðTint2 ; Pim1 Þ ¼ 1 and W ðTint2 ; Pim2 Þ ¼ 0 5.2. Calculations of delays of input states to a subnet To illustrate the method of delays calculation of any input state to any subnet or BDEB, suppose that we have a generic subnet SNx with i input places and j output transitions. After that, j implicit places are connected to SNx as shown in Fig. 13. Then, SNx is aggregated to BDEBx shown in Fig. 13. The MP are used to detect the input states and output states from a subnet as illustrated in the previous section. Let for an input state ISk of (n1, . . ., ni) tokens in the input places (Pin1, . . ., Pini) of subnet SNx, there is a corresponding input state IS MP with (m1, . . ., mj) tokens in the set of k implicit places (Pim1, . . . , Pimj) connected to SNx to preserve the behavior of SN MP (SNx with connecting MP). x The output state from SNx and MP corresponding to ISk and IS MP k , respectively, are the same. let this output (OSk) results from firingToh. The time from the instant of entering ISk to SNx to the instant of leaving of OSk from SNx is the delay time of ISk in SN x ðDSN x ðIS k ÞÞ. The time from the instant of entering IS MP to MP to the instant of leaving k OSk from MP is the delay time of IS MP in MP (DMP(ISk)). k Because the ISk and IS MP enter SN and MP at the same x k instant, and the output state OSk, corresponding to ISk
Fig. 12. Implicit places function.
O.S. Youness et al. / Computer Communications 31 (2008) 2210–2230
2221
used to calculate the delays of any input state to any subnet. The subnet SNx is aggregated to BDEBx as shown in Fig. 13. To make BDEBx delay equivalence to SNx, the delay time in BDEBx for any input state IS k ðDBDEB2 ðIS k ÞÞ must be equal to the delay time in SNx for the same input state (DSN x ðIS k Þ). DBDEBx ðIS k Þ is computed using Little’s law: DBDEBx ðIS k Þ ¼ M Pin ðIS k Þ=kTint ðIS k Þ ¼ M Pin ðn1 ; . . . ; ni Þ=kTint ðn1 ; . . . ; ni Þ
Fig. 13. A generic subnet SNx and its BDEBx.
and IS MP k , leave SNx and MP at the same instant so DSN x ðIS k Þ ¼ DMP ðIS k Þ. DMP(ISk) is computed using Little’s law from relation: DSN x ðIS k Þ ¼ DMP ðIS k Þ ¼ M Pim ðIS k Þ=kToh ðIS k Þ
ð1Þ
where MPim(ISk) and kto ðIS k Þ are mean number of tokens in MP and the throughput of output transition Toh of SNx, respectively, when the input is ISk. The input state ISk to SNx has many corresponding output states OSh, where h = 1 toj. The output state depends on which output transitions (To1, . . ., Toj) will fire first. So for every output state corresponding to ISk there are many different delays depending on the output transition (Toh) that will fire. Therefore Eq. (1) is modified to DhSN x ðIS k Þ ¼ M Pimh ðIS k Þ=kToh ðIS k Þ
M Pimh ðIS k Þ ¼ M Pimh ðm1 ; . . . ; mh ; . . . ; mj Þ ¼
L¼m Xh
DsBDEBx ðIS k Þ ¼ M Pins ðn1 ; . . . ; ns ; . . . ; ni Þ=ksTintx ðn1 ; . . . ; ns ; . . . ; ni Þ ð6Þ where DsBDEBx ðIS k Þ is delay of ISk in BDEBx when the firing of Tintx changes the number of tokens in Pins. M Pos ðn1 ; . . . ; ns ; . . . ; ni Þ ¼
L¼n Xs
probð#Pin1 ¼ n1 ; . . . ;
L¼1
#Pins ¼ L; . . . #Pini ¼ ni Þ L ksTintx ðn1 ; . . . ; ns ; . . . ; ni Þ ¼
L¼ns X
ð7Þ
½lsTintx ðn1 ; . . . ; ns ¼ L; . . . ; ni Þ
L¼1
probð#Pin1 ¼ n1 ; . . . ; #Pins 6 ns ; . . . ; #Pini ¼ ni Þ
ð8Þ
where lsTintx ðn1 ; . . . ; ns ; . . . ; ni Þ is the rate of Tintx when the number of tokens in (Pin1, . . .,Pins, . . ., Pini) are (n1, . . .,ns, . . ., ni) and changing of tokens is in the place Pos.
probð#Pim1 ¼ m1 ; . . . ; #Pimh ¼ L; . . .
L¼1
#Pimj ¼ mj Þ L
where MPin(n1, . . .,ni) is the mean number of tokens in places (Pin1, . . .,Pini) of BDEBx for the input state ISk with number of tokens (n1, . . .,ni) in (Pin1, . . .,Pini).kTint(n1, . . .,ni) is the throughput of Tint for ISk. For every output state from BDEBx there are corresponding different changes in the number of tokens in the places (Po1, . . .,Poi) of BDEBx. The output states of BDEBx and changing of number of tokens in input places of BDEBx can be found in the behavior table of SNx. The delay of ISk in BDEB2 depends on the changing of tokens in the places of BDEBx which depends on the output state, so Eq. (5) is modified to
ð2Þ
where DhSN x ðIS k Þ is the delay of ISk until the output transition Toh fire. M Pimh ðIS k Þ and kToh ðIS k Þ depend on the number of tokens in MP at the input state ISk, so they can be computed using the following equations:
ð5Þ
ð3Þ
5.3. Rates calculation of Tint
kToh ðIS k Þ ¼ kToh ðm1 ; . . . ; mh ; . . . ; mj Þ ¼ lToh probðToh is enabledj#Pim1 ¼ m1 ; . . . ; #Pimh 6 mh ; . . . ; #Pimj ¼ mj Þ
ð4Þ
where prob(#Pim1 = m1, . . .,#Pimh = L, . . ..#Pimj = mj) is the probability that the number of tokens in (Pim1, . . .,Pimj) are (m1, . . .,mj), prob(Tohis enabledj#Pim1 = m1, . . .,#Pimh 6 mh, . . .,#Pimj = mj) is the probability that transition Toh is enabled with condition that the number of tokens in (Pim1, . . .,Pimh , . . .,Pimj) are (m1, . . ., 6 mh, . . .,mj) and lToh is the rate of Toh. Eqs. (2)–(4) are
Let for the input state ISk to SNx there is an output state OS hk after delay DhSN x ðIS k Þ. For the same input state ISk to BDEBx it gives the same output state of SNx after delay DsBDEBx ðIS k Þ. BDEBx is delay equivalent to SNx, so DhSN x ðIS k Þ ¼ DsBDEBx ðIS k Þ. From Eq. (6), DhSN x ðIS k Þ ¼ M Pins ðn1 ; . . . ; ns ; . . . ; ni Þ=ksTintx ðn1 ; . . . ; ns ; . . . ; ni Þ ð9Þ From Eqs. (7)–(9) it can be deduced that
2222
O.S. Youness et al. / Computer Communications 31 (2008) 2210–2230
lsTintx ðn1 ; ...; ns ;... ;ni Þ 1 ¼ probð#Po1 ¼ n1 ;.. .;#Pos ¼ ns ;. ..;#Poi ¼ ni Þ " s 1 X M Pos ðn1 ;... ;ns ;.. .;ni Þ L¼n lsTintx ðn1 ; ...; ns ¼ L;. ..;ni Þ DhSN x ðIS k Þ L¼1 # probð#Po1 ¼ n1 ;... ;#Pos ¼ L;. ..;#Poi ¼ ni Þ
ð10Þ
Eq. (10) is used for calculating the rate of intelligent transitions of any BDEB of any subnet for any input state. After decomposing the original model into L subnets, L auxiliary nets are constructed and MP are connected to them (step number 7 in the main solution algorithm). These auxiliary nets are solved iteratively for tuning the rates of Tint. In the first iteration the initial rates for intelligent transitions are required. We do not guess these rates, like other decomposition techniques in [15,16,21,22], because the accuracy and convergence are affected by the guessed rates. The following procedure is used to find the suitable initial rates for Tint. Procedure 4 (Initial rates of Tint). For any Tintj 2 BDEBj perform the following steps: Step 1: For AXNi, remove all tokens from all places and also remove all intelligent transitions (Tintj, i 6¼ j). i Step 2: Load the auxiliary net with the initial state M AXN 0 calculated by Procedure 1. Step 3: Calculate the initial number of tokens of MP correi sponding to M AXN using Procedure 3. After that, 0 load MP with its initial number of tokens. Step 4: Make transient analysis for AXNi by solving it at a long time compared to firing time of any transition T 2 T SN i . Step 5: For the subnet SNi, calculate the delays of the input states, probabilities and mean number of tokens in output places of SNi which are required to calculate the rate of Tinti according to Eq. (10). Step 6: Use results from Step 5 to calculate all initial rates of Tintj, where j 6¼ i, using Eq. (10). 5.4. Parameter tuning process The last step in the solution algorithm of the proposed technique, after constructing the auxiliary nets and computing the initial rates of intelligent transitions, auxiliary nets are arranged from 1 to L. After that, they are solved iteratively until delay equivalence is reached by adjusting rate parameters of all intelligent transitions. Adjusting rate parameters or parameters tuning process is described in Procedure 5. Procedure 5 (Parameter tuning process) Step 1: Order all auxiliary nets AXNi from i = 1 to L. Step 2: Calculate initial rates for Tinti 2 BDEBi, i = 1 . . . L, as illustrated in Section 5.2.
Step 3: For each of AXN’s, "Tinti in BDEBi: set l0Tinti ðn1 ; n2 ; . . .Þ to the initial rate of Tinti in BDEBi for the input state (n1,n2, . . .). Step 4: SolveAXN’s for probabilities, mean number of tokens and delays as needed by Eq. (10) for every input state to SNi. Step 5: Calculate all new rates of lTinti ðn1 ; n2 ; . . .Þof Tintj inBDEBj using Eq. (10). Step 6: Repeat Steps 4 and 5 until the accuracy of all lTinti ðn1 ; n2 ; . . .Þ meets the stopping criterion. For better convergence and reducing the number of iteration we use successive substitution for Tint rates for the iteration in Procedure 5, in analogy to Gauss-Siedl’s method for solving a system of linear equations. A variety of stopping criteria may be used; the relative percentage change for any tuned transition rate between to adjacent iterations falling into some prescribed threshold is used to stop iterations. For example, for GSPN model shown in Fig. 2, after decomposing the original model into two subnets the auxiliary nets are constructed. Then, the initial rates of intelligent transition are computed using Procedure 4 and after that we start the iteration process by solving the auxiliary nets according to Procedure 5. In every iteration, the delays and rates of intelligent transitions are computed for every input state. For example, the delays of subnet SN1, shown in Fig. 11, for the input state (1, 1) shown in Table 3 are D1SN 1 ð1; 1Þ ¼ M Pim1 ð1; 1Þ=kt51 ð1; 1Þ and D2SN 1 ð1; 1Þ ¼ M Pim2 ð1; 1Þ=kt31 ð1; 1Þ where M Pim1 ð1; 1Þ ¼ probð#Pim1 ¼ 1; #Pim2 ¼ 1Þ ¼ M Pim2 ð1; 1Þ; kt51 ð1; 1Þ ¼ lt51 probð#P 51 > 1; #Pim1 6 1; #Pim2 ¼ 1Þ and kt31 ð1; 1Þ ¼ lt31 probð#P 31 > 1; #Pim1 ¼ 1; #Pim2 6 1Þ The rates of Tint1 for the input state (1, 1) are l1Tint1 ð1; 1Þ ¼
1 M P 21 ð1; 1Þ and probð#P 61 ¼ 1; #P 21 ¼ 1Þ D1SN 1 ð1; 1Þ
l2Tint1 ð1; 1Þ ¼
1 M P 61 ð1; 1Þ probð#P 61 ¼ 1; #P 21 ¼ 1Þ D2SN 1 ð1; 1Þ
Table 4 shows the iterations result for solving the illustrative example shown in Fig. 2 at T = 2. Table 4 shows the numerical results of the iteration process. it shows some of the computed parameters such as the throughput of transition t17 (kt22). Also, it shows the relative percentage change of kt22 between two adjacent iterations and the percentage error of kt22. The percentage error of kt22 is computed from relation 100ðkapprox kt22exact Þ=kexact t22 t22 , where exact kt22 is the exact value of the throughput of t22 and kapprox is the approximate value of the throughput of t22. t22 After three iterations the relative percentage change of
O.S. Youness et al. / Computer Communications 31 (2008) 2210–2230 Table 4 Iterations results for GSPN model of software architecture of PADMAVATI at T = 2 Itera. No.
l1Tint ð1; 1Þ
l2Tint ð1; 1Þ
kt22
% Error
0 1 2 3 4 5
44.96365 19.50189 19.84401 19.84451 19.84451 19.84451
0.31144 0.31270 0.30227 0.30227 0.30227 0.30227
0.436976 0.462363 0.463523 0.463698 0.463682 0.463681
5.71 0.23 0.012 0.0507 0.0472 0.0469
Rel. Perc. Cha. in kt22 5.4907 0.2502 0.0377 0.0034 0.0002
kt22 is less than 0.05 % and the error is less than 0.02 %. It is clear that the solution converges rapidly. Table 5 shows the error in throughput of transition t22 for different number of tasks (T). In all values of T, the error is very low. 6. Application example In this section, we solve the GSPN model for session and transport layers of the courier sliding-window communication protocol [31] using the proposed technique. First, we solve the GSPN model with direct Markovian analysis. Next, we apply the new decomposition technique introduced in this paper (BDEB). Finally, we compare the results of solving the original model and the results of solving the model using BDEB decomposition technique. Fig. 14 shows the GSPN model for OSI Application, Session and Transport layers of the courier sliding-window communication protocol. The description of the model and the meaning of places and transitions can be found in [31]. The timed transitions in the model are labeled by parameter {ri} representing execution times per one message. The execution times for 500 messages are s1, s2, . . ., s10, with values 0.57, 4.97, 1.09, 10.37, 4.29, 0.39, 0.68 2.88, 3.45 and 1.25. Then the parameters are ri = 5000/si. The throughput rate from users point of view equal the rate of last packets at the transport-level, klsp, which go through the path t9 to p34. We selected this model to analyze because: (1) this model cannot be solved using all other techniques in [13,14,16,21]. (2) It is a very large GSPN model for a practical system and the size of the model is scalable, so we can increase the size to illustrate the effectiveness of the proposed technique.
Table 5 Error Of transition t22 throughput for different values of tasks (T) T
Exact kt22
Approx. kt22
% Error
1 2 3 4
0.4510110 0.4634635 0.4636366 0.4636381
0.4521072 0.4636811 0.4637167 0.4636992
0.243053 0.04694 0.017271 0.013151
2223
6.1. Applying BDEB decomposition technique To solve the GSPN model of courier sliding-window communication protocol (Fig. 14) using BDEB decomposition technique we do the following steps: Step 1: First, the model shown in Fig. 14 is analyzed to determine how it can be partitioned to subnets using the decomposition unit (Fig. 3a) that was illustrated in Section 4.1. It is clear that the model can be partitioned into two subnets SN1 and SN2, as shown in Fig. 15. Step 2: The original model is fired on the fly and the whole RG of the model is generated, but only the states on the interface places of the subnet SN1, which are generated from firing any input or output transition of SN1, are stored. The states of the interface places of SN1 are used to build the aggregated RG of SN1. To build the ARG of SN2 the same process of building the ARG of SN1 is followed. Figs. 16 and 17 show the ARG of SN1 and SN2, respectively. The ARGs of the subnets are used to get the behavior table of each subnet. The behavior table of SN2 and SN1, shown in Tables 6 and 7, respectively, is deduced from analyzing the states of ARG ofSN2 and SN1. Step 3: After partitioning the original model into subnets, the auxiliary nets (AXN1 and AXN2) are constructed, as shown in Fig. 18, as we illustrated in Section 4.3. Procedure 1 is used to get the initial state of AXN1 and AXN2. The behavior table of SN1 (SN2) is used to determine the enabling and firing rules of Tint2 (Tint1) of BDEB2 (BDEB1), as illustrated in Section 4.2. Step 4: In this step the implicit places of each subnet are considered. First, the number of implicit places is determined, and then the number of tokens in each implicit place is calculated. By applying Procedure 2 to SN1 it can be deduced that the output transitions t17 and t16 are DOT. Hence we used one implicit place withSN1. For SN2 one implicit place is used because it has one output transition. Before implicit places are connected to auxiliary nets, as shown in Fig. 19, the number of tokens in implicit places for every input state must be computed using Procedure 3. Tables 6 and 7, under the column heading ‘‘No. of tokens in MP”, show the number of tokens in Implicit places for SN2 and SN1, respectively, for any input state. Step 5: First, the delay times of each input state must be computed for all subnets. Tables 6 and 7, under the column heading ‘‘Average delay time”, show the delay times that must be computed for each input state to subnet SN1 and SN2, respectively. Eqs. (2)–(4) are used to compute these delay times.
2224
O.S. Youness et al. / Computer Communications 31 (2008) 2210–2230
Fig. 14. GSPN model of courier protocol software.
After that, Procedure 4 is used to compute the initial rates of intelligent transitions which are used to start the iteration process. Step 6: After constructing the auxiliary nets and computing the initial rates of intelligent transitions, auxiliary nets AXN1 and AXN2 are solved iteratively, by using Procedure 5, until the delay equivalence is reached by adjusting the rates parameters of all intelligent transitions.
Procedure 5 is used to solve the auxiliary nets of GSPN model of courier protocol software at N = 2. Table 8 shows the numerical results of the iteration process. To show the effect of iterations on convergence of the solution, Table 8 shows some of the computed parameters, such as the rate of T int2 ðlTint2 ð2; 0ÞÞ for the input state (2, 0) to BDEB2, the rate of T int1 ðlTint2 ð1ÞÞ for the input state (1) to BDEB1 and the throughput of transition t17 (kt17). Also, Table 8 shows the percentage error of kt17 and the relative percent-
O.S. Youness et al. / Computer Communications 31 (2008) 2210–2230
exact exact kexact is the exact value of 100ðkapprox t17 t17 Þ=kt17 , where kt17 the throughput of t17 which is computed by solving the original GSPN model and kapprox is an approximate value of t17 the throughput of t17 which is computed by solving the GSPN model using the proposed decomposition technique. The rates of Tint in the iteration number 0 represent the initial rates of Tint computed using Procedure 4. Convergence of the proposed technique can be observed from the fourth iteration step. The rapid convergence of the solution indicates the effectiveness of Procedure 4 for calculating the initial rates of Tint. It also shows the effectiveness of the algorithm of the proposed technique to solve the model rapidly. Table 9 shows a comparison between exact and approximate solution of GSPN model of Courier protocol for different values of window size N. Under the column heading ‘‘original model”, it shows the number of states, the exact throughput of transition t17 ðkexact t17 Þ and the solution time in seconds resulting from solving the original GSPN model of courier protocol shown in Fig. 14. Under the column heading ‘‘BDEB”, it shows the number of states of auxiliary nets, the approximate throughput of transition t17 ðkexact t17 Þ and the solution time of the auxiliary nets in seconds resulted from solving the GSPN model of Courier protocol using BDEB technique. We used our tool IdentSPN [29,30] to get the exact and approximate solution. The tool is used with an IBM PC having a Pentium 4 processor (3.1 GHZ) and 512 MB RAM. At N = 3, the number of states of the underling CTMC of auxiliary nets is small (3255 for AXN1and 3660 for AXN2), while the number of states of the underling CTMC of the original model is very big (419,400 state). Consequently, the solution time of the auxiliary nets is very small (less than 5 s), whereas the solution time of the original model is very big (more than 7 h). The percentage error of the throughput of transition t17 is very low (less than 0.2%) for different values of N.
p25
Subnet 2
Subnet 1
t17 t16
p24 t19
p26
2225
N
Fig. 15. Subnets after partitioning the original model.
Fig. 16. ARG of SN1.
7. Comparison between BDEB and complete decomposition techniques Since both the BDEB and the complete decomposition techniques adopt the delay equivalent criteria, the two techniques are compared in this section to illustrate the advantages of the proposed technique. Unfortunately the complete decomposition technique cannot
Fig. 17. ARG of SN2.
age change of kt17 between two adjacent iterations. The percentage error of kt17 is computed from relation Table 6 Behavior table of SN2 IS before fining OT P25
P24
0 2 1
2 0 1
0 1
1 0
OT that will fire
OS from SN1
IS after firing OT
No. of tokens in MP’s
P26
P24
P25
Pim1
t19 t19 t19
1 1 1
t19 t19
1 1
1 0 1 0 0 0
0 1 0 1 0 0
2 2 2 2 1 1
Average delay time
D(2, 0) D(0, 2) D(1, 1) D(1, 0) D(0, 1)
2226
O.S. Youness et al. / Computer Communications 31 (2008) 2210–2230
Table 7 Behavior table of SN1 IS before fining OT
OT that will fire
OS from SN2 P24
P25
P26
Pim1
t16 t17 t16 t17
0 1 0 1
1 0 1 0
1 1 0 0
2
P26 2 1
IS after firing OT
No. of tokens in MP’s
Average delay time D1(2) D2(2) D1(1) D2(2)
1
Fig. 18. Simplified auxiliary nets.
Fig. 19. Simplified auxiliary nets with implicit places.
Table 8 Iterations results of GSPN model of Courier protocol with N = 2 Iteration number
lTint1 ð1Þ
lTint2 (1, 0)
lTint2 (2, 0)
kt17
% error
Rel. Perc. Cha. in kt17
0 1 2 3 4 5 6
280.36498 176.31859 159.17863 156.17835 154.57891 154.36921 154.36645
408.52196 308.93175 297.01298 286.96874 286.17854 286.12345 286.12269
190.17863 135.12896 126.98766 120.18795 119.90173 119.84007 119.83649
170.48769 131.18976 123.87620 120.76315 120.17154 120.14378 120.14293
41.634 8.9861 2.9111 0.3249 – 0.1665 – 0.1895 – 0.1903
29.955028 5.9039266 2.577814 0.492304 0.0231056 0.0007074
solve the Courier protocol model due to its constraints on the model, hence we will use the GSPN model of the multiserver random polling system, which has been solved as an application example in [21], for the com-
parison between the two techniques. The description of the model and the meaning of places and transitions can be found in [21]. The model will be solved with the parameter values {la0, ls0, lw00, lw10, lw20, lw30,
O.S. Youness et al. / Computer Communications 31 (2008) 2210–2230
2227
Table 9 Comparison between exact and approximate results for different values of N N
Original Model No. of states
1 2 3
11700 84600 419400
BDEB kexact t17 74.3466 120.372 150.791
Solution time (s)
12 145 25208
% error
No. of states
An iteration time (s)
AXN1
AXN2
AXN1
AXN2
240 1035 3255
210 1020 3660
2 3 4
2 3 5
wr00, wr10, wr20,wr30} = {1, 2, 3, 7, 4, 6, 0.1, 0.2, 0.3, 0.4}. First, the four queues model is analyzed to see the impact of the proposed decomposition strategy. As have been illustrated in the previous sections, the fist step to solve the model using BDEB technique is dividing the original model to L subnets, and then constructing a set of L auxiliary nets. Each auxiliary net consists of one subnet from the original model and L-1 aggregated subnet. It is clear that the model can be partitioned to four subnets (SN0, . . ., SN4) one for each queue. Consequently, there are four auxiliary nets each one of them consists of one queue of the four and three aggregated subnets of other queues. The first auxiliary model with queue i = 0 is shown in Fig. 20. All the four auxiliary models have the same structure. Assume that the four queueing nodes in the original model are marked with i = 0, 1, 2, 3 clockwise, as are the queueing nodes in the four auxiliary models. Also follow the subscript convention in Fig. 20, within each node. Table 10 shows the behavior table of the subnet SN0, in the case of four queue two servers, which is deduced form ARG of SN0, as illustrated in Section 4.2. Because all sub-
kapprox t17 74.2492 120.143 150.485
– 0.131 – 0.190 – 0.202
Table 10 Behavior table of SN0 Input state before firing output trans. P31
Fired output trans.
Output tokens after firing output transition
Input state before firing output trans. P31
P30
P33
P32
1
Tw11 Tw21 Tw31
0 0 1
0 1 0
1 0 0
0
2
Tw11 Tw21 Tw31
0 0 1
0 1 0
1 0 0
1
nets have the same structure, all of them have the same ARG and behavior table of SN0. The behavior table of SNi is used to program the intelligent transitions Tinti of BDEBi to enforce the behavior of BDEBi to be the same as the behavior of SNi (i = 0, 1, 2, 3). By analyzing the subnet using Procedure 2 it is found that the output transitions of the subnet SN0 (Tw10,Tw20, Tw30) are dependent output transitions, so one implicit place (Pim1) is connected to
Fig. 20. The first auxiliary model with queue i = 0 intact by BDEB.
2228
O.S. Youness et al. / Computer Communications 31 (2008) 2210–2230
this technique is that calculations of delays of tokens depend on calculation of weights of all places of the subnet using p-invariant method. Calculation of p-invariant is very complex process especially with complex structure subnet. In BDEB decomposition technique proposed in this paper, a very simple method (the implicit places) is used to calculate the delays, as have been illustrated in previous sections. With these restrictions, the complete decomposition technique can be rarely applied to a GSPN model of a real application. Table 11 shows the results of solving GSPN model of polling system for two and four queues (L equals 2 or 4) with one to five servers (S= 1, . . ., 5) using complete and BDEB decomposition technique. It shows the largest relative percentage errors of the throughput for all subnets transitions and number of iterations needed to solve the auxiliary models. We can notice the following: first, the two decomposition strategies are successful, but the accuracy of BDEB decomposition technique is higher than complete decomposition. Second, for s > 1 the number of iterations is nearly constant in the case of BDEB decomposition, but the number of iteration increases with increasing the number of servers (s) in the case of complete decomposition. At s = 5 the number of iteration needed for the complete decomposition is four multiples of the number of iterations in the case of BDEB decomposition. The solution of the model using complete decomposition takes a very long time compared to BDEB. This is one of the main drawbacks in complete decomposition. This results from the fact that the complete decomposition technique solves large GSPN model in stages mode. The number of stages is equal to the number of traversing tokens between submodels (s in polling system). The number of iterations per stage is within 7 and 10, so the number of iterations and time of solving increase with the increase in the number of traversing tokens between sub models. In Table 12 the state spaces for original model and auxiliary models of the two decomposition strategies are compared. From Table 12 we can notice the following: first, the two techniques achieve several order of reduction in the state space of the original model. Second, the complete decomposition technique achieves more state space reduction compared with BDEB decomposition technique. This reduction of state space results in an increasing of the relative error of the complete decomposition.
Fig. 21. The first auxiliary model with queue i = 0 intact by complete decomposition.
OT of SN0, as shown in Fig. 20. Procedure 1 is used to get the initial state of the auxiliary net. Procedure 5 is used to solve the auxiliary nets iteratively. Next, the same polling system is analyzed by the complete decomposition strategy [21]. The first auxiliary model for the 4-queue model is given in Fig. 21. We can notice the difference between complete and BDEB decomposition in the strategy of aggregation and constructing the auxiliary net. In complete decomposition technique, constructing an auxiliary net is performed by aggregating L-1 original subnets into a single subnet, which represents a service center subnet, as shown in Fig. 21. This service center results from substituting a P-module subnet with one place and the output transitions of the subnet any number of times until the service center subnet is obtained. The service center achieves a big reduction in the auxiliary net. This big reduction of auxiliary net is due to the simplicity of the decomposition unit and restrictions of the behavior of this unit. The main decomposition unit in this technique is Pmodule subnets. This subnet has two restrictions, the first is a behavior restriction and the second is a structure restriction. For the behavior restriction, all subnet input arcs must join at a single place and all subnet output transitions must share a single output place. For the behavior restriction, if a token enters the subnet only one token must move out from the subnet. Another restriction for using
Table 11 Throughput error using the complete and BDEB decomposition techniques for different number of servers (s) and queues (L) Server s
1 2 3 4 5
Complete
BDEB
Throughput error (%)
No. of Iterations
Throughput error (%)
No. of Iterations
L=2
L=4
L=2
L=4
L=2
L=4
L=2
L=4
2.08 2.85 2.94 3.15 3.33
0.58 1.94 2.34 2.74 3.50
6 14 23 31 40
7 16 26 34 45
2.08 1.62 0.89 0.80 0.45
0.12 0.65 0.91 0.42 0.32
7 8 7 9 9
7 9 9 10 9
O.S. Youness et al. / Computer Communications 31 (2008) 2210–2230 Table 12 Number of tangible marking for original and auxiliary model of complete and BDEB decomposition strategies, for different number of servers (s) and queues (L) Server S
1 2 3 4 5
Complete
BDEB
Original model
L=2
L=4
L=2
L=4
L=2
L=4
7 15 26 40 57
11 35 85 175 322
7 15 26 40 57
15 63 196 504 1134
20 58 124 230 384
288 2712 17800 91521 392784
8. Conclusion This paper presents a new decomposition technique for performance evaluation of communications protocol software GSPN model. This technique overcomes all problems in other approaches presented in the Literature. First, it does not require a special structure or type of the model evaluated because it uses a general decomposition unit and a new aggregation method called behavior and delay equivalent block. Second: it uses a simple and efficient algorithm for calculating delay of aggregated subnets. Third, the number of iterations and accuracy of solution do not depend on the number of traversing tokens. Fourth, it proposes a new scheme for calculating the initial rates of the aggregated transition. The proposed technique has been applied to the analysis of a very large model for data communication protocol software system. The solution of this application using the proposed technique showed that it reduced the state space to a very small size with high accuracy (error less than 0.2%). Appendix. List of Important notations ARGk ASN AXNk BDEBk D(ISj) DBDEBx ðIS k Þ DsBDEBx ðIS k Þ DMP(ISk) DSN x ðIS k Þ DhSN x ðIS k Þ IPk ISk IS MP k
Line missing
Aggregated reachability graph of SNk Set of arcs of the subnet SN Auxiliary net number k Behavior and delay equivalent black number k Delay time consumed by an input state ISj Delay time consumed by ISk in BDEBx Delay time of ISk inBDEBx when the firing of Tintx changes the number of tokens in Pins Delay time consumed by IS MP in k MP Delay time consumed by ISkin SNx Delay time of ISk in SNx until the output transition Toh fire Input places of SNk Input state number k Input state number k to MP
2229
Appendix (continued) ISmax IT p M SN 0 max M (Poi) M(Pk) M IS m ðPimk Þ M Pimh ðIS k Þ
Maximum input state Input transitions Initial state of SNp Maximum number of tokens in Poi Number of tokens in Pk Number of tokens in Pimk for ISm Mean number of tokens in Pimh for the input state ISk n M IS ðIP Þ Number of tokens in the input BT places of a subnet as recorded in the behavior table of this subnet for the input state ISn n M IS ðP Þ Number of tokens inPk as recorded k BT in the behavior table for the input state ISn OSmax Maximum output state OSk Output state number k OS SN i Output states from SNi OS max Maximum output state of OS SN i SN i Pimk Implicit place number k Pink Input place number k Pok Output place number k SNk Subnet number k SNMP Subnet SN resulted from adding MP SNp Subnet resulting from adding a place p to SN Tink Input transition number k Tintk Intelligent transition number k Tok Output transition number k W IS n ðP k ; Tintk Þ Weight of arc from Pk to Tintk for the input state ISn W IS n ðTintk ; P k Þ weight of arc from Tintk to Pk #Pimk Number of tokens in Pimk #Pok Number of tokens in Pok lTintx ðn1 ; . . . ; ns ; . . . ; ni Þ Rate of Tintx for the input state (n1, . . .,ns , . . .,ni) lsTintx ðn1 ; . . . ; ns ; . . . ; ni Þ Rate of Tintx for the input state (n1, . . .,ns , . . .,ni) when the firing of Tintx changes the number of tokens in the place Pins kToh(ISk) Throughput of transition Toh for the input state ISk
References [1] Tadao Murata, Petri nets: properties, analysis and applications, Proceedings of the IEEE 77 (4) (1989) 541–580. April. [2] M. A Marsa, G. Balbo, G. Conte, S. Donatelli, G. Fraceschinis, Modeling with Generalized Stochastic Petri Nets, John Wiley, 1995. [3] J. Muppala, G. Ciardo, K. Trivedi, Stochastic Reward Nets for Reliability Prediction, Communications in Reliability, maintainability and Serviceability (an international journal published by SAE international), 1(2) (1994) 9–20, (July).
2230
O.S. Youness et al. / Computer Communications 31 (2008) 2210–2230
[4] R.J. Haines, G.R. Clemo, A.T.D. Munro, Petri-nets for formal verification of MAC protocols, IET Software 1 (2) (2007) 39–47. April. [5] N. Chaki, Performance analysis of multistage interconnection networks with a new high-level net model, Journal of Systems Architecture 52 (1) (2006) 56. [6] C. Xiong; T. Murata, J. Leigh, An approach for verifying routing protocols in mobile ad hoc networks using Petri nets, in: IEEE 6th Circuits and Systems Symposium on Emerging Technologies: Frontiers of Mobile and Wireless Communication, vol. 2, 31 May–2 June 2004, pp. 537–540. [7] Q.Wang, B. Liu, Performance modeling and analysis of a switching router based on stochastic Petri net, in: International Conference on Communication Technology, 9–11 April, 2003. [8] Gunter Bolch, Stefan Greiner, Hermann de Meer, Kishor S. Trivedi, Queuing Networks and Markov Chains, John Wiley & Sons, 1998. [9] S. Donatelli, Superposed generalized stochastic petri nets: definition and efficient solution, in: R. Valette (Ed.), Proceedings of the 15th International Conference on Applications and Theory of Petri Nets, Lecture Notes in Computer Science, vol. 815, Springer-Verlag, Berlin Heidelberg, 1994, pp. 258–277. [10] P. Buchholz, Adaptive decomposition and approximation for the analysis of stochastic petri nets, Performance Evaluation 56 (1–4) (2004) 23–52, March. [11] P. Buchholz, P. Kemper, Numerical analysis of stochastic marked graphs, IEEE-CS Press, Durham, NC, USA, 1995, pp. 32–41, October. [12] P. Buchholz, Structured analysis techniques for large Markov chains, in: Proceedings of 1st Workshop on Tools for solving structured Markov Chains, ACM Press, 2006. [13] H.H. Ammar, S.M. Rezaul Islam, Time scale decomposition of a class of generalized stochastic petri nets models, IEEE Transaction in Software Engineering 15 (6) (1989), JUNE. [14] G. Ciardo, K.S. Trivedi, Solution of large GSPN models, in: W. Stewart (Ed.), International Conference on Numerical Solution of Markov Chains, Raleigh, NC, 1990, (January). [15] H. Jungnitz, B. Sanchez, M. Silva, Approximate throughput computation of stochastic marked graphs, Journal of Parallel and Distribution Computing 16 (1992) 282–295. [16] J. Compos, J. Manuel Colom, H. Jungnitz, Manuel Silva, Approximate throughput computation of stochastic marked graphs, IEEE Transaction Software Engineering 20 (7) (1994), JULY. [17] C.J. perez-Jimenez, J. Campos, On state space decomposition for the numerical analysis of stochastic petri nets, in: Proceedings of 12th International Conference 8th International Workshop on Petri Nets and Performance Models, Zaragosa, Spain, 1999, pp. 32–41, (September).
[18] P. Ziegler, H. Szczerbicka, A structure based decomposition approach for GSPN, 6th International Workshop on Petri Nets and Performance Models, 1995. [19] S.M. Koriem, Fast and simple decomposition techniques for the reliability analysis of interconnection networks, Journal of Systems and Software 45(2) (1999) 155–171, (March1). [20] J. Freiheit, A. Zimmermann, A divide and conquer approach for the performance evaluation of large stochastic petri nets, in: 9th International Workshop on Petri Nets and Performance Models, 2001. [21] Yao Li, C. Murray Woodside, Complete decomposition of stochastic petri nets representing generalized service networks, IEEE Transaction in Computers 44 (8) (1995). [22] Y. Li, C.M. Woodside, Iterative decomposition and aggregation of stochastic marked graph petri nets, in: Proceedings 12th International Conference on Application and Theory of Petri Nets, Gjern, Denmark, 1991, pp. 257–275, (June). [23] Y. Li, C.M. Woodside, Performance petri net analysis of communication protocol software by delay equivalent aggregation, in: Fourth International Workshop on Petri Nets and Performance Models, Melbourne Australia, Dec. 2–5, 1991, (pp. 64–73). [24] G. Memmi, J. Vautherin, Analyzing nets by the invariant method, in: Lecture Notes in Computer Science, Advances in Petri Nets, Part II, vol. 255, 1986, pp. 300–337. [25] G. Valles, J.M. Colom, Implicit places in net systems, in: 8th International Workshop on Petri Nets and Performance Models, 1999. [26] P. Kemper, Numerical analysis of superposed GSPNs, IEEE Transactions on Software Engineering 22 (9) (1996) 615–628, Sept.. [27] S. Donatelli, Superposed stochastic automata: a class of stochastic petri nets with parallel solution and distributed state space, Performance Evaluation 18 (1993) 21–26. [28] M. Ajmone Marsan, G. Balbo, G. Conte, G. Chiola, Modeling the software architecture of prototype parallel machine, ACM SIGMETRICS Performance Evaluation Review 15 (1) (1987) 175– 185. [29] S.M. Koriem, W.S. El-Kilani, A new disk-based technique for solving the largeness problem of stochastic modeling formalisms, Journal of systems and software 72 (3) (2004). August). [30] S.M. Koriem, W.S. El-Kilani, T.E. Dabbous, A new petri net modeling technique for the performance analysis of discrete event dynamic systems, Journal of Systems and Software 72 (3) (2004). August. [31] N.J. Dingle, P.G. Harrison, W.J. Knottenbelt, Response time densities in generalized stochastic petri net models, in: 3rd International Workshop on Software and Performance (WOSP 2002), Rome, Italy, July 24–26, 2002.