Introduction Syntax Semantics Applications Example Conclusion Towards a spatial stochastic process algebra Vashti Galpin Laboratory for Foundations of Computer Science University of Edinburgh 31 July 2008 Vashti Galpin Towards a spatial stochastic process algebra PASTA 2008
Introduction Syntax Semantics Applications Example Conclusion Introduction ◮ spatial concepts in a stochastic process algebra ◮ location can affect time taken ◮ aims ◮ generality and general results hence wide application ◮ CTMCs and steady state ◮ separation of concerns ◮ performance evaluation ◮ no unnecessary increase in state space ◮ single discovery of state space ◮ efficient experiments Vashti Galpin Towards a spatial stochastic process algebra PASTA 2008
Introduction Syntax Semantics Applications Example Conclusion Introduction (cont.) ◮ examples of locations ◮ nodes in networks ◮ points in n -dimensional space ◮ applications – networks, epidemiology ◮ related research ◮ PEPA nets (Gilmore et al ) ◮ StoKlaim (de Nicola et al ) ◮ biological models – BioAmbients, attributed π -calculus ◮ work in progress ◮ general process algebra then applications and example Vashti Galpin Towards a spatial stochastic process algebra PASTA 2008
Introduction Syntax Semantics Applications Example Conclusion Syntax ◮ L set of locations ◮ P L = 2 L powerset ◮ let L ∈ P L ◮ sequential components S ::= ( α @ L , r ) . S | S + S | C s @ L ◮ model components P ::= P ⊲ ⊳ M P | P / M | C Vashti Galpin Towards a spatial stochastic process algebra PASTA 2008
Introduction Syntax Semantics Applications Example Conclusion Location functions ◮ process location function def ◮ ploc ( C s @ L ) = L ∪ ploc ( S ) where C s @ L = S ◮ ploc ( P ) = . . . ◮ action location function ◮ aloc (( α @ L , r ) . S ) = L ∪ aloc ( S ) ◮ aloc ( P ) = . . . ◮ location function ◮ loc ( P ) = ploc ( P ) ∪ aloc ( P ) ◮ all static definitions ◮ current location function ◮ needs a dynamic definition Vashti Galpin Towards a spatial stochastic process algebra PASTA 2008
Introduction Syntax Semantics Applications Example Conclusion Operational semantics ◮ relation for labels from A × P L × R + L ′ = apref (( α @ L , r ) . S ) ◮ Prefix ( α @ L ′ , r ) ( α @ L , r ) . S − − − − − → S ( α @ L 1 , r 1 ) ( α @ L 2 , r 2 ) → P ′ → P ′ P 1 − − − − − − P 2 − − − − − − 1 2 ◮ Cooperation α ∈ M ( α @ L , R ) → P ′ M P ′ P 1 ⊲ ⊳ M P 2 − − − − − 1 ⊲ ⊳ 2 L = async ( P 1 , P 2 , L 1 , L 2 ) R = rsync ( P 1 , P 2 , L 1 , L 2 , r 1 , r 2 ) ◮ other rules defined in the obvious manner Constant, Choice, Hiding, other two Cooperation rules Vashti Galpin Towards a spatial stochastic process algebra PASTA 2008
Introduction Syntax Semantics Applications Example Conclusion Operational semantics (cont.) ◮ parameterised by three functions ◮ apref – determines location in Prefix rule ◮ async – determines location in Cooperation rule ◮ rsync – determines rate in Cooperation rule ◮ PEPA rate function r 1 r 2 RPEPA ( P 1 , P 2 , L 1 , L 2 , r 1 , r 2 ) = r α ( P 2 ) min( r α ( P 1 ) , r α ( P 2 )) r α ( P 1 ) ◮ can define apref and async for PEPA as well ◮ use of different functions to obtain different process algebras Vashti Galpin Towards a spatial stochastic process algebra PASTA 2008
Introduction Syntax Semantics Applications Example Conclusion Possible interpretations | ploc ( C s ) | = 1 process at one location | ploc ( C s ) | > 1 process is mobile or process at one of some possible locations | aloc ( C s ) | = 1 all actions occur at one location | aloc ( C s ) | > 1 interaction is mobile or actions occur at one of some possible locations ( α @ L , r ) → P ′ , | L | = 1 − − − − synchronisation happens at one location P ( α @ L , r ) → P ′ , | L | > 1 P − − − − synchronisation involves actions or processes at different locations . . . . . . Vashti Galpin Towards a spatial stochastic process algebra PASTA 2008
Introduction Syntax Semantics Applications Example Conclusion And that’s not all ◮ beyond just adding locations, want to use them for performance evaluation ◮ aims ◮ relate locations to each other ◮ want interesting theoretical results ◮ want to minimise time in analysis ◮ graph structure over locations ◮ weighted hypergraph: G = ( L , E , w ) with E ⊆ P L and w : E → R or weighted directed graph ◮ weights modify rates on actions between locations ◮ weights assigned or calculated Vashti Galpin Towards a spatial stochastic process algebra PASTA 2008
Introduction Syntax Semantics Applications Example Conclusion Theoretical results – aim ◮ combine graph and known structures to obtain new results quickly Analysis PEPA model Modified by G Form of result PEPA model P P G ↓ LMTS M M G M ⊚ G = M G ↓ CTMC Q Q G Q � G = Q G ↓ steady state Π � G = Π G Π Π G Vashti Galpin Towards a spatial stochastic process algebra PASTA 2008
Introduction Syntax Semantics Applications Example Conclusion Application – plant epidemiology ◮ epidemiology with spatial aspects ◮ grapevine diseases in vineyards ◮ mealy bug insect – vector for leaf roll disease ◮ two separate issues ◮ delay before vector arrives at uninfected plant – dependent on distance between plants, hence dependent on vineyard layout ◮ delay before newly arrived vector infects plant ◮ three distinct patterns of infection ◮ build models to explain this Vashti Galpin Towards a spatial stochastic process algebra PASTA 2008
Introduction Syntax Semantics Applications Example Conclusion Application – networking ◮ networking performance ◮ scenario ◮ arbitrary topology ◮ single packet traversal through network ◮ processes can be colocated ◮ want to model different traffic situations ◮ choose functions to create process algebra ◮ each sequential component must have single fixed location ◮ communication must be pairwise and directional Vashti Galpin Towards a spatial stochastic process algebra PASTA 2008
Introduction Syntax Semantics Applications Example Conclusion Application – networking (cont.) ◮ functions � if ploc ( S ) = { l } l apref ( S ) = ⊥ otherwise � ( l 1 , l 2 ) if L 1 = { l 1 } , L 2 = { l 2 } async ( P 1 , P 2 , L 1 , L 2 ) = ⊥ otherwise rsync ( P 1 , P 2 , L 1 , L 2 , r 1 , r 2 ) r 1 r 2 r α ( P 2 ) min( r α ( P 1 ) , r α ( P 2 )) · w (( l 1 , l 2 )) r α ( P 1 ) = if L 1 = { l 1 } , L 2 = { l 2 } , ( l 1 , l 2 ) ∈ E ⊥ otherwise Vashti Galpin Towards a spatial stochastic process algebra PASTA 2008
Introduction Syntax Semantics Applications Example Conclusion Example network A Sender B P 1 C P 2 P 3 D P 4 E P 5 P 6 F Receiver Vashti Galpin Towards a spatial stochastic process algebra PASTA 2008
Introduction Syntax Semantics Applications Example Conclusion PEPA model def Sender @ A = ( prepare , ρ ) . Sending @ A def Sending @ A = ( cSto 1 , r 1 ) . ( ack , r ack ) . Sender @ A def Receiver @ F = ( c 6 toR , r 6 ) . Receiving @ F def Receiving @ F = ( consume , γ ) . ( ack , r ack ) . Receiver @ F . . . def ( c 1 to 2 , r ) . P 2 ′ @ C + ( c 3 to 2 , r ) . P 2 ′ @ C + ( c 5 to 2 , r ) . P 2 ′ @ C P 2@ C = def P 2 ′ @ C = ( c 2 to 1 , r ) . P 2@ C + ( c 2 to 3 , r ) . P 2@ C + ( c 2 to 5 , r ) . P 2@ C . . . def Network = ( Sender @ A ⊲ LS ( P 1@ B ⊲ ⊳ L 1 ( P 2@ C ⊲ ⊳ L 2 ( P 3@ C ⊲ ⊳ ⊳ L 3 ( P 4@ D ⊲ ⊳ L 4 ( P 5@ E ⊲ ⊳ L 5 ( P 6@ F ⊲ ⊳ LR Receiver @ F ))))))) Vashti Galpin Towards a spatial stochastic process algebra PASTA 2008
Introduction Syntax Semantics Applications Example Conclusion Graphs ◮ rates: r = r 1 = r 6 = 10 ◮ the weighted graph G has no effect on the rates in the model A B C D E F A 1 1 1 1 B C 1 1 1 D 1 1 1 1 1 1 E F 1 1 1 1 Vashti Galpin Towards a spatial stochastic process algebra PASTA 2008
Introduction Syntax Semantics Applications Example Conclusion Graphs ◮ G 1 represents heavy traffic between C and E A Sender A B C D E F B P 1 A 1 1 B 1 1 C P 2 P 3 D P 4 1 1 0 . 1 C E P 5 D 1 1 1 E 0 . 1 1 1 P 6 F 1 1 1 1 F Receiver Vashti Galpin Towards a spatial stochastic process algebra PASTA 2008
Introduction Syntax Semantics Applications Example Conclusion Graphs ◮ G 2 represents no connectivity between C and E A Sender A B C D E F B P 1 A 1 1 B 1 1 C P 2 P 3 D P 4 1 1 0 C E P 5 D 1 1 1 E 0 1 1 P 6 F 1 1 1 1 F Receiver Vashti Galpin Towards a spatial stochastic process algebra PASTA 2008
Introduction Syntax Semantics Applications Example Conclusion Graphs ◮ G 3 represents high connectivity between colocated processes A Sender A B C D E F B P 1 A 1 1 B 1 1 C P 2 P 3 D P 4 1 10 1 C E P 5 D 1 1 1 E 1 1 1 P 6 F 1 1 1 10 F Receiver Vashti Galpin Towards a spatial stochastic process algebra PASTA 2008
Recommend
More recommend