Block-structured stochastic process algebra and its

3 downloads 0 Views 282KB Size Report
at time epochs 0 , n1 , n2 , ءءء. Then the process. fXt. E ¼ Xnt; t ¼ 1, 2,...g is defined as the censored process with censoring set E. Alternatively, the nth tran-.
Block-structured stochastic process algebra and its applications to queueing systems Y. Li, C. Lin, Q. Li and Z. Shan Abstract: A new and general stochastic process algebra with block structure, called PEPABS , is introduced, which is a generalisation of PEPA1 ph. For PEPABS , the activity durations may be allowed to be generally distributed, and the corresponding transition probability matrix has a blockpartitioned structure. Specifically, PEPABS is suitable for describing and analysing performance of general systems with block-structured transition probability matrices, such as Markov chains of GI/G/1 type. The steady-state probabilities of the PEPABS model can be calculated by means of censoring technique and the RG-factorisation, which have been successfully applied to study infinite-state Markov chain or Markov renewal process. Some practical examples show that the formal method is convenient to model and analyse non-Markovian systems, and can efficiently tackle an infinite-state problem under an algorithmic framework.

1

Introduction

Performance evaluation of modern computer and communication systems requires development of relevant and efficient modelling languages. Performance evaluation process algebra (PEPA) by Hillston [1] is a preferred language for describing and analysing the performance of concurrent systems of communicating processes, such as telecommunications systems, because of its explicit compositional nature [2– 6]. In PEPA, a system can be specified as interactions among the components that engage in activities, thus the model can be easily understood by means of these components. Note that the duration of each activity is always assumed to be exponential, but such an exponential assumption limits applications of PEPA. This makes us study a practical system with non-Markovian interactions [7]. Therefore it is necessary to develop a more general language for performance modelling of non-Markovian systems. Some work has been done in this area by the matrix – analytic methods to the PEPA language. El-Rayes et al. [8] proposed a stochastic process algebra language, called PEPA1 ph, which allows activity durations to be phase-type distributions and the system to have infinitely many states. Specifically, the steady-state probabilities of the PEPA1 ph model can be numerically calculated through the matrix – geometric solution [9], we thus can further compute system performance measures. The PEPA1 ph language has several advantages, such as the phase-type distribution and the matrix – geometric solution that provide an effective algorithmic framework to compute the performance measures of the system. # The Institution of Engineering and Technology 2006 IEE Proceedings online no. 20060012 doi:10.1049/ip-sen:20060012 Paper first received 9th March and in revised form 20th June 2006 Y. Li and C. Lin are with the Department of Computer Science and Technology, Tsinghua University, Beijing 100084, People’s Republic of China Q. Li is with the Department of Industrial Engineering, Tsinghua University, Beijing 100084, People’s Republic of China Z. Shan is with the Informatization Research Institute, State Information Center, Beijing 100045, People’s Republic of China E-mail: [email protected]

We introduce a new and general stochastic process algebra language, called PEPABS , which extends PEPA1 ph by allowing the activity durations to be generally distributed and the transition matrix to be a block-partitioned structure. The steady-state probabilities of the PEPABS model can be calculated by means of the censoring technique and the RG-factorisation [10 – 12]. The censoring technique has been successfully used to study block-structured Markov chains or block-structured Markov renewal processes. On the basis of the censoring technique, the RG-factorisation for the transition matrix can establish the stationary probability solution. Note that two probabilistic measures, the R- and G-measures, play crucial roles in the type of studies. References on applying the censoring technique to block-structured Markov chains include Latouche and Ramaswami [13], Li and Zhao [14 – 16] and Li and Cao [11, 17], references on applying the censoring technique to block-structured Markov renewal processes include Li and Zhao [10]. The main contributions of this paper are 3-fold. The first one is to apply the censoring technique and the RGfactorisation to extend PEPA to be able to deal with general systems. In the PEPA1 ph language, the activity durations are phase-type distributed, thus the language can be regarded as GI/M/1-type models. By incorporating the censoring technique and the RG-factorisation into PEPA, using PEPABS can analyse more general systems, such as M/G/1-type and GI/G/1-type models. The second contribution of this paper is to provide an algorithmic framework for non-Markovian systems. Our language allows the activity durations to be generally distributed while retaining the compositional structure of the system explicitly. The third contribution is to investigate the syntax and the semantics of stochastic process algebras with non-Markovian effects and block structure, and discuss equivalence properties of PEPABS , that can be used to simplify more complicated systems. 2

Block-structured Markov chains

In this section, we provide a brief overview on blockstructured Markov chains and the associated RG-factorisation, which will be useful in our study later. 1

IEE Proc.-Softw.

Techset Composition Ltd, Salisbury Doc: {IEE}sen/SEN51690.3d

Consider a discrete-time irreducible Markov chain fXn , Q1 n  1g whose transition matrix P is given by 0 1 P 0;0 P0;1 P 0;2    B P 1;0 P1;1 P 1;2    C B C ð1Þ P ¼ B P 2;0 P2;1 P 2;2    C @ A .. .. .. .. . . . . where Pi, j is a matrix of size mi  mj for i  0 and j  0. Let S be the state space of the Markov chain. It can be 1 partitioned as S ¼ < i¼0 Li with Li ¼ f(i, 0), (i, 1), . . . , (i, mi 2 1)g. For the state (i, r), i is called the level variable and r the stage or phase variable. We also use the notation Lk ¼ < ki¼0 Li for the set of all states in levels up to k, and Lk denotes the complement of L(k21) . We now use the censoring technique to study the Markov chain. Let E be a non-empty subset of S, and E c ¼ S 2 E. Suppose that the successive visits of Xn to E take place at time epochs 0 , n1 , n2 ,    . Then the process fX Et ¼ Xnt; t ¼ 1, 2, . . . g is defined as the censored process with censoring set E. Alternatively, the nth transition of the censored process is the nth time for the Markov chain to visit a state in E. Using the strong Markov property, it is easy to see that the censored process is also a Markov chain, called the censored Markov chain. According to the subset E and its complementary set E c, the transition matrix P can be partitioned as



E Ec



E Ec  T U V Q

Let 0 P

1

FðnÞ 1;1 .. .

C    FðnÞ 1;n C C ; .. .. C . . C A

FðnÞ n;1

   FðnÞ n;n

n0

ð2Þ

Theorem 1: For the block-structured Markov chain given in (1), the transition matrix has the following RG-factorisation I  P ¼ ðI  RU ÞðI  CD ÞðI  G L Þ

ð3Þ

where 0

0

B B B RU ¼ B B B @

R0;1

R0;2

R0;3

0

R1;2

R1;3

0

R2;3 0



1

C C C C C C A .. .

CD ¼ diagðC0 ; C1 ; C2 ; C3 ; . . .Þ and 0

0 B G 1;0 B B G L ¼ B G 2;0 B G 3;0 @ .. .

^ P ¼ T þ U QV 1 ^ ¼ Pk¼0 Qk is called the fundamental matrix. For where Q the sake of description clarity, if E ¼ Ln , then the censored transition matrix PE will be denoted by P[n]. If E ¼ L0 , then PE will be denoted by P[0].

Remark 1: We now explain the matrix PE. Since (p0 , p1)P ¼ (p0 , p1), we obtain  p0 T þ p1 V ¼ p0 p0 U þ p1 Q ¼ p1 obtain

