Concurrent Processes

Module aims

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)

Learning outcomes

Students can learn basic mathematics behind process algebra and know its application areas

Module syllabus

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. 

Teaching methods

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.

Reading list



Module leaders

Professor Nobuko Yoshida