The Stochastic Pi Machine language (SPiM) is a programming language for modelling and simulating complex biological processes in a modular way. The language is based on a computational formalism known as the pi-calculus, and the simulation algorithm is based on standard kinetic theory of physical chemistry. The language features a simple graphical notation for modelling interactions between biological processes, and can be used to model large systems incrementally, by directly composing simpler models of subsystems.
- Andrew Phillips, Matthew Lakin, and Loïc Paulevé, Stochastic Simulation of Process Calculi for Biology, in Electronic Proceedings in Theoretical Computer Science, vol. 40, pp. 1-5, November 2010
- Loïc Paulevé, Simon Youssef, Matthew R. Lakin, and Andrew Phillips, A Generic Abstract Machine for Stochastic Process Calculi, in Computational Methods in Systems Biology, pp. 43--54, September 2010
- Dennis Wang, Luca Cardelli, Andrew Phillips, Nir Piterman, and Jasmin Fisher, Computational modeling of the EGFR network elucidates control mechanisms regulating signal dynamics, in BMC Systems Biology, vol. 3, no. 118, December 2009
- Andrew Phillips, A Visual Process Calculus for Biology, in Symbolic Systems Biology: Theory and Methods, Jones and Bartlett Publishers, In Press, 2009
- Luca Cardelli, Emmanuelle Caron, Philippa Gardner, Ozan Kahramanogullari, and Andrew Phillips, A Process Model of Rho GTP-binding Proteins, in Theoretical Computer Science, Elsevier, 18 May 2009
- Andrew Phillips, An Abstract Machine for the Stochastic Bioambient Calculus, in Electronic Notes in Theoretical Computer Science, vol. 227, pp. 143-159, Elsevier , January 2009
- Luca Cardelli, Emmanuelle Caron, Philippa Gardner, Ozan Kahramanogullari, and Andrew Phillips, A Process Model of Actin Polymerisation, in Electronic Notes in Theoretical Computer Science, vol. 229, no. 1, pp. 127-144, Elsevier, February 2009
- Ralf Blossey, Luca Cardelli, and Andrew Phillips, Compositionality, Stochasticity and Cooperativity in Dynamic Models of Gene Regulation, in HFSP Journal, vol. 2, no. 1, pp. 17–28, HFSP Publishing, February 2008
- Johannes Borgstroem, Andrew Gordon, and Andrew Phillips, A Chart Semantics for the Pi-calculus, in Electronic Notes in Theoretical Computer Science, vol. 194, no. 2, pp. 3–29, Elsevier, January 2008
- Andrew Phillips and Luca Cardelli, Efficient, Correct Simulation of Biological Processes in the Stochastic Pi-calculus, in Computational Methods in Systems Biology, vol. 4695, pp. 184–199, Springer, September 2007
- Andrew Phillips, Luca Cardelli, and Giuseppe Castagna, A Graphical Representation for Biological Processes in the Stochastic Pi-calculus, in Transactions in Computational Systems Biology, vol. 4230, pp. 123–152, Springer, November 2006
- Ralf Blossey, Luca Cardelli, and Andrew Phillips, A Compositional Approach to the Stochastic Dynamics of Gene Networks, in Transactions in Computational Systems Biology, vol. 3939, no. 3939, pp. 99–122, Springer, January 2006
- Andrew Phillips and Luca Cardelli, A Correct Abstract Machine for the Stochastic Pi-calculus, in Concurrent Models in Molecular Biology, August 2004
Andrew Phillips, Luca Cardelli, Matthew Lakin, Filippo Polo, Microsoft Research.
- Luca Cardelli worked on the formal specification of SPiM, the design of the SPiM language, and on extensive testing and debugging.
- Rich Williams developed the Network 3D software for visualising simulations in 3D.
- Stefan Leye assisted with debugging the SPiM scheduling algorithm.
- James Margetson and Luca Cardelli developed the SPiM GUI.
- Pascal Zimmer assisted with debugging the OCaml bytecode distribution.
- The BioSpi project was the main inspiration for SPiM, and many of the SPiM chemical examples are adaptations of earlier BioSpi models.
- The core SPiM language was developed in F#.
- Introductory Tutorial.
- Introductory chapter on SPiM [pdf]
- Introductory slides on SPiM [ppt] [pdf]
- Basic SPiM examples and simulation results [pdf]
- Coupled chemical reactions in SPiM [pdf]
- The SPiM language definition [pdf]