quan�col . ........ . . . ... ... ... ... ... ... ... www.quanticol.eu Population Modelling Vashti Galpin Laboratory for Foundations of Computer Science University of Edinburgh Open Problems in Concurrency Theory Bertinoro 21 June 2014 OPCT, June 2014 1 / 29
Modelling collective adaptive systems quantitatively OPCT, June 2014 2 / 29
Motivation � application area: collective adaptive systems (CAS) � smart transport – buses, bike sharing � smart grid – electricty generation and consumption � we want model to quantitative behaviour of these systems and be able to characterise their performance � we take a population-based approach where there are a large number of identical processes � many processes leads to well-known problem of state space explosion � mitigate this problem with approximation techniques � focus in this talk on a general process algebra approach to modelling populations, moving beyond application to biology OPCT, June 2014 3 / 29
Quantitative modelling Modelling P Language semantic a mapping S a Mathematical Representation a j analysis technique Result R a j OPCT, June 2014 4 / 29
Modelling with PEPA � PEPA [Hillston, 1996] def � two-level grammar, constant definition, C = S S ::= ( a , r ) . S | S + S S | P ⊲ ⊳ ::= P L P multi-way synchronisation (CSP-style) � operational semantics define labelled multi-transition system ( a , r ) � P 1 − − − → P 2 � labelled continuous-time Markov chain (CTMC) � what happens when there are many sequential processes? � assume n sequential constants: C 1 , . . . , C n � each constant has a maximum of m states: S 1 , 1 , . . . , S 1 , m � CTMC has a maximum of n m states OPCT, June 2014 5 / 29
Modelling with PEPA C 1 ⊲ ⊳ L . . . ⊲ ⊳ Modelling P L C n Language CTMC semantic mapping Mathematical S CTMC ( S 1 , j 1 , . . . , S n , j n ) Representation analysis steady state technique ( p 1 , . . . . . . . . . , p n m ) R CTMC Result OPCT, June 2014 6 / 29
Quotienting by bisimilarity � what if many of the sequential processes are the same? � consider the states � ( S 1 , 1 , S 1 , 1 , S 1 , 2 , S 4 , j 4 , . . . , S n , j n ) � ( S 1 , 2 , S 1 , 1 , S 1 , 1 , S 4 , j 4 , . . . , S n , j n ) � both have the same numbers of S 1 , 1 and S 1 , 2 � numeric vector representation � (# S 1 , 1 , # S 1 , 2 . . . # S 1 , m ; . . . . . . ; # S n ′ , 1 , # S n ′ , 2 , . . . # S n ′ , m ) � n ′ is number of different types of sequential constants � introduces functional rates � stochastically bisimilar � smaller state space? � p is the maximum count of any state S i , j � CTMC has a maximum of ( n ′ × m ) p +1 states OPCT, June 2014 7 / 29
Using numeric vector representation C 1 [ x 1 ] ⊲ ⊳ L . . . ⊲ ⊳ Modelling P L C n ′ [ x n ′ ] Language CTMC semantic mapping Mathematical S CTMC (# S 1 , 1 , . . . ; . . . # S n ′ , m ) Representation analysis steady state technique R CTMC ( p 1 , . . . . . . , p ( n ′ × m ) p +1 ) Result OPCT, June 2014 8 / 29
Fluid/mean-field approximation � numeric vector representation can still result in a large number of states so use a fluid approximation [Hillston, 2005] � treat subpopulation counts as real rather than integral and express change over time as ordinary differential equations (ODEs) giving one equation for each sequential state: n ′ × m � seldom obtain ODEs with analytical solutions but numerical ODE solution is generally fast � ODE behaviour can approximate CTMC behaviour well if sufficient numbers (together with some other conditions as shown by Kurtz) OPCT, June 2014 9 / 29
Fluid/mean-field approximation Modelling P Language semantic CTMC ODE mapping S CTMC T ODE Mathematical Representation steady state steady state analysis technique R CTMC ≈ R ODE Result OPCT, June 2014 10 / 29
Languages for modelling populations � extensions to PEPA: multiple states per entity � Grouped PEPA [Hayden, Stefanek and Bradley, 2012] � Fluid process algebra [Tschaikowski and Tribastone, 2014] � biological: single state and count per species � Bio-PEPA [Ciocchetta and Hillston, 2009] � Bio-PEPA with compartments [Ciocchetta and Guerriero, 2009] � epidemiological: single state and count per subpopulation � variant of Bio-PEPA with locations [Ciocchetta and Hillston, 2010] OPCT, June 2014 11 / 29
A stochastic population process algebra � stochastic and deterministic semantics � aim to be general but elementary � each entity has a single state and a count � is there a suitable equivalence? � compression bisimulation [Galpin and Hillston, 2011] � start more concretely and then consider more generality � syntax from epidemiological modelling but different semantics OPCT, June 2014 12 / 29
A stochastic population process algebra � subpopulation description def C = ( β 1 , ( κ 1 , λ 1 )) ⊙ C + . . . + ( β m C , ( κ m C , λ m C )) ⊙ C � actions: β i are distinct � in and out stoichiometries: κ i , λ i ∈ N � composition of subpopulations def = C 1 ( n 1 , 0 ) ⊲ ⊳ . . . ⊲ ⊳ ∗ C p ( n p , 0 ) P ∗ � subpopulations: C j are distinct, � initial quantities: n j , 0 ∈ N � minimum and maximum size: M C and N C for each C � range of a subpopulation is N C − M C + 1 � use C ( n ) to distinguish subpopulations with different ranges � P ( n ) defines a composition whose minimum range is n OPCT, June 2014 13 / 29
Operational semantics n C � def = ( β k , ( κ k , λ k )) ⊙ C C k =1 α ∈ { β 1 , . . . , β n C } α, { ( C , n ) } C ( n ) − − − − − − → c C ( n − κ k + λ k ) κ k ≤ n ≤ N C − λ k OPCT, June 2014 14 / 29
� Operational semantics (continued) α, W → c P ′ − − − P α, W ′ Q � − − − → c α, W → c P ′ ⊲ P ⊲ ⊳ ∗ Q − − − ∗ Q ⊳ α, W → c Q ′ − − − Q α, W ′ P − − − → c α, W → c P ′ ⊲ P ⊲ ⊳ ∗ Q − − − ∗ Q ⊳ α, W 1 α, W 2 → c P ′ → c Q ′ P − − − Q − − − α, W 1 ∪ W 2 → c P ′ ⊲ ∗ Q ′ P ⊲ ⊳ ∗ Q − − − − − − ⊳ OPCT, June 2014 15 / 29
Operational semantics (continued) α, W → c P ′ − − − P α, f α ( W ) → s P ′ P − − − − − � f α : ( C → N ) → R ≥ 0 where C is the set of subpopulations � f α may make reference to M C and N C α, r � Markov chain semantics are given by − − → s � ODE semantics can be derived from C 1 ( n 1 , 0 ) ⊲ ⊳ ∗ . . . ⊲ ⊳ ∗ C p ( n p , 0 ) � hybrid semantics by mapping to stochastic HYPE [Galpin 2014] � dynamic switching between stochastic and deterministic semantics for each action depending on subpopulation size or rate OPCT, June 2014 16 / 29
Example def = ( α 1 , (1 , 0)) ⊙ A + ( α 2 , (0 , 1)) ⊙ A + ( α 3 , (2 , 0)) ⊙ A A def = ( α 3 , (0 , 1)) ⊙ B B def = ( α 1 , (0 , 1)) ⊙ C + ( α 2 , (1 , 0)) ⊙ C C OPCT, June 2014 17 / 29
Example def = ( α 1 , (1 , 0)) ⊙ A + ( α 2 , (0 , 1)) ⊙ A + ( α 3 , (2 , 0)) ⊙ A A def = ( α 3 , (0 , 1)) ⊙ B B def = ( α 1 , (0 , 1)) ⊙ C + ( α 2 , (1 , 0)) ⊙ C C OPCT, June 2014 17 / 29
Example def = ( α 1 , (1 , 0)) ⊙ A + ( α 2 , (0 , 1)) ⊙ A + ( α 3 , (2 , 0)) ⊙ A A def = ( α 3 , (0 , 1)) ⊙ B B def = ( α 1 , (0 , 1)) ⊙ C + ( α 2 , (1 , 0)) ⊙ C C OPCT, June 2014 17 / 29
Example def = ( α 1 , (1 , 0)) ⊙ A + ( α 2 , (0 , 1)) ⊙ A + ( α 3 , (2 , 0)) ⊙ A A def = ( α 3 , (0 , 1)) ⊙ B B def = ( α 1 , (0 , 1)) ⊙ C + ( α 2 , (1 , 0)) ⊙ C C OPCT, June 2014 17 / 29
Example def = ( α 1 , (1 , 0)) ⊙ A + ( α 2 , (0 , 1)) ⊙ A + ( α 3 , (2 , 0)) ⊙ A A def = ( α 3 , (0 , 1)) ⊙ B B def = ( α 1 , (0 , 1)) ⊙ C + ( α 2 , (1 , 0)) ⊙ C C � consider A (5) ⊲ ⊳ ∗ B (0) ⊲ ⊳ ∗ C (0) and A (7) ⊲ ⊳ ∗ B (0) ⊲ ⊳ ∗ C (0) � express as labelled transition systems in numerical vector representation ( n A , n B , n C ) OPCT, June 2014 17 / 29
Example (continued) α 1 α 1 α 1 α 1 α 1 (5 , 0 , 0) (4 , 0 , 1) (3 , 0 , 2) (2 , 0 , 3) (1 , 0 , 4) (0 , 0 , 5) α 2 α 2 α 2 α 2 α 2 α 3 α 3 α 3 α 3 α 1 α 1 α 1 (3 , 1 , 0) (2 , 1 , 1) (1 , 1 , 2) (0 , 1 , 3) α 2 α 2 α 2 α 3 α 3 α 1 (1 , 2 , 0) (0 , 2 , 1) α 2 OPCT, June 2014 18 / 29
Example (continued) α 1 α 1 α 1 α 1 α 1 (5 , 0 , 0) (4 , 0 , 1) (3 , 0 , 2) (2 , 0 , 3) (1 , 0 , 4) (0 , 0 , 5) α 2 α 2 α 2 α 2 α 2 α 3 α 3 α 3 α 3 α 1 α 1 α 1 (3 , 1 , 0) (2 , 1 , 1) (1 , 1 , 2) (0 , 1 , 3) α 2 α 2 α 2 α 3 α 3 α 1 (1 , 2 , 0) (0 , 2 , 1) α 2 α 1 α 1 α 1 α 1 α 1 α 1 α 1 (7 , 0 , 0) (6 , 0 , 1) (5 , 0 , 2) (4 , 0 , 3) (3 , 0 , 4) (2 , 0 , 5) (1 , 0 , 6) (0 , 0 , 7) α 2 α 2 α 2 α 2 α 2 α 2 α 2 α 3 α 3 α 3 α 3 α 3 α 3 α 1 α 1 α 1 α 1 α 1 (5 , 1 , 0) (4 , 1 , 1) (3 , 1 , 2) (2 , 1 , 3) (1 , 1 , 4) (0 , 1 , 5) α 2 α 2 α 2 α 2 α 2 α 3 α 3 α 3 α 3 α 1 α 1 α 1 (3 , 2 , 0) (2 , 2 , 1) (1 , 2 , 2) (0 , 2 , 3) α 2 α 2 α 2 α 3 α 3 α 1 (1 , 3 , 0) (0 , 3 , 1) α 2 OPCT, June 2014 18 / 29
Recommend
More recommend