p0[T þ

^ P E ¼ T þ UðI  QÞ1 V ¼ T þ U QV where PE is the transition matrix of the censored process. We now recall the definitions of the R- and G-measures, which play an important role in the study of blockstructured Markov chain. For 0  i  j, Ri, j is an mi  mj matrix whose (r, r 0 )th entry is the expected number of visits to state ( j, r 0 ) without visiting any states in L( j21) , given that the process starts in state (i, r). For 0  j , i, Gi, j is an mi  mj matrix whose (r, r 0 )th entry is the probability that starting in state (i, r), the Markov chain makes its first visit into L(i21) and upon entering L(i21) it visits state ( j, r 0 ). The two matrices Ri, j and Gi, j are called the R- and G-measures of the Markov chain, respectively. 2

B ðnÞ B F1;0 B ¼B . B .. @

   FðnÞ 0;n

and Cn ¼ F(n) n, n for n  0. The following theorem provides the RG-factorisation for the transition matrix, which will play an important role in the study of block-structured Markov chains. The RG-factorisation was derived by Li and Zhao [10] and is described here again.

E

we

FðnÞ 0;1

FðnÞ n;0

Then the transition matrix of the censored Markov chain to the subset E is given by

Note that p1 ¼ p0U(I 2 Q)21, U(I 2 Q)21V] ¼ p0 . Therefore

½n

FðnÞ 0;0

1 0 G 2;1 G 3;1 .. .

0 G 3;2 .. .

0 .. . . . .

C C C C C A

