Personal tools
You are here: Home Tutorials Andrew Phillips, Microsoft Research Cambridge, UK

Andrew Phillips, Microsoft Research Cambridge, UK

Document Actions
Tutorial 4: A Visual Programming Language for Biological Processes

A short CV

Andrew Phillips is a researcher at Microsoft Research Cambridge, where he is using techniques from theoretical computer science to develop programming languages for modelling and simulating biological systems. Andrew received a postgraduate degree in Computer Science from the University of Cambridge, under a scholarship from the Barbados government. He pursued a PhD in the Department of Computing at Imperial College London, where he developed an experimental language for specifying and implementing secure mobile applications. He later joined Microsoft Research Cambridge in 2005, in order to conduct research at the intersection of programming language theory and biological modelling.

Tutorial Abstract:

A Visual Programming Language for Biological Processes

This tutorial presents a visual programming language for simulating and analysing computer models of biological processes. 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 will first be presented using a simple graphical notation, which will subsequently be used to model and simulate a number of biological systems, including genetic oscillators, cytoskeleton growth and an immune system pathway. One of the benefits of the language is its scalability: large models of biological systems can be programmed from simple components in a modular fashion. This will be illustrated by showing how a complex model of an Epidermal Growth Factor Receptor pathway can be decomposed into modules in a compositional way. The tutorial will also present some recent results on how to design robust genetic oscillators in silico by exploiting the modular nature of pi-calculus, together with a novel computational model of MHC class I antigen presentation, a key pathway of the immune system. The examples in the tutorial will be programmed in a fully visual manner using a novel graphical interface. A number of visual analysis and debugging tools for the language will also be presented, including: 3D visualisation of simulations, for debugging the dynamic interactions between components; visualisation of simulation traces as message sequence charts, for analysing the causal relationships between components; visualisation of spatial models, where components can be associated with geometric coordinates that change dynamically over time; a language extension for mobile compartments, for modelling the movement and interactions of cells. More generally, the tutorial will outline a vision of how tools and techniques for programming parallel computer systems can also be used to program complex biological systems.

List of Contents:

- Introduction to stochastic pi-calculus and the message-passing approach
- Basic primitives: production, interaction, binding
- Designing robust genetic oscillators in silico
- A 3D representation for visualising dynamic interactions between components
- A message sequence chart representation for visualising the causal execution history of a simulation
- Modelling actin polymerisation during phagocytosis
- A spatial representation for visualising the location of processes using coordinate geometry
- Decomposing a complex Epidermal Growth Factor Receptor pathway into computational modules
- Modelling MHC class I Antigen Presentation, a key immune system pathway
- Modelling the movement and interaction of certain immune cells during an immune response
- An language extension for simulating mobile compartments

Additional Material:

- Additional material will be made available at http://research.microsoft.com/~aphillip/spim a few days before the tutorial.

Intended Audience:

The tutorial is intended for a general audience. For those not familiar with pi-calculus, the tutorial will be presented in a fully graphical manner so that the content is readily accessible. For those already familiar with pi-calculus, the tutorial will present recent biological results and visualisation extensions of broader interest.