To learn a basic process algebra (mobility and communication via the pi-calculus)
To learn a basic semantics of the pi-calculus
To learn a basic type theory of the pi-calculus (session types)
To learn applications of the pi-calculus (protocols, distributed and concurrent languages based on communications)
Students can learn basic mathematics behind process algebra and know its application areas
To describe process models for specifying and verifying concurrent systems.
In particular, to focus on the pi-calculus, which provide communication via message passing.
Calculi for mobility and its applications: mobility via message passing, the Pi-Calculus, asynchrony, reduction congruence, distributed mobility and applications to Web protocol verifications, and programming languages
Prerequisites: preferences: the contents of (223) Concurrent Programming, but no special knowledge is required.
Two hours per week over nine weeks of combined lectures and tutorials.
*This is a level 7/M course
Written coursework plus a one hour exam at the end of term.