We assume that the Markov chain P given in (1) is positive recurrent. Let p ¼ (p0 , p1 , p2 , . . . ) be the stationary probability vector of the Markov chain P. By using the RG-factorisation, we can express the stationary probability vector p. The proof is given by a similar analysis to that in Theorem 2 of Li et al. [18]. Theorem 2: The stationary probability vector of P is given by ( p 0 ¼ g z0 Pk1 ð4Þ pk ¼ i¼0 pi Ri;k ; k  1 where z0 is the stationary probability vector of the transition matrix C0 of the censored chain ofPP to level 0, and the scalar g is uniquely determined by þ1 k¼0 pke ¼ 1. Proof: We now solve the equation p(I 2 P) ¼ 0. It follows from (3) that

pðI  RU ÞðI  CD ÞðI  GL Þ ¼ 0

ð5Þ

x ¼ pðI  RU Þ

ð6Þ

Let

IEE Proc.-Softw.

where x ¼ (x0 , x1 , x2 , . . . ). Then (

we can define Rk ¼ Ri;j ; for k ¼ 1; 2; . . . ; with k ¼ j  i and 1  i , j

p0 ¼ x0 Pk1 pk ¼ xk þ i¼0 pi Ri;k ; k  1

ð7Þ

ð10Þ G k ¼ G i;j ; for k ¼ 1; 2; . . . ; with k ¼ i  j and 1  j , i

It follows from (5) and (6) that x(I 2 CD)(I 2 GL) ¼ 0, which is equivalent to (

x0 ðI  C0 Þ  xk ðI  Ck Þ 

P1

i¼1 xi ðI

P1

and  Ci ÞG i;0 ¼ 0;

i¼kþ1 xi ðI  Ci ÞG i;k ¼ 0;

In the work of Li et al. [19], several numerical examples were given to illustrate how to use the RG-factorisation to compute performance measures of a retrial queue. Many application problems can be naturally modelled as a block-structured Markov chain with a special structure. Important examples include Markov chains of GI/G/1 type, GI/M/1 type, M/G/1 type and QBD processes [10]. We now provide a simple description for these special models. Markov Chain of GI/G/1 type. We consider a Markov chain of GI/G/1 type whose transition matrix is given by B0 B B1 B B B2 B P ¼ B B3 B B B4 @ .. .

B1 A0 A1 A2 A3 .. .

B2 A1 A0 A1 A2 .. .

B3 A2 A1 A0 A1 .. .

B4 A3 A2 A1 A0 .. .

1

 C C C C C C C A .. .

ð9Þ

where the sizes of the matrices B0 , Bi , B2i for i  1 and Aj for 21 , j , þ1 are m0  m0 , m0  m, m  m0 and m  m, respectively. Each submatrix contains the transition probabilities in a state subset. 1. Boundary matrices fBkg: In this case, we have † B0 contains the transition probabilities within level 0; † Bk contains the transition probabilities from level 0 to level k in the repetitive portion, for k  1; † B2k contains the transition probabilities from level k in the repetitive portion to level 0, for k  1. 2. Repeated matrices fAkg: In this case, we have † A0 contains the transition probabilities within level k, for k  1; † Ak contains the transition probabilities from level i to level i þ k, for i, k  1; † A2k contains the transition probabilities from level i to level i 2 k, for i . k  1. For the Markov chain of GI/G/1 type, we can simplify expressions for the R- and G-measures which lead to the RG-factorisation. Comparing the two transition matrices given in (1) with that given in (9), we know that the matrices Ri, j and Gi, j only depend on the value of ji 2 jj, except for R0, j with j ¼ 1, 2, . . . , and Gi,0 with i ¼ 1, 2, . . . . Therefore IEE Proc.-Softw.

C ¼ Ck ;

ð8Þ k1

Since the matrix (I 2 C0) is positive recurrent, it is easy to check that the vector (gz0 , 0, 0, . . . ) is a non-zero nonnegative solution to (8). Hence, x0 ¼ gz0 and xk ¼ 0 for k  1. Substituting the solution of x into (7), we can obtain the desired result. A

0

ð11Þ

Therefore we have 0 B B B RU ¼ B B B @

with k  1

0 R0;1

R0;2

R0;3

R1 0

R2 R1

0

0

ð12Þ



1

C C C C C C A .. .

CD ¼ diagðC0 ; C; C; C; . . .Þ and 0

0 B G 1;0 B B G L ¼ B G 2;0 B G 3;0 @ .. .

1 0 G1 G2 .. .

0 G1 .. .

0 .. .

..

C C C C C A .

Markov chain of GI/M/1 type. For the special case, it is well-known that Ak ¼ 0 and Bk ¼ 0 for all k  2, hence we have 0 1 B1 B0 B B1 A0 C A1 B C BB C A A A 1 0 1 B 2 C BB C A A A A ð13Þ 2 1 0 1 P ¼ B 3 C B C . B C . .C B B4 A3 A2 A1 A0 @ A .. . . .. .. .. .. . . . . . . Neuts [9] shows that the rate matrix R is crucial for Markov chains of GI/M/1 type, where R is the P minimal non-negative þ1 solution to the matrix equation R ¼ k¼0 RkA2kþ1 . The RG-factorisation has a special form 0 1 0 R0;1 B C 0 R B C B C 0 R C ð14Þ RU ¼ B B .. C B C 0 . @ A .. . Markov chain of M/G/1 type. For the special case, we have that A2k ¼ 0 and B2k ¼ 0, for all k  2. Thus, the transition matrix is given by 0

B0 B B1 B B B P¼B B B @

B1 A0 A1

B2 A1 A0 A1

B3 A2 A1 A0 A1

B4 A3 A2 A1 A0 .. .

1  C C C C C C C A .. .

ð15Þ

3

Neuts [20] indicates that the matrix G is a key for Markov chains of M/G/1 type, where G is the minimal Pþ1 non-negative solution to the matrix equation G ¼ k¼0 Ak21Gk. The RG-factorisation has a special form 0 1 0 B G 1;0 0 C B C B C G 0 GL ¼ B ð16Þ C B C G 0 @ A .. .. . . QBD process. The QBD process has the transition matrix as follows 0 1 B1 B0 B B1 A0 C A1 B C B C A1 A0 A1 B C B C A1 A0 A1 ð17Þ P¼B C B C . B C A1 A0 . . C B @ A .. .. . . In this case, RU and GL are given by (14) and (16), respectively.

† `, an unspecified activity duration which corresponds to a passive activity; † A, a countable set of all possible action types; † Act, a countable set of all possible activities; † N, the set of positive integers; † N0 , the set of non-negative integers, that is N0 ¼ N < f0g; † R, the set of real numbers. 3.2

Syntax

Let us describe the syntax of the PEPABS terms. A term E of the PEPABS is defined as E W U jjS QðiÞ where U is a PEPA term; Q(i) is an infinite queue term, where level i represents the queue length including the customers in service; S is a subset of visible action types, that is S # A\ftg. The synchronisation operator kS combines the two subsystems U and Q(i), which are the PEPA term and the queue term, respectively. In the following, we describe these two terms in detail. The syntax of the PEPA term U is given by U W ða; dÞ:V jV þ W jVp  W jV jjS W jV =SjC

3

PEPABS language

In this section, we describe a new and general stochastic process algebra, PEPABS , which corresponds to general block-structured Markov chains given in Section 2. Specifically, we present syntax and operational semantics for the PEPABS in detail. 3.1

Informal description

In PEPABS , a system is described as interactions of PEPA terms and queue terms, where each activity has an associated duration which is a random variable. Performance analysis for such a system is based on its block-partitioned transition matrix. Our language is similar to that given in PEPA1 ph [1]. In PEPA1 ph, queues can have an infinite buffer capacity, and activity durations are allowed to be phase-type distributed. PEPA1 ph is suitable for describing the behaviour of certain kinds of queueing systems such as M/PH/1 and PH/M/1. It is worthwhile to note that the transition matrix of a PEPA1 ph model must be GI/M/1 type, which leads to the matrix –geometric solution. However, PEPABS is suitable for describing more general queues such as PH x/PH x/1. Moreover, the transition matrix of a PEPABS model may have a general block-partitioned structure as shown in (1). Therefore it is easy to see that the PEPABS language is more general than the PEPA1 ph language. Throughout this paper, we adopt the following notations † components are denoted by names starting with a large roman letter, such as U, V, W, Server and so on; † activities are denoted by single roman letters except d, and each activity is represented by two pieces of information: the action type and the activity duration; † action types are denoted by small greek letters, such as a, b, g and so on, or by names directly, for example, arrive, serve; † activity durations are random variables and denoted by the single roman letter ‘d’; † t, an unknown action type which can denote an internal activity; 4

The prefix (a, d ).V, competitive choice V þ W, probabilistic choice Vp  W, synchronization VkSW, hiding V/S and constant C are the same as that in PEPA1 ph. Here, we briefly interpret the meaning of these operators as follows. (a, d ).V represents a system which carries out activity (a, d ) of type a with duration d and subsequently behaves as term V. V þ W behaves either as V or W, that is once a term is chosen, the other one will be discarded. Vp  W indicates V and W are chosen with probability p and (1 2 p), respectively. VkSW represents V and W synchronise on activities of types within the set S. V/S behaves as V except the activities of types within the set S. The equation U W C assigns the behaviour of C to U. The syntax of the queue term Q(i) is defined as QðiÞ W if i ¼ 0 then ða; dÞ:QðiÞu ða1 ; d1 Þ:Qði þ 1Þ u    u ðal ; dl Þ:Qði þ l Þ else if i  k  then ða0 ; d 0 Þ:QðiÞu ða01 ; d10 Þ:Qði þ 1Þ u    u ða0l ; dl0 Þ:Qði þ l Þu ða001 ; d100 ÞQði  1Þ u    u ða00k  ; dk00 Þ:Qði  k  Þ else if i , k  then ða00 ; d 00 Þ:QðiÞu 000 000 000  ða000 1 ; d1 Þ:Qði þ 1Þ u    u ðal ; dl Þ:Qði þ l Þu 0000 0000 0000 ða0000 1 ; d1 Þ:Qði  1Þ u    u ðai ; di Þ:Qð0Þ

where u denotes either þ or p. Here, the meanings of actions are given by  † actions aj , aj0 and a000 j for 1  j  l , denote transitions from level i to level i þ j, corresponding to the behaviour of customer arrival; † actions a, a0 and a00 , denote transitions within level i, corresponding to the behaviour of customer service; † actions aj00 and aj0000 for 1  j  min(i, k ), denote transitions from level i to level i 2 j, corresponding to the behaviour of customer departure.

IEE Proc.-Softw.

It can be seen that the sublanguage of queue terms in PEPABS can describe not only batch services, but also batch arrivals. However, in PEPA1 ph, queue terms cannot describe the behaviour of batch arrivals. In the following, we take an example to illustrate the above syntax of PEPABS .

d MAP

d MAP

d MAP

d MAP

d MAP

dG

dG

dG

dG d MAP

d MAP d MAP d MAP

Example 1: Consider an MAP/G/1 queue with negative customers, where there are three classes of removal rules: the RCA, RCH and RCE. In the queue, customers are either negative or positive. Positive customers enter the queue and receive service, whereas a negative customer will vanish if it arrives at an empty queue, and will reduce the numbers of positive customers by removal rules. Here, we consider three different removal rules: (1) arrival of a negative customer removes all the customers in the queue (RCA), (2) arrival of a negative customer removes only a customer from the head of the queue (RCH), that is the latest one of the positive customer arrivals, including the customer being in service and (3) arrival of a negative customer removes only a customer from the end of the queue (RCE), usually the customer being serviced. The arrivals of both positive and negative customers are Markovian arrival processes (MAPs) with durations 2 dþ MAP and dMAP, respectively. The service durations of positive customers are general and independent. Note that negative customers do not receive service. So, we only need to denote the service durations of positive customers, denoted as dG . Using PEPABS , the MAP/G/1 queues with the RCA, RCH and RCE rules can be specified, respectively, as follows, where the superscripts of action types and activity durations identify the customer types, that is superscript þ identifies those of positive customers and superscript 2 identifies those of negative customers. † MAP/G/1 queue with the RCA rule

a

d MAP

d MAP

d MAP

d MAP

dG

dG

dG

dG

d MAP

d MAP

d MAP

d MAP

d MAP

b

Fig. 1 State transition diagrams for a MAP/G/1 queue with negative customers a RCA rule b RCH or RCE rule

The state transition diagrams representing the possible behaviour of these models are illustrated in Fig. 1. For simplicity of our later description (Subsection 6.1), the models defined above with the removal rules RCA, RCH and RCE are referred to as the RCA, the RCH and the RCE models, respectively. 3.3

Operational semantics

We introduce operational semantics of PEPABS , which is used to describe the system behaviour. The operational semantics of PEPABS is described in detail as follows. † Prefix ða;dÞ

ða; dÞ:E !E † Competitive choice ða;dÞ

QueueðiÞ W if

þ then ðarriveþ ; dMAP Þ:Queueð1Þ   Þ:Queueð0Þ þ ðarrive ; dMAP

else

ða;dÞ

þ ðarrive ; dMAP Þ:Queueði þ 1Þ  Þ:Queueð0Þ þ ðarrive ; dMAP

ða;dÞ

ða;pdÞ

† MAP/G/1 queue with the RCH rule

EjjS F ! E0 jjS F 0

þ ðserve; `Þ:Queueði  1Þ Server W ðserve; dG Þ:Server System W Serverjjfserveg Queueð0Þ † MAP/G/1 queue with the RCE rule can be specified just as the case of RCH rule. IEE Proc.-Softw.

;

Ep  F ! E 0 † Synchronisation

þ else ðarriveþ ; dMAP Þ:Queueði þ 1Þ   Þ:Queueði  1Þ þ ðarrive ; dMAP

ða;dÞ

E þ F ! F0

ða;dÞ

E ! E0

Server W ðserve; dG Þ:Server System W Serverjjfserveg Queueð0Þ

þ then ðarriveþ ; dMAP Þ:Queueð1Þ   Þ:Queueð0Þ þ ðarrive ; dMAP

F ! F0

† Probabilistic choice

þ

i¼0

;

E þ F ! E0

þ ðserve; `Þ:Queueði  1Þ

QueueðiÞ W if

ða;dÞ

E ! E0

i¼0

ða;dÞ

E ! E0 ða;dÞ

ða;d1 Þ

F ! F0 Ep  F

ða;ð1pÞdÞ

!

F0

ða;dÞ

ða  SÞ;

F ! F0 ða;dÞ

ða  SÞ

EjjS F ! E0 jjS F 0

ða;d2 Þ

E ! E0 ; F ! F 0 ða;d12 Þ

ða [ SÞ;

where d12 ¼ maxðd1 ; d2 Þ

EjjS F ! E0 jjS F 0 † Hiding ða;dÞ

E ! E0 ða;dÞ

ða;dÞ

ða  SÞ;

E=S ! E0 =S

E ! E0 ðt;dÞ

ða [ SÞ

E=S ! E0 =S

† Constant ða;dÞ

E ! E0 ða;dÞ

ðC W EÞ

C ! E0 5

The operational semantics of PEPABS are the same as that of PEPA, except for the synchronisation operator kS . In PEPA, activity durations are always assumed to be all exponentially distributed so that the system behaviour is memoryless. However, in PEPABS , activity durations may be allowed to be generally distributed, so that the amount of time spent performing such an activity before it is interrupted by another activity must be taken into account. Let us consider a system ((a, d1).UkQ(0))k((b, d2).UkQ(0)), where both d1 and d2 are generally distributed delays. The state transition diagram of the system is shown in Fig. 2. It is worthwhile to note that the transition from state (UkQ(0))k((b, d˜2).UkQ(0)) to state (UkQ(0))k(UkQ(0)) should take time d˜2 , which represents the remaining time for b to complete, and the transition from state ((a, d˜1).UkQ(0))k(UkQ(0)) to state (UkQ(0))k(UkQ(0)) should take time d˜1 , which represents the remaining time for a to complete. 4 Construction of block-partitioned transition matrix Performance evaluation of a PEPABS model is based on its transition matrix P, whose entries are formed by the transition probabilities. For any PEPABS term, the set of derivatives captures all the reachable states of the system.

between two nodes labelled by an activity, which expresses a transition between two components. Definition 2: Given model E in PEPABS with the derivative set ds(E), the derivation graph dg(E) is a labelled graph composed of the nodes and the arcs, where (1) each node is taken from the set ds(E), (2) each arc is labelled with an activity which infers one node to another node. Following the derivation graph, the block-partitioned transition matrix of the model can be generated. To illustrate how to determine the block-partitioned transition matrix, three examples are shown below. Example 2: Consider a GI/PH/1 queue, in which the interarrival times have a general distribution G(.) and the service times have a phase-type distribution H(.) with representation (b, S) of order m. By using PEPABS , the queue can be specified as follows QueueðiÞ W if

then ðarrive; dG Þ:Queueð1Þ else ðarrive; dG Þ:Queueði þ 1Þ þ ðserve; `Þ:Queueði  1Þ Server W ðserve; dH Þ:Server

Definition 1: The derivative set ds(E) of model E in PEPABS is defined as the smallest set of the PEPABS components such that (1) if E W E0 , then E0 [ ds(E), ða;dÞ (2) if Ei [ ds (E) and Ei ! Ej , then Ej [ ds(E). We fix a model E W UkSQ(0) in PEPABS . Assume that the corresponding Markov chain is irreducible and positive recurrent, then it has the steady-state vector p, which may be computed by solving the global balance equation

p  ðI  PÞ ¼ 0 and the normalisation condition equation X pðEi Þ ¼ 1 Ei [dsðEÞ

On the basis of the stationary probability vector whose entry is denoted as p(.), we can calculate stationary performance measures of this model under study. By means of the derivative set, the derivation graph (also called state transition diagram) is constructed to express all the possible states relationships. In the graph, the component defining the model is taken as its initial node. Each derivative is a node in the graph, and there is an arc

( (α , d ) .U 1

Q ( 0) )

( ( β , d ) .U 2

Q ( 0) )

( β ,d 2 )

(α ,d1 )

(U

Q( 0 ) )

(( β , d ) .U 2

Q ( 0)

)

((α , d ) .U 1

(U

Q ( 0))

System W Serverjjfserveg Queueð0Þ Let Ir , Jr and Xr denote the queue length immediately prior to the rth arrival, the phase of service immediately after the rth arrival, and the interarrival time between the (r 2 1)th and rth arrivals, respectively. Then f(Ir , Jr , Xr), r  0g forms a Markov renewal process on the state space {(i, j, x), i  0, 1  j  m, x  0 g}. The transition matrix P(x) of the Markov renewal process has the following structure 0 1 B0 ðxÞ A0 ðxÞ 0 0  B B1 ðxÞ A1 ðxÞ A0 ðxÞ 0 C B C B B2 ðxÞ A2 ðxÞ A1 ðxÞ A0 ðxÞ    C PðxÞ ¼ B C; for x  0 B B3 ðxÞ A3 ðxÞ A2 ðxÞ A1 ðxÞ    C @ A .. .. .. .. .. . . . . . where ðx Pðk; tÞdGðtÞ;

Ak ðxÞ ¼

for k  0

0

Bk ðxÞ ¼

þ1 ð x X

Pðr; tÞdGðtÞeb;

for k  0

r¼kþ1 0

and the matrices P(n, t) for n  0 and t  0 satisfy the Chapman – Kolmogorov differential equations  0 P ð0; tÞ ¼ Pð0; tÞS P 0 ðn; tÞ ¼ Pðn; tÞS þ Pðn  1; tÞS 0 b; for n  1 It is seen that the GI/PH/1 queue is GI/M/1 type.

1

2

(U

6

)

(α ,d )

( β ,d )

Fig. 2

Q ( 0)

i¼0

Q( 0 ) )

(U

Q( 0 ) )

State transition diagram of a parallel system

Example 3: Consider a PH/G/1 queue with the service time distribution G(.) and the phase-type interarrival time distribution H(.) with representation (b, S) of order m. IEE Proc.-Softw.

b3λ

By using PEPABS , the queue can be specified as follows

b2 λ

b2 λ

QueueðiÞ W if

b1λ

i¼0

then ðarrive; dH Þ:Queueð1Þ else ðarrive; dH Þ:Queueði þ 1Þ

0

1

c1S 0

Bk ðxÞ ¼

2 b2 l b1 lI ðc1 þ c2 ÞS þ ð1  lÞI c1 S 0 b .. .

3 b3 l b2 lI b1 lI ðc1 þ c2 þ c3 ÞS þ ð1  lÞI .. .

k0

0

It is seen that the PH/G/1 queue is M/G/1 type, while this case of M/G/1 type cannot be studied through the PEPA1 ph method by El-Rayes et al. [8]. Example 4: Consider an M x/PH x/1 queue. Customers arrive to the system according to a Poisson process with rate l, and the service times have a phase-type distribution with representation (b, S) of order m. Both batch arrivals and batch services have random batch sizes, denoted as the random variables K and L, respectively. Let bi ¼ PrfK ¼ ig for i  1, and cj ¼ PrfL ¼ jg for j  1. By using PEPABS , the queue can be specified as follows QueueðiÞ W if i ¼ 0   1 :Queueð1Þ then arrive; b1 l   1 :Queueð2Þ þ    þ arrive; b2 l   1 :Queueði þ 1Þ else arrive; b1 l   1 :Queueði þ 2Þ þ    þ arrive; b2 l þ ðserve; c1 `Þ:Queueði  1Þ þ ðserve; c2 `Þ:Queueði  2Þ þ    þ ðserve; ci `Þ:Queueð0Þ Server W ðserve; dH Þ:Server System W Serverkfserveg Queueð0Þ The state transition diagram of the system is shown in Fig. 3. It follows from the state transition diagram that the IEE Proc.-Softw.

0

1 0 0 1  l b 0 1l B 0 c1 S þ ð1  lÞI 1 B c1 S B 0 B c1 S 0 b P ¼ 2 B c2 S B 0 c2 S 0 b 3 B c3 S @ .. .. .. . . .

for k  0

exp½Sðx  tÞS 0 bAk ðtÞdt;

3

transition matrix can be written as

ðx Pðk; tÞdGðtÞ;

c1S 0 β

c2S 0 β c3S

where

0 ðx

2

Fig. 3 State transition diagram of the M x/PH x/1 queue

By considering the queue lengths and the phases of the arrival process immediately after departure epochs, this model has a Markov renewal process. The transition matrix of the Markov renewal process has the following form 0 1 B0 ðxÞ B1 ðxÞ B2 ðxÞ B3 ðxÞ    B A0 ðxÞ A1 ðxÞ A2 ðxÞ A3 ðxÞ    C B C B A0 ðxÞ A1 ðxÞ A2 ðxÞ    C PðxÞ ¼ B 0 C; for x  0 B 0 0 A0 ðxÞ A1 ðxÞ    C @ A .. .. .. .. .. . . . . .

Ak ðxÞ ¼

c1S 0 β

c2S 0

þ ðserve; `Þ:Queueði  1Þ Server W ðserve; dG Þ:Server System W Serverjjfserveg Queueð0Þ

b1λ

b1λ

1  C C C C C C C A .. .

It is worthwhile to note that the transition matrix of the M x/ PH x/1 queue belongs to the class of GI/G/1 type. The stationary probability vector of this GI/G/1-type Markov chain is not matrix – geometric. 5

Equivalence

We develop a strong notion of equivalence between two PEPABS models, which are potentially to be used as a basis of the state-space reduction techniques, and it is proposed from the performance point of view to simplify the model before the underlying stochastic process is generated and is solved. The notion is called weak isomorphism, written , which is an equivalence relation used to establish behavioural or observational equivalence between two models. It aims to replace one model by an equivalent one with a more compact expression, and is usually taken as a model simplification technique. Introduction of the equivalence will generally reduce the number of states in the underlying stochastic process and will certainly never increase it, so that the resulting stochastic process is more amenable to solution. In the following, we will discuss the equivalence on its properties and reasoning rules in detail. Weak isomorphism is proposed with the idea that a sequence of t type activities may be reduced by a t type activity of a longer duration. The longer duration of the resultant activity is a random variable with the distribution determined by the convolution of the candidate distributions. If two PEPABS components are weakly isomorphic, their underlying stochastic processes may not have a one-to-one correspondence relationship. However, they can derive the same steady-state distributions. For example, consider a PH/G/1 queue, which differs from the specification in Example 3 only on the definition of component Server, that is Server0 W ðt; d1 Þ:ðt; d2 Þ:ðserve; dG Þ:Server0 7

Server0 can be replaced by its weak isomorphic component Server00 W ðt; d12 Þ:ðserve; dG Þ:Server00 where the activity duration d12 is distributed as Fd12(t) ¼ Fd1(t) Fd2(t). Note that, in PEPA, the probability distribution of the duration of a sequence of exponential distributions is not exponential, which makes it impossible to use weak isomorphism on any sequence of t type activities. However, in PEPABS , we do not care whether the probability distribution of the duration of a sequence coincides with its candidates, so that the weak isomorphism relation can be applied to any sequence of t type activities. Let System0 W Server0 kfservegQueue(0), System00 W Server00 kfservegQueue(0), num0 and num00 denote the state numbers of System0 and System00 , respectively. If the queue length is bounded, then we can see that num00 ¼ (2/3) num0 . This suggests the use of weak isomorphisms for model simplification, resulting in state-space reduction. A set of equational laws, which can transform PEPABS models under the meaning of weak isomorphism, is given as follows. These equational laws can be proved by direct appeal to of the definition of  and the semantics in Section 3.3. A1 A2 A3 A4 A5 H1 H2 H3 H4 C1 C2 C3 C4 C5

P þ Q  Q þ P, P þ (Q þ R)  (P þ Q) þ R, (a, d ).P þ (a, d ).P  (a, d ).P, (a, d ).(P þ P)  (a, d ).P, (a, d1).P þ (a, d2).Q  (a, d ).P, if P  Q, d ¼ min(d1 , d2), (P þ Q)/L  P/L þ Q/L,  ððt; dÞ:PÞ=L; a [ L; ðða; dÞ:PÞ=L  ðða; dÞ:PÞ=L; a  L; (P/L)/K  P/(L < K), P/L  P, if L > A(P) ¼ F, PkLQ  QkLP, PkL(QkLR)  (PkLQ)kLR, (PkLQ)/(K < M)  ((P/K)kL(Q/K))/M, where K > M ¼ K > L ¼ F, PkLQ  PkKQ, if L > (A(P) < A(Q)) ¼ K, ðPkL QÞkK R 8 Pk ðQkK RÞ; > > < L if AðRÞ > ðLnKÞ ¼ F ^ AðPÞ > ðKnLÞ ¼ F;  > QkL ðPkK RÞ; > : if AðRÞ > ðLnKÞ ¼ F ^ AðQÞ > ðKnLÞ ¼ F;

E

F

Z

,d 4

,d1

, d2

, d3 E

,d5

,d 4

,d3 E

Z

,d3

,d 4

, d3 F

,d5 Z

,d 2

Z

,d12

,d3

, d5 Z ,d 4

,d12

F

, d5 Z

,d1 E

a

b

Fig. 4 State transition diagrams a EþZ b FþZ

scenarios. For ease of presentation, the systems considered are relatively small. However, it is straightforward to generalise these models to larger systems. 6.1

MAP/G/1 queue with negative customers

Recall Example 1 in Section 3.2, assume that the arrivals of both positive and negative customers are MAPs with matrix descriptors (C1 , D1) and (C2 , D2), respectively, where the corresponding infinitesimal generators C1 þ D1 and C2 þ D2 are of sizes m1  m1 and m2  m2 , respectively. The service times of all positive customers are distributed with aÐ common general distribution function B(t) ¼ 1 2 expf2 t0 m(v)dvg with mean 1/m , 1. These service times and the two arrival processes of positive and negative customers are mutually independent. 6.1.1 Solution for the RCA model: We first consider the model subject to the RCA removal rule. On the basis of reachability analysis, any reachable state of the model can be obtained with the denotation SystemServer,i,j , where i and j identify the numbers of customers in the system and the phase, respectively. Since there are two distinct arrival processes, the phase j is a two-dimensional vector, that is j ¼ ( j1 , j2), where j1 and j2 denote the phases of the arrivals of positive and negative customers at the same time, respectively. Let System(t) [ ds(System) denote the system state at time t; J1(t) and J2(t) denote the phases of the arrivals of positive and negative customers at time t, respectively; S(t) represent the elapsed service time received by a customer with the service time up to time t if i . 0, while it denotes the elapsed service time since the last service completion during a busy period up to time t if i ¼ 0. As stated in Li and Zhao [21], we are careful with the following stationary probabilities, which are crucial to calculate the performance measures.

The weak isomorphism relation is not a congruence. It is preserved by all the other operators of PEPABS except competitive choice þ and probabilistic choice p. Preservation by all the other operators can be proved similarly as Proposition 6.7.1 in the work of Hillston [1]. For competitive choice þ and probabilistic choice p, we give an example to illustrate. Consider two models E and F given by E W (t, d1).(t, d2).(b, d3).E and F W (t, d12). (b, d3).F, where the activity duration d12 is distributed as Fd12(t) ¼ Fd1(t) Fd2(t). It can be seen that F is a compact form of E, that is E  F. Given Z W (a, d4).(b, d5).Z, then we can see that E þ Z ï F þ Z from the state transition diagrams shown in Fig. 4.

for x  0, i  0 and j [ [0, m1)  [0, m2). Define that

6

P Server;i ðxÞ ¼ ðP Server;i;ð0;0Þ ðxÞ; . . . ; P Server;i;ð0;m2 1Þ ðxÞ; . . . ;

Examples

To demonstrate the use of PEPABS language for performance evaluation, we present several examples that are important in computer network and communication 8

P Server;i;j ðxÞ ¼ lim PServer;i;j ðt; xÞ t !þ1

¼ lim

t !þ1

PrfSystemðtÞ ¼ SystemServer;i;j ; x  SðtÞ , x þ dxg dx

P Server;i;ðm1 1;0Þ ðxÞ; . . . ; PServer;i;ðm1 1;m2 1Þ ðxÞÞ for i  0, which are row vectors of size m1  m2 . IEE Proc.-Softw.

To determine these stationary probability vectors, their differential equations can be constructed as

with ð þ1

d P ðxÞ ¼ PServer;0 ðxÞ½ðC 1  C 2 Þ þ ðI D2 Þ dx Server;0

þ PServer;k1 ðxÞðD1 IÞ;

k2

k0

0

L ¼ ½C 1  ðC 2 þ D2 Þ1 ðD1 IÞ ð þ1 Pðk; xÞ expfC 2 xg½1  BðxÞdx; Bk ¼

ð18Þ d P ðxÞ ¼ PServer;1 ðxÞ½ðC 1  C 2 Þ  mðxÞI dx Server;1 d P ðxÞ ¼ PServer;k ðxÞ½ðC1  C2 Þ  mðxÞI dx Server;k

Pðk; xÞ expfC 2 xgdBðxÞ;

Ak ¼

k0

0

ð19Þ

ð þ1 exp½ðC 1 þ D1 Þx expfC 2 xg½1  BðxÞdx

T¼ 0

ð20Þ

H 2 ¼

þ1 X

Bj ðI D2 Þ; H 1 ¼ A0 þ H 2

j¼0

with the boundary conditions

H 0 ¼ L½A0 þ TðI D2 Þ; H k ¼ LAk ; k  1

ð þ1

mðxÞP Server;1 ðxÞdx

PServer;0 ð0Þ ¼ 0

þ

þ1 ð þ1 X k¼1

P Server;k ðxÞdxðI D2 Þ

ð21Þ

0

ð þ1

mðxÞP Server;kþ1 ðxÞdx;

PServer;k ð0Þ ¼

k1

ð22Þ

0

and the normalisation condition (ð þ1 P Server;0 ðxÞdx þ 0

þ1 ð þ1 X k¼1

)

Note that P is a transition matrix of GI/G/1 type, following the statement in the above sections, P(0) can be derived based on the RG-factorisation, refer to Theorem 2. Then the stationary probability vectors PServer,i(x) for i  0 can be determined, according to (24) and (25). 6.1.2 Solution for the RCH model: The solution procedure for the RCH model is similar to that for the RCA model, with the only differences arising in the boundary conditions, which are given by ð þ1 P Server;0 ð0Þ ¼ mðxÞPServer;1 ðxÞdx 0

PServer;k ðxÞdx e ¼ 1 ð23Þ

0

ð þ1 P Server;1 ðxÞdxðI D2 Þ

þ

ð28Þ

0

In order to solve (18)– (23), we need to define the conditional probabilities of the MAP with matrix descriptor (C1 , D1) as

ð þ1 0

PServer;0 ðxÞ ¼ P Server;0 ð0Þ expf½C 1  ðC 1  D2 Þxg P Server;k ðxÞ ¼

k X

with

ð26Þ

H0 B H 1 B B H 2 B P ¼ B H 2 B B H 2 @ .. . IEE Proc.-Softw.

H1 A1 A0

H2 A2 A1 A0

H3 A3 A2 A1 A0

1  C C C C C C C A .. .

 Ak ¼

Bk ðI D2 Þ 0

 Ak ; Ak þ Bk ðI D2 Þ

k0

H 1 ¼ ðL; 0Þ; H 1 ¼ ðA0 þ B0 ðI D2 ÞÞ L and Bk for k  0 defined as in the RCA model. Note that P is a transition matrix of M/G/1 type, then P(0) can be obtained according to the RG-factorisation. On the basis of P(0), the stationary probability vectors PServer,i(x) for i  0 of the system are determined.

and 0

ð29Þ

ð25Þ

Substituting (24) and (25) into the boundary equations [(21) and (22)] leads to P(0)P ¼ P(0), where Pð0Þ ¼ ðP Server;0 ð0Þ; P Server;1 ð0Þ; P Server;2 ð0Þ; . . .Þ

k1

ð24Þ

P Server;j ð0Þ½Pðk  j; xÞ expfC 2 xg k1

P Server;kþ1 ðxÞdxðI D2 Þ; 0

Following from (24), (25), (28) and (29), we can obtain P(0)P ¼ P(0), where 0 1 0  0 H1 0 B H 1 A1 A2 A3    C B C B A0 A1 A2    C P¼B ð30Þ C B A0 A1    C @ A .. .

j¼1

 ð1  BðxÞÞ;

ð þ1

þ

P i;j ðk; tÞ ¼ PrfKðtÞ ¼ k; J1 ðtÞ ¼ jjKð0Þ ¼ 0; J1 ð0Þ ¼ ig where K(t) identifies the number of positive arrivals during [0, t). Let P(k, t) be the matrix with entries Pi, j (k, t) for 1  i, j  m1 . On the basis of (18)– (20), we can obtain the expressions for PServer,i(x) as

mðxÞPServer;kþ1 ðxÞdx

P Server;k ð0Þ ¼

ð27Þ

6.2 BMAP/G/1 retrial queue with repairable server In the second example, we consider a batch Markov arrival process (BMAP)/G/1 retrial queue with repairable server, 9

where the life-time of server is exponential and the repair time is general. If an arriving customer finds the server free, the customer obtains service immediately and leaves the system after service completion. Otherwise, if the server is found busy or down, the customer joins the retrial queue and makes a retrial at a later time. The customers in the retrial queue keep making retrials until they receive their requested service. The service time for a customer is cumulative, and after repair the server is as good as new. Assume that the server fails at an experiential rate a. When the server fails, it is repaired immediately and the time required to repair it is a random variable Ð with a general distribution function V(t) ¼ 1 2 expf2 t0 b(v)dvg with mean 1/b , 1. The service times of customers are distributed with aÐ common general distribution function B(t) ¼ 1 2 expf2 t0 m(v)dvg with mean 1/m , 1. Customers arrive to the queueing system according to a BMAP with m phases described by an infinite number of matrices Dk for k  0. The customers in retrial queue behave independently with each other and keep making retrials where the inter-retrial times are i.i.d. exponential distributed random variables with mean inter-retrial time 1/u. All the random variables are mutually independent. Using PEPABS , the model can be specified formally as follows QðiÞ W if

i ¼ 0;

then ðarrive; Dk Þ:QðkÞ;

k0

8 F ¼ Serverf ; > > < B ¼ Server ;

if the server is free at time t if the server is busy at time t b LðtÞ ¼ > ; if the server is under repair R ¼ Server fr > : at time t Serverbr ;

else ðarrive; Dk Þ:Qði þ kÞ þ ðquery; 1=ðiuÞÞ:ðserve; `Þ: ðremove; `Þ:Qði  1Þ þ ðquery; 1=ðiuÞÞ:ðidle; `Þ:QðiÞ;

The activities of Q(i) include: arrive, identifying the arrivals of customers; serve, a response to a query from Q(i) indicating that the server is free and can be available to provide service; the successive remove, just representing the removal of the customer after its service completion; idle, also a response to a query from Q(i) but now occurring in the state of server unavailable, either busy or broken. Note that a serve or an idle activity occurs depending on the server state. Except for the synchronous activities serve, remove and idle, the activities of the server include: fail, indicating the server breakdown either from the server free-state or from the server busy-state; repair, after which the server goes back to the original state before failure and the customer who has been partially served continues its service. The system comprises of the server and the queue. The customers present in the queue are independent with each other, but have identical behaviour to cooperate with the server on any serve, remove or idle activity. To analyse this model, let us first consider its state space. All of the reachable states of the PEPABS model can be obtained on the basis of its derivation graph, where the state at time t is identified by System(t) [ ds(System). Note that the server has four states: Serverf , Serverb , Serverfr and Serverbr , where Serverfr and Serverbr both denote the server under repair. So we can classify the states of the server at time t as follows

k0

Serverf W ðserve; dB Þ:Serverb þ ðfail; 1=aÞ:Serverfr Serverfr W ðidle; 0Þ:Serverfr þ ðrepair; dV Þ:Serverf Serverb W ðremove; 0Þ:Serverf þ ðidle; 0Þ:Serverb

Let S(t) and R(t) denote the elapsed service time and the elapsed repair time at time t, respectively. For this system, we are interested in the following stationary probabilities, just as stated in Li et al. [19].

þ ðfail; 1=aÞ:Serverbr Serverbr W ðidle; 0Þ:Serverbr þ ðrepair; dV Þ:Serverb System W Serverf jjfserve,remove,idleg Qð0Þ Q(i) denotes the queue holding all of the arriving customers in the system, including the one under service and those in retrial queue, where the variable i identifies the number of customers present. On arriving in the system, the length of queue will be increased by the number of k according to Dk . Each customer in the retrial queue queries the server at exponential distributed inter-retrial times, to see if the server is free. If so, it will obtain the service and be removed from the system after the service completion; if not, it will make the next query. In either state, these customers will respond appropriately to the server. Note that the customers in the retrial queue make retrials independently and each one has exponential distributed inter-retrial times with parameter u, then Q(i) behaves as if to make a query at exponential distributed inter-retrial times with mean inter-retrial time 1/(iu). The server has four states, where Serverf and Serverb correspond to the server being either free or busy, Serverfr and Serverbr represent the server under repair which fails from either Serverf or Serverb . 10

P F;i;j ¼ lim P F;i;j ðtÞ t !þ1

¼ lim PrfSystemðtÞ ¼ SystemF;i;j g t !þ1

P B;i;j ðxÞ ¼ lim P B;i;j ðt; xÞ t !þ1

PrfSystemðtÞ ¼ SystemB;i;j ; ¼ lim

t !þ1

x  SðtÞ , x þ dxg dx

PR;i;j ðx; yÞ ¼ lim P R;i;j ðt; x; yÞ t !þ1

PrfSystemðtÞ ¼ SystemR;i;j ; ¼ lim

t !þ1

SðtÞ ¼ x; y  RðtÞ , y þ dyg dy

where i  0, 0  j , m, x  0 and y  0. Let PF;i ¼ ðP F;i;0 ; P F;i;1 ; . . . ; P F;i;m1 Þ P B;i ðxÞ ¼ ðP B;i;0 ðxÞ; P B;i;1 ðxÞ; . . . ; P B;i;m1 ðxÞÞ P R;i ðx; yÞ ¼ ðP R;i;0 ðx; yÞ; P R;i;1 ðx; yÞ; . . . ; P R;i;m1 ðx; yÞÞ IEE Proc.-Softw.

To obtain these stationary probability vectors, the following differential equations of the system are established d ¼ P B;0 ðxÞ ¼ P B;0 ðxÞfD0  ½a þ mðxÞIg dx ð þ1 þ bðyÞP R;0 ðx; yÞdy

ð31Þ

of the RG-factorisation. Let 0 ðkÞ A0 A1 B ðkþ1Þ ðkþ1Þ B A1 A0 B Qk ¼ B ðkþ2Þ A1 B @

0 k X d P B;k ðxÞ ¼ P B;k ðxÞfD0  ½a þ mðxÞIg þ P B;i ðxÞDki dx i¼0 ð þ1 þ bðyÞP R;k ðx; yÞdy; k  1 ð32Þ

RðkÞ l ¼

ð33Þ

þ

PR;i ðx; yÞDki ;

k1

ð34Þ

k0

ð35Þ

0 B B B B R¼B B B @

k  0 ð36Þ

k0

ð37Þ

and the normalisation condition  ð þ1 ð þ1 ð þ1 þ1  X P F;k þ P B;k ðxÞdx þ P R;k ðx; yÞdxdy e ¼ 1 0

0

It follows from (31)– (38) that a level-dependent Markov chain of M/G/1 type [11, 17, 22] is constructed, whose transition matrix is given by 0 ð0Þ 1 A1 A2 A3    A0 B ð1Þ C B A1 Að1Þ A1 A2    C 0 B C B Að2Þ A1    C Að2Þ Q¼B C 1 0 B C ð3Þ ð3Þ B C A1 A0 @ A .. .. . . where Ck ¼

PC ðk; xÞdBðxÞ;

0

AðkÞ 1 ¼



0 k uI 0

0

k0

 ;

k1

 k uI þ D0 D1 ; k0 ¼ C0 I   0 Dkþ1 ; k1 Ak ¼ Ck 0

AðkÞ 0



For meanings of the matrix PC(k, x), readers are referred to the work of Li et al. [19]. Since the transition matrix Q is M/G/1 type, we can determine its stationary probability vector p on the basis IEE Proc.-Softw.

k  0; l  1

k1 k0

0

Rð0Þ 1

Rð0Þ 2

Rð0Þ 3

0

Rð1Þ 1

Rð1Þ 2

0

Rð2Þ 1 0



1

C C C C C C C A .. .

U ¼ diagðU 0 ; U 1 ; U 2 ;   Þ 0 1 0 B G ð1Þ C 0 B C B C ð1Þ B C 0 G G¼B C ð2Þ B C 0 G @ A .. .. . .

0

ð38Þ

ð þ1

^ ðkþ1Þ ; Aiþl Q i;0

where

i¼0

k¼0

k1

Q ¼ ðI  RÞUðI  GÞ

P F;i Dkþ1i þ ðk þ 1ÞuPF;kþ1 ;

P R;k ðx; 0Þ ¼ aP B;k ðxÞ;

A0ðkþ2Þ .. .

Then the RG-factorization for the level-dependent Markov chain of M/G/1 type is given by

0

P B;k ð0Þ ¼

C C C C; C A .. .

A1

ðkÞ ðkþ1Þ U k ¼ AðkÞ 0 þ R1 A1 ;

with the boundary conditions ð þ1 mðxÞP B;k ðxÞdx; P F;k ðk uI  D0 Þ ¼ k X

þ1 X

^ ðkÞ AðkÞ ; G ðkÞ ¼ Q 0;0 1

i¼0

1

i¼0

@ P ðx; yÞ ¼ P R;k ðx; yÞ½D0  bðyÞI @y R;k k X



^ k ¼ 2Q21 Its fundamental matrix is Q k , with the (i, j)th entry (k) ^ denoted by Qi, j for i  0 and j  0. Then the R-measure (k) fR(k) l g, the G-measure fG g and the matrix sequence fUkg can be obtained

0

@ P ðx; yÞ ¼ P R;0 ðx; yÞ½D0  bðyÞI @y R;0

A2

According to the solving procedure provided in the proof of Theorem 2, the stationary probability vector p of P is given by ( p0 ¼ gz0 Pk1 pk ¼ i¼0 pi RðiÞ ki ; k  1 where z0 is the stationary probability vector of the transition matrix U0 of the censored chain of PPto level 0, and the þ1 scalar g is uniquely determined by k¼0 pke ¼ 1. It is clear that the stationary probability vectors PF,i , PB,i(x) and PR, i (x, y) of the system can be obtained based on p. 7

Conclusions

In this paper, we introduce a new and general stochastic process algebra language PEPABS on the basis of block-structured Markov chains and the associated RG-factorisation, which can be used to model and analyse more general models, where activity durations may be allowed to be general distributions and the transition matrices have a general block-partitioned structure. Therefore the PEPABS can be regarded as a necessary generalisation of the ordinary PEPA and PEPA1 ph. 11

We use the PEPABS language to describe a system as an interaction of a PEPA term and a queue. On the basis of the model, the transition matrix of the system can be determined. For more complicated systems, we can construct a Markov chain or a Markov renewal process with blockpartitioned structure, and obtain the stationary probability vector which leads to the performance measures of the system. Numerical examples show that our language can analyse the performance of general models with block-partitioned transition matrices, and the RG-factorisation plays an important role in the type of studies. 8

Acknowledgment

The authors are grateful to the editors and the anonymous referees for their valuable suggestions and insightful comments, and would like to acknowledge that this research was partly supported by the National Natural Science Foundation of China (no. 90412012 and 60373013). 9

References

1 Hillston, J.: ‘A compositional approach to performance modelling’, PhD Thesis, Cambridge University Press, 1996 2 Hillston, J., and Ribaudo, M.: ‘Modelling mobility with PEPA nets’. Proc. 19th Int. Symp. Computer and Information Sciences (ISCIS 2004), Kemer, Turkey, October 2004, pp. 513–522 3 Gilmore, S., Haenel, V., Hillston, J., and Kloul, L.: ‘PEPA nets in practice: modelling a decentralised peer-to-peer emergency medical application’. Proc. 1st European Performance Evaluation Workshop (EPEW 2004), October 2004, Lect. Notes Comput. Sci., 3236, pp. 262– 277 4 Gilmore, S., Hillston, J., Kloul, L., and Ribaudo, M.: ‘Software performance modelling using PEPA nets’. Proc. 4th Int. Workshop on Software and Performance (WOSP 2004), Redwood Shores, California, USA, January 2004, pp. 13–24 5 Benoit, A., Cole, M., Gilmore, S., and Hillston, J.: ‘Evaluating the performance of skeleton-based high level parallel programs’ in Bubak, M., van Albada, D., Sloot, P., and Dongarra, J. (Eds.): Proc. 4th Int. Conf. on Computational Science (ICCS 2004), Part III, June 2004, Lect. Notes Comput. Sci., 3038, pp. 289–296 6 Clark, G., Gilmore, S., Hillston, J., and Thomas, N.: ‘Experiences with the PEPA performance modelling’, IEE Proc. Softw., 1999, 146, (1), pp. 11– 20

12

7 Horva´th, A.: ‘Approximating non-Markovian behavior by Markovian models’. PhD Thesis, Department of Telecommunications, Budapest University of Technology and Economics, 2003 8 El-Rayes, A., Kwiatkowska, M., and Norman, G.: ‘Solving infinite stochastic process algebra models through matrix– geometric methods’, in Hillston, J., and Silva, M. (Eds.): Proc. 7th Int. Workshop on Process Algebras and Performance Modelling (PAPM 1999), Zaragosa, Spain, September 1999, pp. 41–62 9 Neuts, M.F.: ‘Matrix geometric solutions for stochastic models’ (Johns Hopkins University Press, Baltimore, 1981) 10 Li, Q.L., and Zhao, Y.Q.: ‘The RG-factorization in block-structured Markov renewal processes with applications’, in Xun, Z. (Ed.): ‘Observation, theory modeling of atmospheric variability’ (World Scientific, New Jersey, 2004), pp. 545–568 11 Li, Q.L., and Cao, J.: ‘Two types of RG-factorizations of continuous-time level dependent quasi-birth-and-death processes and their applications to stochastic integral functionals’, Stochastic Models, 2004, 20, (3), pp. 299 –340 12 Li, Q.L., and Liu, L.M.: ‘An algorithmic approach on sensitivity analysis of perturbed QBD processes’, Queueing Syst., 2004, 48, (3 –4), pp. 365–397 13 Latouche, G., and Ramaswami, V.: ‘Introduction to matrix analytic methods in stochastic modeling’ in ‘ASA-SIAM series on statistics and applied probability’ (SIAM, Philadelphia, PA, 1999) 14 Li, Q.L., and Zhao, Y.Q.: ‘A constructive method for finding b-invariant measures for transition matrices of M/G/1 type’ in Latouche, G., and Taylor, P.G. (Eds.): ‘Matrix– analytic methods theory and applications’ (World Scientific, New Jersey, 2002), pp. 237– 263 15 Li, Q.L., and Zhao, Y.Q.: ‘Light-tailed asymptotics of stationary probability vectors of markov chains of GI/G/1 type’. Technical Report no. 365 Laboratory for Research in Statistics and Probability, Carleton University and University of Ottawa, 2002 16 Li, Q.L., and Zhao, Y.Q.: ‘b-invariant measure for Markov chains of GI/M/1 type’, Stochastic Models, 2002, 19, (2), pp. 201–233 17 Li, Q.L., and Cao, J.: ‘Censoring constructions and integral functionals of continuous-time level dependent QBD processes with continuous phase variable’. Technical Report, Laboratory for Research in Statistics and Probability, Carleton University and University of Ottawa, Canada, 2002 18 Li, Q.L., Lian, Z.T., and Liu, L.M.: ‘An RG-factorization approach for a BMAP/M/1 generalized processor-sharing queue’, Stochastic Models, 2005, 21, (2– 3), pp. 507– 530 19 Li, Q.L., Zhao, Y.Q., and Ying, Y.: ‘The BMAP/G/1 retrial queue with server subject to breakdowns and repairs’, Ann. Oper. Res., 2006, 141, pp. 233– 270 20 Neuts, M.F.: ‘Structured stochastic matrices of M/G/1 type and their applications’ (Marcel Decker Inc., New York, 1989) 21 Li, Q.L., and Zhao, Y.Q.: ‘A MAP/G/1 queue with negative customers’, Queueing Syst., 2004, 47, (1), pp. 5– 43 22 Li, Q.L., and Zhao, Y.Q.: ‘Block-structured fluid models driven by level dependent QBD processes with either infinite levels or finite levels’, Stochastic Anal. Appl., 2005, 23, (6), pp. 1087– 1112

IEE Proc.-Softw.