Stochastic Simulation of Biological Systems with Dynamical Compartments

Similar documents
On the Expressive Power of Global and Local Priority in Process Calculi

Stochastic Simulation of Biological Systems with Dynamical Compartment Structure

SPA for quantitative analysis: Lecture 6 Modelling Biological Processes

Modelling Biological Compartments in Bio-PEPA

Modelling biological compartments in Bio-PEPA

Stochastic Simulation.

Varieties of Stochastic Calculi

A core calculus for a comparative analysis of bio-inspired calculi

Review of The π-calculus: A Theory of Mobile Processes

On Compensation Primitives as Adaptable Processes

CoBiC: Context-dependent Bioambient Calculus

Lecture 4 The stochastic ingredient

Where Membrane Meet Complexes

An introduction to process calculi: Calculus of Communicating Systems (CCS)

CoBiC: Context-dependent Bioambient Calculus

Modeling biological systems with delays in Bio-PEPA

STOCHASTIC CHEMICAL KINETICS

Modelling Membranes with Brane Calculi

From CCS to Hybrid π via baby steps. Bill Rounds CSE, U of Michigan

Stochastic Simulation Methods for Solving Systems with Multi-State Species

Population models from PEPA descriptions

Trace Refinement of π-calculus Processes

A Note on Scope and Infinite Behaviour in CCS-like Calculi p.1/32

Stochastic Simulation of Biochemical Reactions

Communication and Concurrency: CCS

Formal Methods and Systems Biology: The Calculus of Looping Sequences

38050 Povo Trento (Italy), Via Sommarive 14 CAUSAL P-CALCULUS FOR BIOCHEMICAL MODELLING

Time and Schedulability Analysis of Stateflow Models

Deducing Interactions in Partially Unspecified Biological Systems

A compartmental model of the camp/pka/mapk pathway in Bio-PEPA

Fast Probability Generating Function Method for Stochastic Chemical Reaction Networks

A Note on the Probabilistic Evolution for P Systems

Efficient Leaping Methods for Stochastic Chemical Systems

Timed Automata VINO 2011

A Model for Molecular Computing: Membrane Systems

Concurrent Processes and Reaction

A Behavioral Congruence for Concurrent Constraint Programming with Nondeterministic Choice

Introduction to Temporal Logic. The purpose of temporal logics is to specify properties of dynamic systems. These can be either

A Deterministic Logical Semantics for Esterel

On Expressiveness and Behavioural Theory of Attribute-based Communication

A Graph Rewriting Semantics for the Polyadic π-calculus

Strong bisimilarity can be opened

Formal Modeling of Biological Systems with Delays

Natural Computing Modelling of the Polynomial Space Turing Machines

Communication and Concurrency: CCS. R. Milner, A Calculus of Communicating Systems, 1980

A MODEL-THEORETIC PROOF OF HILBERT S NULLSTELLENSATZ

COSE312: Compilers. Lecture 17 Intermediate Representation (2)

A π-calculus with preorders

Time and Timed Petri Nets

Business Process Management

Chapter 4: Computation tree logic

FROM ODES TO LANGUAGE-BASED, EXECUTABLE MODELS OF BIOLOGICAL SYSTEMS

An Introduction to Stochastic Simulation

Dynamic Noninterference Analysis Using Context Sensitive Static Analyses. Gurvan Le Guernic July 14, 2007

Time(d) Petri Net. Serge Haddad. Petri Nets 2016, June 20th LSV ENS Cachan, Université Paris-Saclay & CNRS & INRIA

Communicating Parallel Processes. Stephen Brookes

Theory of Computation

Towards a framework for multi-level modelling in Computational Biology

Type Disciplines for Systems Biology

COSE212: Programming Languages. Lecture 1 Inductive Definitions (1)

Expressing Dynamics of Mobile Programs by Typing

Team Semantics and Recursive Enumerability

Towards the use of Simplification Rules in Intuitionistic Tableaux

Models of Concurrency

On the Interpretation of Delays in Delay Stochastic Simulation of Biological Systems

Computational Methods in Systems and Synthetic Biology

Lecture Notes on Data Abstraction

A Shape Calculus for Biological Processes

Complexity Classes in Membrane Computing

