Supervisor: Nobuko Yoshida
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!
Implementation of the database, interface, refinement.
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