Project Descriptions

Title: Modelling Biological Interaction by Concurrent Atoms of Mobile Processes

Supervisor: Nobuko Yoshida

Prequisites

This project requires knowledge of info bio as well as concurrency theory. It is also recommended that a student doing this project should also take Models of Concurrent Computation and Introduction to Bioinformatics . In particular (a bit of) knowledge of biology and process algebra such as FSP (Finite State Processes) taught in Concurrency Programming course, CCS, CSP or the pi-calculus is required.

Aims of Project

In the real world, there exists the atoms hypothesis, that is every material can be decomposed into finite elements called atoms. But are there any atoms for computations?

The aim of this project is to learn and implement atoms for concurrent interactive computations. First you will learn about a simple concurrent language called the pi-calculus which is similar with CSP taught in Concurrent Programming course. You will then learn the decomposition rules from the pi-calculus into concurrent interactive atoms. Finally you will implement a graphical toolkit to demonstrate their computation. One of non-trivial and interesting aspects of this project is that you can learn the international level concurrency theory as well as programming for a graphical interface.

The pi-calculus is a very powerful concurrency model, which can be used to design communication-based programming languages. One recent example is a shipping server product, the XLang Scheduler in Microsoft BizTalk Server 2000 . This language is explicitly build on a model from the pi-calculus.

Also the pi-calculus was introduced as a key formal model for XML in a major XML text book (Professional XML 2nd Edition, Wrox Press 2001).

Thus this project is very challenging and fun because you can learn both the pi-calculus, bioinfo and graphics!

Learning Outcomes

Nature of End-Product

A Tool with Good Interface.

Project Timetable

Term 1

To learn about the pi-calculus and its atoms; learn advanced Java, Java-Frash or Visual C++ to implement a graphical interface; to specify and design a toolkit.

Term 2

Implementation of the database, interface, refinement.

References

Available from Nobuko Yoshida (yoshida@doc.ic.ac.uk).
http://www.doc.ic.ac.uk/~yoshida/ (click atoms for concurrent mobile processes ).

Calculi for Mobile Processes