Handout 5. α a1 a n. }, where. xi if a i = 1 1 if a i = 0.

On the Interpretation of Delays in Delay Stochastic Simulation of Biological Systems

Static Program Analysis using Abstract Interpretation

Timed Automata. Chapter Clocks and clock constraints Clock variables and clock constraints

Algorithms and Data S tructures Structures Complexity Complexit of Algorithms Ulf Leser

Some investigations concerning the CTMC and the ODE model derived from Bio-PEPA

Lecture 21: Algebraic Computation Models

Interpreting the Full λ-calculus in the π-calculus

Helsinki University of Technology Laboratory for Theoretical Computer Science Research Reports 99

A Weak Bisimulation for Weighted Automata

Lecture 6: Oracle TMs, Diagonalization Limits, Space Complexity

Composition and Decomposition of DPO Transformations with Borrowed Context

2. Component Models: Interface Models by Streams

Communicating and Mobile Systems

Complexity Theory VU , SS The Polynomial Hierarchy. Reinhard Pichler

Models for Concurrency

Outline. Complexity Theory EXACT TSP. The Class DP. Definition. Problem EXACT TSP. Complexity of EXACT TSP. Proposition VU 181.

New Computational Methods for Systems Biology

Computational Modelling in Systems and Synthetic Biology

Lecture 11: Timed Automata

Mathematical Logic. Reasoning in First Order Logic. Chiara Ghidini. FBK-IRST, Trento, Italy

Structure Preserving Bisimilarity,

Cells in silico: a Holistic Approach

Making the unobservable, unobservable

Membrane Systems with Peripheral Proteins: Transport and Evolution

185.A09 Advanced Mathematical Logic

Real-Time Systems. Lecture 10: Timed Automata Dr. Bernd Westphal. Albert-Ludwigs-Universität Freiburg, Germany main

A Graph Rewriting Calculus: Applications to Biology and Autonomous Systems

MPRI 1-22 Introduction to Verification January 4, TD 6: Petri Nets

Groupe de travail. Analysis of Mobile Systems by Abstract Interpretation

A Graphical Representation for the Stochastic Pi-Calculus

Transcription:

Frontmatter Stochastic Simulation of Biological Systems with Dynamical Compartments Cristian Versari versari(at)cs.unibo.it Department of Computer Science University of Bologna Workshop on Computational Approaches to Biology Pisa, October 19, 2007 Versari (UniBO) Simulation with Dynamical Compartments October 19, 2007 1 / 46

Introduction Biochemical Modelling by Process Calculi Modelling of biological systems by means of process calculi: formal, unambiguous specification; compositional description; several kind of analysis: systems of ordinary differential equations; model checking; stochastic simulation. Versari (UniBO) Simulation with Dynamical Compartments October 19, 2007 2 / 46

Introduction Current Languages and Models Current languages allow to model parallel evolution of biological elements and their chemical interaction (reaction); compartments with static or dynamic, flat or nested structure; Stochastic simulation applied to simple models of biochemical pathways with (often) mono-compartment or static multi-compartment structure; well-stirred solutions in fixed-volume compartments. Versari (UniBO) Simulation with Dynamical Compartments October 19, 2007 3 / 46

Introduction What s left? Formalisation and analysis (simulation) of bio-systems will deal with: more detailed (and complex) kinetic models; not well-stirred conditions; physical parameters like temperature, pressure; physical properties of biological elements like spatial position, tridimensional shape, electric charge, mechanical characteristics (resistance, elasticity,... ); multiple compartments with dynamical structure, varying volumes;... Versari (UniBO) Simulation with Dynamical Compartments October 19, 2007 4 / 46

Introduction Simulation is Expensive Stochastic simulation is computationally expensive: current models are simple w.r.t. biological reality; each run of a simulation may require hours for simulating few (milli)seconds of evolution of the system. Remark Long simulations of detailed systems by complex kinetic models may require months! Versari (UniBO) Simulation with Dynamical Compartments October 19, 2007 5 / 46

Introduction Reducing Simulation Time Problem How to reduce simulation time? by using a faster CPU; by parallelisation of the simulation. Versari (UniBO) Simulation with Dynamical Compartments October 19, 2007 6 / 46

