@article{Phillips-PDPA08 ,author = {Andrew Phillips} ,title = {Specifying and Implementing Secure Mobile Applications} ,journal = {Process Algebra for Parallel and Distributed Processing} ,year = {2008} ,note = {In press} } @article{Blossey-Cardelli-Phillips-HFSP08 ,author = {Ralf Blossey and Luca Cardelli and Andrew Phillips} ,title = {Compositionality, Stochasticity and Cooperativity in Dynamic Models of Gene Regulation} ,journal = {HFSP Journal} ,year = {2008} ,month = {February} ,volume = {2} ,number = {1} ,pages = {17--28} ,doi = {10.2976/1.2804749} ,publisher = {HFSP Publishing} ,abstract = { We present an approach for constructing dynamic models for the simulation of gene regulatory networks from simple computational elements. Each element is called a "gene gate" and defines an input/output-relationship corresponding to the binding and production of transcription factors. The proposed reaction kinetics of the gene gates can be mapped onto stochastic processes and the standard ode-description. While the ode-approach requires fixing the system’s topology before its correct implementation, expressing them in stochastic pi-calculus leads to a fully compositional scheme: network elements become autonomous and only the input/output relationships fix their wiring. The modularity of our approach allows to pass easily from a basic first-level description to refined models which capture more details of the biological system. As an illustrative application we present the stochastic repressilator, an artificial cellular clock, which oscillates readily without any cooperative effects. } } @article{Borgstroem-Gordon-Phillips-ENTCS08 ,author = {Johannes Borgstroem and Andrew Gordon and Andrew Phillips} ,title = {A Chart Semantics for the Pi-calculus} ,journal = {Electronic Notes in Theoretical Computer Science} ,volume = {194} ,number = {2} ,year = {2008} ,month = {January} ,issn = {1571-0661} ,pages = {3--29} ,doi = {http://dx.doi.org/10.1016/j.entcs.2007.11.002} ,publisher = {Elsevier} ,abstract = { We present a graphical semantics for the pi-calculus, that is easier to visualize and better suited to expressing causality and temporal properties than conventional relational semantics. A pi-chart is a finite directed acyclic graph recording a computation in the pi-calculus. Each node represents a process, and each edge either represents a computation step, or a message-passing interaction. Pi-charts enjoy a natural pictorial representation, akin to message sequence charts, in which vertical edges represent control flow and horizontal edges represent data flow based on message passing. A pi-chart represents a single computation starting from its top (the nodes with no ancestors) to its bottom (the nodes with no descendants). Unlike conventional reductions or transitions, the edges in a pi-chart induce ancestry and other causal relations on processes. We give both compositional and operational definitions of pi-charts, and illustrate the additional expressivity afforded by the chart semantics via a series of examples. } } @inproceedings{Phillips-Cardelli-CMSB07 ,author = {Andrew Phillips and Luca Cardelli} ,title = {Efficient, Correct Simulation of Biological Processes in the Stochastic Pi-calculus} ,booktitle = {Computational Methods in Systems Biology} ,year = {2007} ,month = {September} ,publisher = {Springer} ,series = {LNCS} ,volume = {4695} ,pages = {184--199} ,abstract = { This paper presents a simulation algorithm for the stochastic pi-calculus, designed for the efficient simulation of biological systems with large numbers of molecules. The cost of a simulation depends on the number of species, rather than the number of molecules, resulting in a significant gain in efficiency. The algorithm is proved correct with respect to the calculus, and then used as a basis for implementing the latest version of the SPiM stochastic simulator. The algorithm is also suitable for generating graphical animations of simulations, in order to visualise system dynamics. } } @article{Phillips-Cardelli-Castagna-TCSB06 ,author = {Andrew Phillips and Luca Cardelli and Giuseppe Castagna} ,title = {A Graphical Representation for Biological Processes in the Stochastic Pi-calculus} ,journal = {Transactions in Computational Systems Biology} ,year = {2006} ,month = {November} ,publisher = {Springer} ,series = {LNCS} ,volume = {4230} ,pages = {123--152} ,abstract = { This paper presents a graphical representation for the stochastic pi-calculus, which builds on previous formal and informal notations. The graphical representation is used to model a couple of example biological systems, namely a bistable gene network and a mapk signalling cascade. One of the main benefits of the representation is its ability to highlight the existence of cycles, which are a key feature of many biological systems. Another benefit is its ability to animate interactions between system components, in order to clarify the overall system function. The graphical representation can also be used as a front end to a simulator for the stochastic pi-calculus. This complements the existing textual interface to the simulator, with a view to making modelling and simulation of biological systems more accessible to non computer scientists. } } @article{Blossey-Cardelli-Phillips-TCSB06 ,author = {Ralf Blossey and Luca Cardelli and Andrew Phillips} ,title = {A Compositional Approach to the Stochastic Dynamics of Gene Networks} ,journal = {Transactions in Computational Systems Biology} ,year = {2006} ,month = {January} ,publisher = {Springer} ,series = {LNCS} ,volume = {3939} ,pages = {99--122} ,abstract = { We propose a compositional approach to the dynamics of gene regulatory networks based on the stochastic pi-calculus, and develop a representation of gene network elements which can be used to build complex circuits in a transparent and efficient way. To demonstrate the power of the approach we apply it to several artificial networks, such as the repressilator and combinatorial gene circuits first studied in Combinatorial Synthesis of Genetic Networks [1]. For two examples of the latter systems, we point out how the topology of the circuits and the interplay of the stochastic gate interactions influence the circuit behavior. Our approach may be useful for the testing of biological mechanisms proposed to explain the experimentally observed circuit dynamics. } } @proceedings(2020-Science ,title = {Towards 2020 Science} ,booktitle = {Towards 2020 Science} ,editor = {Stephen Emmott and Ehud Shapiro and Stuart Rison and Andrew Phillips and Andrew Herbert} ,publisher = {Microsoft Research} ,isbn = {0955476100} ,month = {March} ,year = {2006} ,abstract = { This report contains the initial findings and conclusions of a group of internationally distinguished scientists who met over an intense three days in July 2005 to debate and consider the role and future of science over the next 14 years towards 2020, and in particular the importance and impact of computing and computer science on science towards 2020. } ) @inproceedings{Phillips-Cardelli-Bioconcur05 ,author = {Andrew Phillips and Luca Cardelli} ,title = {A Graphical Representation for the Stochastic Pi-calculus} ,booktitle = {Concurrent Models in Molecular Biology} ,year = {2005} ,month = {August} ,place = {San Francisco} ,abstract = { This paper presents a graphical representation for the stochastic pi-calculus, which builds on previous formal and informal notations. The graphical representation is used to model a Mapk signalling cascade and an evolved gene network. One of the main benefits of the representation is its ability to clearly highlight the existence of cycles, which are a key aspect of many biological systems. Another advantage is its ability to animate interactions between biological system components, in order to clarify the overall system function. The paper also shows how the graphical representation can be used as a front end to a stochastic simulator for the pi-calculus, in order to allow the direct simulation of graphical models. This complements the existing textual interface of the simulator, with a view to making modelling and simulation of biological systems more accessible to non computer scientists. } } @inproceedings{Phillips-Cardelli-Bioconcur04 ,author = {Andrew Phillips and Luca Cardelli} ,title = {A Correct Abstract Machine for the Stochastic Pi-calculus} ,booktitle = {Concurrent Models in Molecular Biology} ,year = {2004} ,month = {August} ,place = {London} ,abstract = { In this paper, an abstract machine is presented for a variant of the stochastic pi-calculus, in order to correctly model the stochastic simulation of biological processes. The machine is first proved sound and complete with respect to the calculus, and then used as the basis for implementing a stochastic simulator. The correctness of the stochastic machine helps ensure that the simulator is correctly implemented, giving greater confidence in the simulation results. A graphical representation for the pi-calculus is also introduced. } } @inproceedings{Phillips-Yoshida-Eisenbach-Esop04 ,author = {Andrew Phillips and Nobuko Yoshida and Susan Eisenbach} ,title = {A Distributed Abstract Machine for Boxed Ambient Calculi} ,booktitle = {European Symposium on Programming} ,year = {2004} ,month = {April} ,place = {Barcelona} ,series = {LNCS} ,volume = {2986} ,pages = {155--170} ,publisher = {Springer} ,abstract = { Boxed ambient calculi have been used to model and reason about a wide variety of problems in mobile computing. Recently, several new variants of Boxed Ambients have been proposed, which seek to improve on the original calculus. In spite of these theoretical advances, there has been little research on how such calculi can be correctly implemented in a distributed environment. This paper bridges a gap between theory and implementation by defining a distributed abstract machine for a variant of Boxed Ambients with channels. The abstract machine uses a list semantics, which is close to an implementation language, and a blocking semantics, which leads to an efficient implementation. The machine is proved sound and complete with respect to the underlying calculus. A prototype implementation is also described, together with an application for tracking the location of migrating ambients. The correctness of the machine ensures that the work done in specifying and analysing mobile applications is not lost during their implementation. } } @inproceedings{Phillips-Eisenbach-Lister-FTfJP02 ,author = {Andrew Phillips and Susan Eisenbach and Daniel Lister} ,title = {From Process Algebra to Java Code} ,booktitle = {FTfJP'02} ,year = {2002} ,month = {June} ,place = {Málaga} ,publisher = {http://www.cs.kun.nl/~erikpoll/ftfjp/2002.html} ,abstract = { The delta-pi-calculus, a calculus based on the pi-calculus, is a model for mobile distributed computation. The delta-pi-calculus can be used to specify applications, in order to reason about their security and correctness properties. The delta-pi primitives have been implemented as a Java API. The implementation in Java provides a means of bridging the gap between application specification and implementation. } } @phdthesis{Phillips-Thesis06 ,author = {Andrew Phillips} ,title = {Specifying and Implementing Secure Mobile Applications in the Channel Ambient System} ,school = {Imperial College London} ,year = {2006} ,month = {April} ,abstract = { The Internet has grown substantially in recent years, and an increasing number of applications are now being developed to exploit this distributed infrastructure. Mobility is an important paradigm for such applications, where mobile code is supplied on demand and mobile components interact freely within a given network. However, mobile applications are difficult to develop: not only do they involve complex parallel interactions between multiple components, but they must also satisfy strict security requirements. One could argue that the development of such applications requires a rigorous means of describing and reasoning about mobile computation, through the use of an appropriate model. Foundational research by Cardelli and Gordon on the Ambient Calculus has shown that process calculi are a promising approach to modelling mobile computation. This thesis builds on more recent research in the field of process calculi, and presents a new model of computation known as the Channel Ambient calculus, which can be used both to specify mobile applications and to reason about their security properties. The primitives of the model were developed with real-world applications in mind, and are designed to be at a level of abstraction suitable for an application programmer. The thesis also bridges a gap between theory and implementation by defining a distributed abstract machine for the Channel Ambient calculus. The abstract machine uses a list semantics, which is close to an implementation language, and a blocking semantics, which leads to an efficient implementation. The machine is proved sound and complete with respect to the underlying calculus. A prototype implementation is also described, together with an application for tracking the location of migrating ambients. The correctness of the machine ensures that the work done in specifying and analysing mobile applications is not lost during their implementation.} } @manual{Phillips-SPiM ,author = {Andrew Phillips} ,title = {The Stochastic Pi-Machine} ,year = {2007} ,note = {Available from http://research.microsoft.com/\~{}aphillip/spim/} } @manual{Phillips-CAM ,author = {Andrew Phillips} ,title = {The Channel Ambient System} ,year = {2005} ,note = {Available from http://www.doc.ic.ac.uk/\~{}anp/ca.html} }