This course gives fundamental knowledge on concurrent computation using formal systems such as Milner's CCS (Calculus of communicating systems) and pi-calculus. The instructor explains several basic notions such as structural congruence and bi-simulation on the pi-calculus. Then, he proceeds to the pi-calculus, which is an extension of CCS by adding name-passing mechanism. The expressiveness of the pi-calculus is explained giving an translation of the lambda calculus and the one of an object-oriented programming language. These formal systems give us the foundation of reasoning of concurrency.
The aim of this course is for students to understand how to describe concurrent notions in the formal systems.
By the end of this course, students will be able to
1) Understand how to formalize the concurrency.
2) Describe concurrent mechanisms formally.
Concurrency, CCS, structural congruence, bi-simulation, pi-calculus, lambda calculus, object oriented language, deadlock
|✔ Specialist skills||Intercultural skills||Communication skills||✔ Critical thinking skills||✔ Practical and/or problem-solving skills|
The course mainly consists of lectures
|Course schedule||Required learning|
|Class 1||Introduction: concurrent system and its formalization||Specified in the class.|
|Class 2||Formalization of concurrent systems using state transition diagrams|
|Class 3||Sequential processes and bisimulation|
|Class 4||Concurrent processes in CCS: structural congruence and reaction rules|
|Class 5||Labelled transitions and strong equivalence|
|Class 6||Observation equivalence in CCS|
|Class 7||Examples in CCS|
|Class 8||Syntax and structural operational semantics of the pi-calculus|
|Class 9||Applications of the pi-calculus|
|Class 10||Object-oriented programming in the pi-calculus|
|Class 11||Commitments and strong bi-simulation|
|Class 12||Observation Equivalence of the pi-calculus|
|Class 13||Examples of description in the pi-calculus|
|Class 14||Several formal systems for the concurrent computation|
Communicating and mobile systems: the pi-calculus, Robin Milner, Cambridge University Press
The Pi-Calculus: a theory of mobile processes, David Sangiorgi and David Walker, Cambridge University Press
Reports(50%) and final examination(50%)
Basic knowledge of automaton theory and computational theory such as the lambda calculus is required.