Introduction Reducing Simulation Time Problem How to reduce simulation time? by using a faster CPU; by parallelisation of the simulation. Versari (UniBO) Simulation with Dynamical Compartments October 19, 2007 6 / 46

Introduction Reducing Simulation Time Problem How to reduce simulation time? by using a faster CPU; by parallelisation of the simulation. Versari (UniBO) Simulation with Dynamical Compartments October 19, 2007 6 / 46

Introduction Parallelisation Issues Efficiency of parallel implementations of algorithms for simulating bio-systems would be affected by enforced synchrony for the whole system; high throughput between nodes. In particular, parallel implementations of process calculi would deal with mobility of elements; communication overhead for preserving the semantics, depending on communication primitives; bottlenecks, in case of centralised implementations. Versari (UniBO) Simulation with Dynamical Compartments October 19, 2007 7 / 46

Introduction A core calculus Premise Calculi for biological modelling share Purpose several primitives for the description and evolution of the system; the same basic issues towards parallelisation. It would be convenient to develop a core calculus provided with parallel implementation; on top of which other calculi (as many as possible) may be implemented. Versari (UniBO) Simulation with Dynamical Compartments October 19, 2007 8 / 46

The pi@ Calculus π@: a Conservative Core Calculus The π@ Calculus [Versari, ESOP 07] π@ ::= π-calculus + polyadic synch + priority π@ (paillette) features conservative π-calculus extension; polyadic synchronisation for modeling compartment scoping; priority for gaining atomicity of sequences of operations. Versari (UniBO) Simulation with Dynamical Compartments October 19, 2007 9 / 46

The pi@ Calculus π@ Syntax π@ syntax P ::= i I π i.p i P Q!P (ν x)p π ::= τ µ 1 @ @µ n : k(x) µ 1 @ @µ n : k x each channel is represented by a vector of one or more names µ 1,...,µ n ; each input or output action has a priority k; higher priority actions are executed first; priority is static. Versari (UniBO) Simulation with Dynamical Compartments October 19, 2007 10 / 46

The pi@ Calculus π@ Semantics π@ semantics τ / i<k I i (M) τ :k.p + M k P P k P (ν x)p k (ν x)p τ / i<k I i (M N) (µ:k(y).p + M) (µ:k z.q + N) k P{z/y} Q P k P τ / i<k I i (P Q) P P Q P k P P Q Q k P Q Q k Q the only difference from π-calculus semantics is the side condition in red: no additional rules required; the I k (P) function represents the set of actions of priority k ready to be executed by the process P. Versari (UniBO) Simulation with Dynamical Compartments October 19, 2007 11 / 46

The pi@ Calculus Localisation by means of Polyadic Synchronisation Polyadic synchronisation: channels are identified by one or more names π-calculus π@ P c.p P c 1 @c 2.P Compartments may be represented by one of the names of each channel: P c@compartment P.P Q c@compartment Q.Q P and Q may share free names; P and Q may interact iff compartment P = compartment Q. Versari (UniBO) Simulation with Dynamical Compartments October 19, 2007 12 / 46

The pi@ Calculus Atomicity by means of Priority Priority: high-priority reactions happen before lower-priority ones Example S l.p 1 l.p 2 h.q 1 h.q 2 T P 1 P 2 h.q 1 h.q 2 S l.p 1 l.p 2 h.q 1 h.q 2 S 2 l.p 1 l.p 2 Q 1 Q 2 S 3 P 1 P 2 Q 1 Q 2 Each atomic sequence of operations may be encoded as a low priority reaction followed by an unlimited number of high priority reactions: P 1 seq 1.op 11.op 12.op 13 P 2 seq 2.op 21.op 22.op 23 The executions of P 1 and P 2 never overlap Versari (UniBO) Simulation with Dynamical Compartments October 19, 2007 13 / 46

The pi@ Calculus Encodings into π@ Encodings [Versari, ESOP 07, MECBIC 07] Compositional encodings of Bioambients, Brane Calculi, π@ some kinds of P systems (with maximal parallelism!) into π@ have been provided. Versari (UniBO) Simulation with Dynamical Compartments October 19, 2007 14 / 46

