2018 Concurrent System Theory

Font size  SML

Register update notification mail Add to favorite lecture list
Academic unit or major
Graduate major in Computer Science
Nishizaki Shin-Ya 
Course component(s)
Day/Period(Room No.)
Mon3-4(W834)  Thr3-4(W834)  
Course number
Academic year
Offered quarter
Syllabus updated
Lecture notes updated
Language used
Access Index

Course description and aims

This course gives fundamental knowledge on the 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 a 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.

Student learning outcomes

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

Competencies that will be developed

Specialist skills Intercultural skills Communication skills Critical thinking skills Practical and/or problem-solving skills

Class flow

The course mainly consists of lectures

Course schedule/Required learning

  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 Specified in the class.
Class 3 Sequential processes and bisimulation Specified in the class.
Class 4 Concurrent processes in CCS: structural congruence and reaction rules Specified in the class.
Class 5 Labelled transitions and strong equivalence Specified in the class.
Class 6 Observation equivalence in CCS Specified in the class.
Class 7 Examples in CCS Specified in the class.
Class 8 Syntax and structural operational semantics of the pi-calculus Specified in the class.
Class 9 Applications of the pi-calculus Specified in the class.
Class 10 Object-oriented programming in the pi-calculus Specified in the class.
Class 11 Commitments and strong bi-simulation Specified in the class.
Class 12 Observation Equivalence of the pi-calculus Specified in the class.
Class 13 Examples of description in the pi-calculus Specified in the class.
Class 14 Several formal systems for the concurrent computation Specified in the class.
Class 15 Review Specified in the class.


Communicating and mobile systems: the pi-calculus, Robin Milner, Cambridge University Press

Reference books, course materials, etc.

The Pi-Calculus: a theory of mobile processes, David Sangiorgi and David Walker, Cambridge University Press

Assessment criteria and methods

Reports(50%) and final examination(50%)

Related courses

  • CSC.T261 : Logic in Computer Science
  • MCS.T404 : Logical Foundations of Computing
  • CSC.T422 : Mathematical Theory of Programs
  • CSC.T251 : Automata and Formal Languages
  • CSC.T241 : Fundamentals of Computing

Prerequisites (i.e., required knowledge, skills, courses, etc.)

Basic knowledge of automaton theory and computational theory such as the lambda calculus is required.


The topics given in the lecture can be replaced by the other recent ones.

Page Top