2016 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  Watanabe Takuo  Yonezaki Naoki 
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 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.

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  
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  
Class 15 Review  


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.

Page Top