The pi@ Calculus Encodings Examples Example Encoding actions [ expel n.p ]c,pc expel@n@c pc. [ ] P c,pc [ exit n.q ]c,pc expel@n@pc(x).. [ Q ] c,x compartment operations are followed by sequences of higher priority actions updating all involved processes (R and S, in the figure) Versari (UniBO) Simulation with Dynamical Compartments October 19, 2007 15 / 46

The Stochastic Pi@ calculus Stochastic π@ Calculus The stochastic π@ calculus [Versari, Busi, CMSB 07] Sπ@ ::= stochastic π-calculus + polyadic synch Sπ@ features: conservative extension of the stochastic π-calculus; limited polyadic synchronisation (two names for each channel); priority as infinite channel rate; channels decorated with informations on volume of modelled elements. Versari (UniBO) Simulation with Dynamical Compartments October 19, 2007 16 / 46

The Stochastic Pi@ calculus Sπ@ Syntax Sπ@ syntax P ::= 0 π π i.p i P Q i I ::= n@c :v(x) n@c :v x!π.p (ν x)p same operators of the π-calculus; same semantics rules of the stochastic π-calculus; channels composed of two names, the second one denoting the compartment; I/O actions followed by molecular volume informations. Versari (UniBO) Simulation with Dynamical Compartments October 19, 2007 17 / 46

The Stochastic Pi@ calculus Modelling with the Stochastic π-calculus Example R : S + T P + Q = S c.p S T rate(c) T c.q P Q parallel processes biochemical elements (e.g. molecules); synchronisation/communication reaction, binding; I/O channel = reaction; rates r associated with reactions channels c by external function r = rate(c); compartments by restriction. Versari (UniBO) Simulation with Dynamical Compartments October 19, 2007 18 / 46

The Stochastic Pi@ calculus Compartments by Polyadic Synchronisation in Sπ@ Example Compartments A, B R : S + T P + Q R A : S A + T A P A + Q A = R B : S B + T B P B + Q B S(x) c@x.p(x) T(x) c@x.q(x) S(a) T(a) rate(c) S(b) T(b) rate(c) S(a) T(b) / P(a) Q(a) P(b) Q(b) polyadic synchronisation = each channel denoted by two names: the first name represents the original π-calculus channel the second one denotes the compartment Versari (UniBO) Simulation with Dynamical Compartments October 19, 2007 19 / 46

The Stochastic Pi@ calculus Dealing with Volumes Remark Stochastic variations of volumes are introduced by expressing the volume of each compartment as the sum of the volumes occupied by each molecule inside it, with v(s j ) = volume occupied by each molecule of species S j Example syntax extended to specify the volume of each (type of) molecule; volume informations (optional) are appended to I/O actions. R : S + T P v(s) = s v(t) = t = S c :s.p S T rate(c) T c :t.q P Versari (UniBO) Simulation with Dynamical Compartments October 19, 2007 20 / 46

Multi-compartment Stochastic Simulation Algorithm Gillespie Stochastic Simulation Algorithm Stochastic Simulation Algorithm (SSA) [Gillespie, JPC 77] molecules collide = react each step of the algorithm = one molecule pair (active) collision one of the most exploited algorithms for stochastic simulation of biochemical systems discrete, stochastic, exact single, adiabatic compartment fixed volume Versari (UniBO) Simulation with Dynamical Compartments October 19, 2007 21 / 46

Multi-compartment Stochastic Simulation Algorithm SSA description Description single compartment of fixed volume V N chemical species, M reaction channels each channel denoted by a (constant) reaction rate (probability) c 1,...,c m each step corresponds to the stochastic choice of one of the M reaction (molecular collision between one molecule pair) the (variable) number of molecules of each species X 1,...,X N determine the number of molecular pairs h 1,...,h m for each reaction (number of combinations for each type of molecular collision = number of ways each reaction may happen) rates and molecular combinations influence the propensity functions a 1,...,a M, closely related to the probability of each reaction to occur Versari (UniBO) Simulation with Dynamical Compartments October 19, 2007 22 / 46

Multi-compartment Stochastic Simulation Algorithm SSA Propensity functions Description rates and molecular combinations influence the propensity functions a 1,...,a M, closely related to the probability of each reaction to occur Example Reaction R : S + T P Propensity function a = X S X T c with a = propensity function of reaction R a directly proportional to the reaction rate c of R the number X S of molecules of species S the number X T of molecules of species T Versari (UniBO) Simulation with Dynamical Compartments October 19, 2007 23 / 46

