Corner Image AISWeb
The Online Home of Artificial Immune Systems

Home
(Last Modified: 21st October 2013)

Modelling the Immune System



Within the context of the conceptual framework for AIS presented by Stepney et al. 2005, modelling plays an important role in the understanding of the computational aspects of the immune system. There is a vast range of modelling approaches available, each with their own advantages and disadvantages operating at different levels of abstraction. What we try and provide here is a simple overview of some of the techniques that are common place in the immunological world and help us, from a computational and engineering background, understand how the immune system computes.

In the UK, there is a BBSRC funded network, I2M, that is aimed at bringing together immunologists and modellers.  Check out their website for more information.

Quick links to: [Agent Based Modelling ] [Ordinary Differential Equations] [Stochastic Pi-Calculus] [Unified Modelling Language] [Code]




Agent Based Modelling



Back to Top




Ordinary Differential Equations



Back to Top


Stochastic Pi-Calculus



Modelling biology with stochastic pi-calculus provides a conceptually different view from more traditional modelling methods, such as ordinary differential equations (ODEs). For example ODEs are often concerned with modelling biochemical reactions, dealing with molecular densities as variables. Whereas a pi-calculus model specifies individual biochemical components, the semantics of the calculus dictates the possible interactions between components.

A process algebra is a tool from theoretical computer science used to formally specify and analyse concurrent systems, the pi-calculus [1] is such a process algebra. Inherent to the pi-calculus is the expression of mobility, the ability to describe systems which change their configuration (processes exchange links with one another) during a computation. The pi-calculus is simple yet powerful (it can be reduced to the lambda-calculus) and provides a range of tools for qualitative analysis of systems.

The Stochastic pi-calculus [2] extends pi-calculus to allow quantitative analysis of systems by associating all interactions with an exponentially distributed random variable which defines the rate at which interactions occur. Thus the non-determinism of the original pi-calculus is replaced by stochastic race conditions (i.e. the choice that 'fires' first is the one that is choosen). The memorylessness of the exponential distribution provides the markov property and so there is a mapping from a stochastic-pi system to a continuous time markov chain.

Due to the growing similarity between the complexity and parallism of todays computation systems and biology stochastic pi-calculus becomes a remarkably useful tool for biology. The semantics of the pi-calculus control what interactions can occur, the stochastisty with correctly choosen parameters ensure that the interactions proceed at the correct rate.

The behaviour of a model described in stochastic pi-calculus can be understood by: qualitative analysis from the original pi-calculus, observational eqivalence, for example; quantitative analysis via tools provided by continuous time markov chains; and through simulation. Two prominent simulators for biological stochastic pi-calculus models are BioSpi and The Stochastic Pi Machine (SPiM) , both make use of the gillespie algorithm [3] to ensure correct chemical kinetic simulation. The SPiM webpage provides a good starting place for modelling biology stochastic pi-calculus, it provides links to a number of papers and examples SPiM code.

[1] Milner, R.: Communicating and Mobile Systems: the pi-Calculus, Cambridge University Press, 1999
[2] Priami, C.: Stochastic pi-Calculus. The Computer Journal, 38, 578-589, 1995.
[3] Gillespie, D. T.: Exact stochastic simulation of coupled chemical reactions. J. Phys. Chem.,81(25)2340-2361, 1997


Back to Top




Unified Modelling Language



A notation that is now becoming standard in both academia and industry is the Unified Modelling Language (UML). UML is a family of graphical notations, backed by single meta-data that help in the describing and designing of software systems, particularly if they are designed using the object-oriented (OO) way [1], and people now are starting to use UML in a wider context and model biological systems. The systems dynamic behaviour can be described using several different diagrams: collaboration, sequence, state and activity diagrams. A commonly used notation in UML is the class diagram. These describe the attributes, operations and relationships of the object. UML can be used to represent both the static, as well as dynamic, elements in biological systems, and one can develop design patterns that represent commonly occuring designs or processes. These design patterns in the immunology may then serve the development of immune-inspired systems.BioUML and SysUML is an open source software framework for system biology, which is based on UML. SysML customises the UML, the industry standard for modeling software-intensive systems, for systems engineering applications and supports the specificiation, analysis, design, verification and validation of a broad range of systems and systems-of-systems.

[1] Martin Fowler. UML Distilled. Addisson-Wesley, 2004.

Back to Top


Modelling Code





Back to Top


Divider Bar Go to page top