STRUCTURED SOLUTION OF STOCHASTIC DSSP SYSTEMS J. Campos, S. Donatelli, and M. Silva Departamento de Informática e Ingeniería de Sistemas Centro Politécnico Superior, Universidad de Zaragoza jcampos,silva@posta.unizar.es Dipartimento di Informatica, Università ditorino susi@di.unito.it PNPM97, 5th June 1997 1
Outline 1. Motivations and contributions 2. St-DSSP definition and properties 3. Structured solution methods Without an abstract view With abstract view 4. RS expression for St-DSSP 5. CTMC expression for St-DSSP 6. Advantages/disadvantages 2
Motivations St-DSSP are compositional by definition Approximate solution already exploits composition Exact numerical solution? + To work in a class in which properties can be proved without RG construction 3
Contributions Extend the asynchronous approach to a different class of net Put the construction in a general framework to allow an easy extension to other classes 4
DSSP definition S = {P 1... P K B,T 1... T K, Pre, Post, m 0 }, is a DSSP (Deterministically Synchronized Sequential Processes) iff: 1. P i P j =, T i T j =, P i B =, 2. SM i, m 0i is a state machine, strongly connected and 1 bounded 3. buffer b B: (a) Nor sink neither source b 1and b 1, (b) Output private i {1,...,K} such that b T i, (c) Deterministically synchronized p P 1... P K : t, t p = Pre[b, t] =Pre[b, t ]. TI = B B interface transitions. (T 1... T K ) \ TI internal transitions 5
DSSP example c1 b1 T13 c6 T12 c5 a1 I1 a2 I6 c7 T11 I3 c2 Tc2 Tc1 Ta2 Ta1 a3 c4 I5 c3 I4 I2 a4 b2 B = {b1,b2} P 1 P 2 = {a1,a2,a3,a4} = {c1,...,c7} TI = {I1,...,I6} 6
St-DSSP definition Stochastic DSSP (St-DSSP) {S,w} {P, T, Pre, Post, m 0,w} S is a DSSP and w : T IR + is the rate of exponentially distributed firing time Immediate transitions? + Internal Can be reduced in the class Interface Cannot be reduced in the class 7
DSSP properties 1. Live and bounded = home states. 2. For bounded and strongly connected DSSP: Live deadlock-free 3. Let C be the n m incidence matrix. Structurally bounded y IN n : y > 0 y C 0. 4. Deadlock-free a linear programming problem has no integer solution. 5. For live DSSP: bounded it is structurally bounded 6. Structurally live and structurally bounded consistent (i.e., x > 0, C x = 0) and conservative (i.e., y > 0, y C = 0) and rank(c) = E 1 8
Proving ergodicity Step 1: check structural boundedness using statement 3 ; Step 2: check the characterization for structural liveness and structural boundedness using statement 6 ; Step 3: check deadlock-freeness using statement 4 (thus, by statement 2, liveness). Answer = YES if and only if St-DSSP is live and bounded (statement 5 )thusithashome state (statement 1 ), therefore the CTMC is finite and ergodic and all the transitions have non-null throughput. 9
Structuredsolution methods Goal: avoid the explicit construction of RG and Q and its storing How: find (or use) a decomposition into K components Express Q as tensor expression of Q i Compute π Q using the expression, without storing Q 10
Synchronous approach (without an abstract view) 11
Synchronous approach (without an abstract view) RS PS = RS 1... RS K Q = R rowsum(r) R K i=1 R i + w(t) K K i(t) t TS i=1 This is the approach of SAN (Plateau), SGSPN (Donatelli) Synchronized SWN (Haddad -Moreaux) 12
Asynchronous approach (with an abstract view) 13
Asynchronous approach (with an abstract view) RS(S) = z RS(BS) z RS(BS) RS z (S) {z} RS z (LS 1 ) RS z (LS K ) R can be split in sub-blocks R(z, z ) R(z, z) = K i=1 R i(z, z) R(z, z )= K i=1 R i(z, z ) This is the approach proposed for MG (Buchholz -Kemper), HCGSPN (Buchholz) and Asynchronous SWN (Haddad -Moreaux) 14
Structuredsolution of St-DSSP Determine an high level view that can coexist with the original net it is easy to compute. Show that it is possible to work with superset of state space and supermatrix of infinitesimal generator Example Definition 15
Auxiliary systems c1 A14 b1 T13 c6 T12 c5 C56 a1 I1 a2 C34 I6 c7 I3 c2 Ta2 Ta1 A23 T11 Tc2 Tc1 a3 c4 c3 a4 I2 I5 I4 b2 16
Low level b1 a1 I6 I3 I1 Ta2 A14 a2 Ta1 A23 C34 a3 I5 I4 I2 b2 C56 a4 c1 A14 I1 A23 b1 C34 T13 c6 I6 c7 c2 T12 c5 I3 C56 T11 Tc2 Tc1 c4 c3 I2 I5 I4 b2 17
Basic skeleton b1 A14 I6 I3 I1 A23 C34 I5 I4 I2 b2 C56 18
Definitions Equivalence relation R R is defined on P \ B by: p i 1,p i 2 R for p i 1,p i 2 P i iff there exists a non-directed path np in SM i from p i 1 to p i 2 such that np TI = (i.e., containing only internal transitions). Let [p i 1] be the corresponding equivalence classes. [p i 1] h i j 19
Definitions Extended System ES i) P ES = P H 1... H K, with H i = {h i 1,...,h i r(i)} ii) T ES = T ; iii) Pre ES P T = Pre; Post ES P T = Post; iv) for t TI T i : Pre[h i j,t]= Pre[p, t]; p [p i j ] Post[h i j,t]= Post[p, t], p [p i j ] v) m 0 ES [p] =m 0 [p], for all p P ; vi) m 0 ES [h i j]= p [p i j ] m 0[p]. 20
Definitions Low Level Systems LS i LS i (i =1,...,K)ofS is obtained from ES deleting all the nodes in their adjacent arcs. j i (P j (T j \ TI)) and Basic Skeleton BS BS is obtained from ES deleting all the nodes in (P j (T j \ TI)) and their adjacent arcs. j 21
Properties S is a DSSP LS i its low level systems (i =1,...,K), BS its basic skeleton, L(S) the language of S 1. RG(ES) = RG(S) 2. L(S) Ti TI L(LS i), for i =1,...,K. 3. L(S) TI L(BS). 22
Reachability set construction RS z (ES) ={m RS(ES) : m H1... H K B = z} RS z (S) ={m RS(S) such that m RS z (ES):m P1... P K B = m} RS z (LS i )={m i RS(LS i ) : m i H1... H K B = z} PS z (S) ={z B } RS z (LS 1 ) P1 RS z (LS K ) PK PS(S) = z RS(BS) PS z (S) RS(S) PS(S) = z RS(BS) PS z (S) RS z (S) PS z (S) 23
Example of RS construction RS of S RS of S v 1 a1, b1, c1 v 14 a1, c1, b2 v 2 a1, b1, c6 v 15 a4, c3 v 3 a1, b1, c5 v 16 a4, c1, b2 v 4 a4, b1, c1 v 17 a1, b2, c6 v 5 a1, c7 v 18 a1, b2, c5 v 6 a4, b1, c6 v 19 a4, b2, c6 v 7 a4, b1, c5 v 20 a4, b2, c5 v 8 a1, c2 v 21 a3, c1 v 9 a1, c4 v 22 a3, c6 v 10 a4, c7 v 23 a3, c5 v 11 a4, c2 v 24 a2, c1 v 12 a1, c3 v 25 a2, c6 v 13 a4, c4 v 26 a2, c5 24
z 1 z 2 z 3 z 4 RS of BS A14, C56, b1 A14, C34 A14, C56, b2 A23, C56 RS of LS 1 x 1 a1, b1, C56, A14 z 1 x 2 a4, b1, C56, A14 z 1 x 3 a1, C34, A14 z 2 x 4 a4, C34, A14 z 2 x 5 a1, b2, C56, A14 z 3 x 6 a4, b2, C56, A14 z 3 x 7 a3, C56, A23 z 4 x 8 a2, C56, A23 z 4 RS of LS 2 y 1 A14, b1, c1, C56 z 1 y 2 A14, b1, c6, C56 z 1 y 3 A14, b1, c5, C56 z 1 y 4 A14, c7, C34 z 2 y 5 A14, c2, C34 z 2 y 6 A14, c4, C34 z 2 y 7 A14, c3, C34 z 2 y 8 A14, b2, c1, C56 z 3 y 9 A14, b2, c6, C56 z 3 y 10 A14, b2, c5, C56 z 3 y 11 A23, c1, C56 z 4 25 y 12 A23, c6, C56 z 4 y 13 A23, c5, C56 z 4
Counter-example for state space T6 T7 b1 T2 T1 p8 T11 p11 p4 b5 p7 T9 b2 T4 p3 b6 p10 T10 b3 T12 _2 p12 b4 T5 p6 z= [b1, b2, P34, P78] is in RS(BS) [p8, b1, b2, P34] and [p7, b1, b2, P34] are in RS z (LS 1 ) [p3, b1, b2, P78] and [p4, b1, b2, P78] is in RS z (LS 2 ) The cross product gives a PS z equal to [ p3, p8, b1, b2 ] [ p3, p7, b1, b2 ] [ p4, p8, b1, b2 ] [ p4, p7, b1, b2 ] but state [ p4, p8, b1, b2 ] does not belong to the RS of the DSSP 26
CTMC generation Basic idea: split the behaviour in two 1. transitions that change the high level view 2. transitions that do not change the high level view 27
CTMC generation Q = R rowsum(r) For the LS i components: Q i = R i rowsum(r i ) Technique: (1) Consider Q and R in blocks (z, z ), of size RS z (S) RS z (S) (2) Consider Q i and R i in blocks (z, z )ofsize RS z (LS i ) RS z (LS i ) (3) Describe each block of Q and R as tensor expression of the blocks of Q i and R i. 28
CTMC generation Blocks R(z, z) have non null entries that are due only to non interface transitions G(z, z) = K R i(z, z) i=1 Blocks R(z, z )withz z have non null entries that are due only to the firing of transitions in TI. K i (t)(z, z )[m, m ]= 1 if m t m 0 otherwise G(z, z )= t TI z,z w(t) K i=1 K i(t)(z, z ) 29
CTMC definition 1. Transition rates among reachable states are correctly computed z and z RS(BS): R(z, z ) is a submatrix of G(z, z ) 2. Unreachable states are never assigned a nonnull probability m RS(S) and m PS(S) \ RS(S) : G[m, m ]=0 30
CTMC example R = R(z 1, z 1 ) R(z 1, z 2 ) R(z 1, z 3 ) R(z 1, z 4 ) R(z 2, z 1 ) R(z 2, z 2 ) R(z 2, z 3 ) R(z 2, z 4 ) R(z 3, z 1 ) R(z 3, z 2 ) R(z 3, z 3 ) R(z 3, z 4 ) R(z 4, z 1 ) R(z 4, z 2 ) R(z 4, z 3 ) R(z 4, z 4 ) G(z 1, z 1 ) = R 1 (z 1, z 1 ) R 2 (z 1, z 1 ) G(z 1, z 2 ) = w(i 3 )(K 1 (I 3 )(z 1, z 2 ) K 2 (I 3 )(z 1, z 2 )) + w(i 6 )(K 1 (I 6 )(z 1, z 2 ) K 2 (I 6 )(z 1, z 2 )) 31
CTMC example R 1 (z 1, z 1 ) R 2 (z 1, z 1 ) x 1 x 2 x 1 w(ta 2 ) x 2 y 1 y 2 y 3 y 1 w(t 13 ) w(t 12 ) y 2 y 3 R(z 1, z 1 )= x 1, x 1, x 1, x 2, x 2, x 2, y 1 y 2 y 3 y 1 y 2 y 3 x 1, y 1 w(t 13 ) w(t 12 ) w(ta 2 ) x 1, y 2 w(ta 2 ) x 1, y 3 w(ta 2 ) x 2, y 1 w(t 13 ) w(t 12 ) x 2, y 2 x 2, y 3 32
CTMC example R(z 1, z 2 )= x 3, x 3, x 3, x 3, x 4, x 4, x 4, x 4, y 3 y 4 y 5 y 6 y 3 y 4 y 5 y 6 x 1, y 1 x 1, y 2 w(i 6 ) x 1, y 3 w(i 3 ) x 2, y 1 x 2, y 2 w(i 6 ) x 2, y 3 w(i 3 ) K 1 (I 3 )(z 1, z 2 )= x 3 x 4 x 1 1 x 2 1 K 2 (I 3 )(z 1, z 2 )= y 4 y 5 y 6 y 7 y 1 y 2 y 3 1 K 1 (I 6 )(z 1, z 2 )= x 3 x 4 x 1 1 x 2 1 K 2 (I 6 )(z 1, z 2 )= y 4 y 5 y 6 y 7 y 1 y 2 1 y 2 33
Computational costs To solve an SPN build the RG, compute the associated CTMC solve the characteristic equation π Q = 0. To solve a DSSP: build the K + 1 auxiliary models, compute the RG i of each auxiliary model, compute the R i (z, z )andk i (t)(z, z )matrices solve the characteristic equation π G = 0 The advantages/disadvant ges depend on the relative size of the re chability graphs of S, BS, and LS i. 34
Storage costs The storage cost of the classical solution method is proportional to RS(S) and to the number of arcs in the RG(S). The storage cost for DSSP is proportional to PS(S), and to the sum of the number of arcs in the K reachability graphs RG i (LS i ). The difference between the number of arcs in RG(S) and the sum of the number of arcs in the K RG i (LS i ) is what makes the method applicable in cases in which a direct solution is not possible, due to the lack of memory to store Q. 35