Multi-compartment Stochastic Simulation Algorithm SSA in detail Algorithm 1 calculate a j = h j c j j 2 calculate a 0 = a j 3 generate randomly z 1,z 2 [0,1[ 4 set τ = a 1 0 log(z 1 1 ) 5 find µ = smallest int s.t. µ j=1 a j > z 2 a 0 6 update X 1,...,X N 7 set t = t + τ 8 go to step 1 N chemical species M reaction channels a 1,...,a M propensity functions c 1,...,c M reaction rates h 1,...,h M molecular combinations for each reaction τ time elapsed before next reaction R µ X 1,...,X N number of molecules of each chemical species t current time Versari (UniBO) Simulation with Dynamical Compartments October 19, 2007 24 / 46

Multi-compartment Stochastic Simulation Algorithm Varying Volume Problem How to extend the SSA in order to handle varying volumes? Solution By unfolding the distinct informations enclosed in the reaction rate. Example R : S + T P a = X S X T c = X S X T V 1 r with a directly proportional to the reaction rate (per unit volume) r of R the numbers X S, X T of molecules of species S, T the inverse of the compartment volume V Versari (UniBO) Simulation with Dynamical Compartments October 19, 2007 25 / 46

Multi-compartment Stochastic Simulation Algorithm Multiple Compartments Problem How to extend the SSA in order to handle multiple compartments? Solution The same type of reaction in distinct compartments represents two distinct reactions: reaction channel shall be denoted not only by the type of reaction but also by the compartment the reaction happens in. Example Reaction R : S + T P Compartments C 1, C 2 = R 1 : S 1 + T 1 P 1 a 1 = X S1 X T1 V1 1 r R 2 : S 2 + T 2 P 2 a 2 = X S2 X T2 V2 1 r Versari (UniBO) Simulation with Dynamical Compartments October 19, 2007 26 / 46

Multi-compartment Stochastic Simulation Algorithm Interaction between Compartments Problem How to deal with stochastic variations of volumes due to interaction between different compartments (e.g. exchange of molecules)? Solution By binding the value of the volume V k of each compartment C k to the internal state of C k, i.e. the number of molecules of each species inside C k : V k = M j=1 v(s j )X k j v(s j ) = volume occupied by each molecule of type S j Xj k = number of molecules of species S j inside compartment C k Versari (UniBO) Simulation with Dynamical Compartments October 19, 2007 27 / 46

Multi-compartment Stochastic Simulation Algorithm Multi-compartment SSA (MSSA) Algorithm 0 calculate V k = v(s i )X k i k 1 calculate aj k = V 1 k hj kr j k,j 2 calculate a 0 = a k j 3 generate randomly z 1,z 2 [0,1[ 4 set τ = a 1 0 log(z 1 1 ) 5 find (µ, ψ) smallest int µ s.t. j=1 ak j > z 2 a 0 ψ k=1 6 update X 1 1,...,X K N 7 set t = t + τ 8 go to step 0 aj k propensity function of reaction R j inside compartment C k r j reaction rate (per unit volume) of reaction R j hj k molecular combinations for reaction R j inside compartment C k τ time elapsed before the next reaction R µ inside C ψ Xi k number of molecules of chemical species S i inside compartment C k t current time Versari (UniBO) Simulation with Dynamical Compartments October 19, 2007 28 / 46

Multi-compartment Stochastic Simulation Algorithm Computational Complexity Algorithm 0 calculate V k = v(s i )X k i k 1 calculate aj k = V 1 k hj kr j k,j 2 calculate a 0 = a k j 3 generate randomly z 1,z 2 [0,1[ 4 set τ = a 1 0 log(z 1 1 ) 5 find (µ, ψ) smallest int µ s.t. j=1 ak j > z 2 a 0 ψ k=1 6 update X 1 1,...,X K N 7 set t = t + τ 8 go to step 0 Computational complexity for each step: 0 O(N C) (chemical species times compartments) 1 O(M C) (reactions channels times compartments) 2 O(C) 3,4 constant 5 O(M C) 6 O(N) 7,8 constant Versari (UniBO) Simulation with Dynamical Compartments October 19, 2007 29 / 46

Multi-compartment Stochastic Simulation Algorithm Enhancement of the MSSA Example System composed of: 10 = N chemical species; 15 = M react. channels; 100 = C compartments; species S, T, P reactant in 3,1,2 reactions respectively. Reaction R 5 : S 5 + T 5 P 5 After the execution of R only changed. 1 compartment volume, 3 species concentration, 6 propensity functions After every computation step only few change. volume values, species concentration, propensity functions Enhancements update only changed values; binary (instead of linear) search for next reaction; = logarithmic (instead of linear) complexity. Versari (UniBO) Simulation with Dynamical Compartments October 19, 2007 30 / 46

Multi-compartment Stochastic Simulation Algorithm Data structures Definition (Dependency Graph) The dependency graph G of a chemical system is a directed graph where each vertex (in the number of C M) corresponds to one of the propensity functions of the system; an edge exists between vertexes V 1 and V 2 iff the firing (in the right compartment) of the reaction associated to V 1 influences the propensity function associated to V 2. Example Versari (UniBO) Simulation with Dynamical Compartments October 19, 2007 31 / 46

Multi-compartment Stochastic Simulation Algorithm Data structures Definition (Non-Cumulative Binary Search Tree) A Non-Cumulative Binary Search Tree (NCBST) is a binary tree complete (all the levels are full, except for the last); where the value associated to each node is equal to the sum of the values of its offspring. Example (a) 41 (b) a 1 + a 2 + a 3 + a 4 + a 5 + a 6 26 15 a 1 + a 2 + a 3 + a 4 a 5 + a 6 11 15 9 6 a 1 + a 2 a 3 + a 4 a 5 a 6 7 4 12 3 a 1 a 2 a 3 a 4 Versari (UniBO) Simulation with Dynamical Compartments October 19, 2007 32 / 46

Multi-compartment Stochastic Simulation Algorithm Sπ@ Features Pros Sπ@: simple (very close to π-calculus syntax); conservative (almost same π-calculus semantics); concise (reactions are specified once, additional informations on compartments and volumes are specified only if required); little implementation effort as extension of SPiM [Phillips, Cardelli, BioConcur 04]; compartments with dynamical structure; cross-compartment elements are straightforwardly and consistently specified; almost unlimited compartment semantics (able to encode Bioambients, Brane Calculi, Projective Brane,...). Versari (UniBO) Simulation with Dynamical Compartments October 19, 2007 33 / 46

Multi-compartment Stochastic Simulation Algorithm MSSA Benefits Pros Multi-compartment stochastic simulation algorithm: low computational complexity (logarithmic) deal with variable volumes and multiple compartments with capability of exchanging molecules between compartments; exact stochastic simulation of many biochemical phenomena (molecular diffusion, osmosis,... ); can be exploited for many other calculi and formalisms (e.g. Bioambients, Brane, Betabinders, P Systems,...). Versari (UniBO) Simulation with Dynamical Compartments October 19, 2007 34 / 46

Parallelisation Issues Parallelisation issues Remark Stochastic process calculi (in particular the π-calculus) embed the notion of priority as extremal probability (infinite rate). Question May priority be implemented also in a parallel system? what kind of priority can be implemented? which communication primitives are required? what the performance gain (or loss!)? Versari (UniBO) Simulation with Dynamical Compartments October 19, 2007 35 / 46

Parallelisation Issues Models of Parallel Systems Process algebras can be exploited for the modelling of different kinds of parallel systems: the π-calculus for non-prioritised systems with point-to-point communication the bπ-calculus [Ene, Muntean, FCT 99] for non-prioritised systems with broadcast-based communication CPG (CCS with priority guards) [Phillips, CONCUR 01] for systems with local priority FAP (a finite fragment of asynchronous CCS with global priority) for systems with global priority Versari (UniBO) Simulation with Dynamical Compartments October 19, 2007 36 / 46

Parallelisation Issues Critical configurations Question Given a CPG or FAP system, may it be encoded into π- or bπ-calculus by preserving its parallelism? Answer Yes. We should provide a proper encoding function. Answer No. We should provide some critical problem that can be solved in CPG or FAP but not in bπ or π: leader election last man standing Versari (UniBO) Simulation with Dynamical Compartments October 19, 2007 37 / 46

Parallelisation Issues Last man standing Example System P P P }{{} n times n = 1 = System P yes n > 1 = System P P no Last man standing: the system is composed of n 1 peer processes the system (i.e. each process) must realise if n = 1 or n > 1 in a distributed way Problem How to detect the presence of other processes without deadlock? Versari (UniBO) Simulation with Dynamical Compartments October 19, 2007 38 / 46

Parallelisation Issues Results [Versari, Busi, Gorrieri, CONCUR 07] Lemma The last man standing problem cannot be solved in π. The last man standing problem cannot be solved in bπ. Lemma The last man standing problem can be solved in CPG. The last man standing problem can be solved in FAP. Versari (UniBO) Simulation with Dynamical Compartments October 19, 2007 39 / 46

Parallelisation Issues Separation Results Theorem There exists no parallel encoding of FAP or CPG into π or bπ. There exists no parallel encoding of FAP into π. Question May priority be implemented / exploited also in parallel systems? Answer Not without some kind of centralised coordination ( = bottleneck), even if we are provided with powerful communication primitives like broadcasting. Versari (UniBO) Simulation with Dynamical Compartments October 19, 2007 40 / 46

Conclusion Conclusion π@ / Sπ@ simple = easy to use and implement; conservative = preserve theoretical results already obtained; deal with variable-volume, dynamical compartments = closer to biological scenario; may encode almost unlimited compartment semantics = low-level implementation of higher-abstraction languages; parallelisation only by centralised implementation = limited performance gain. Versari (UniBO) Simulation with Dynamical Compartments October 19, 2007 41 / 46

Conclusion Future Work Future work implementation of MSSA and Sπ@ MSSA with tau-leaping (approximated simulation but faster) parallel implementation of Sπ@ with performance analysis inclusion of other physical properties (temperature, pressure,...) Versari (UniBO) Simulation with Dynamical Compartments October 19, 2007 42 / 46

The end Conclusion Thank you. Versari (UniBO) Simulation with Dynamical Compartments October 19, 2007 43 / 46

References C. Ene and T. Muntean. Expressiveness of point-to-point versus broadcast communications. In G. Ciobanu and G. Paun, editors, FCT, volume 1684 of Lecture Notes in Computer Science, pages 258 268. Springer, 1999. D. T. Gillespie. Exact stochastic simulation of coupled chemical reactions. J. Phys. Chem., 81(25):2340 2361, 1977. R. Milner. Communicating and mobile systems: the π-calculus. Cambridge University Press, New York, NY, USA, 1999. A. Phillips and L. Cardelli. A correct abstract machine for the stochastic pi-calculus. In Bioconcur 04. ENTCS, August 2004. Versari (UniBO) Simulation with Dynamical Compartments October 19, 2007 44 / 46

References I. Phillips. Ccs with priority guards. In K. G. Larsen and M. Nielsen, editors, CONCUR, volume 2154 of Lecture Notes in Computer Science, pages 305 320. Springer, 2001. C. Versari. A core calculus for a comparative analysis of bio-inspired calculi. In R. D. Nicola, editor, ESOP, volume 4421 of Lecture Notes in Computer Science, pages 411 425. Springer, 2007. C. Versari. Encoding catalytic p systems in pi@. Electr. Notes Theor. Comput. Sci., 171(2):171 186, 2007. C. Versari and N. Busi. Stochastic simulation of biological systems with dynamical compartment structure. In M. Calder and S. Gilmore, editors, CMSB, volume 4695 of Lecture Notes in Computer Science, pages 80 95. Springer, 2007. Versari (UniBO) Simulation with Dynamical Compartments October 19, 2007 45 / 46

References C. Versari, N. Busi, and R. Gorrieri. On the expressive power of global and local priority in process calculi. In L. Caires and V. T. Vasconcelos, editors, CONCUR, volume 4703 of Lecture Notes in Computer Science, pages 241 255. Springer, 2007. Versari (UniBO) Simulation with Dynamical Compartments October 19, 2007 46 / 46