Teacher(s)
Language
English
> French-friendly
> French-friendly
Prerequisites
Required : skills in discrete mathematics and probability as taught in courses LINFO1114 or LEPL1108
Required : concepts, paradigms, and semantics of programming languages as targeted in course LINFO1104
Required : concepts, paradigms, and semantics of programming languages as targeted in course LINFO1104
Main themes
This course studies the principles, formalisms and tools used to model and analyse concurrent computer systems.
- Models of Concurrent Systems
- Semantics of Concurrent Systems
- Properties of Concurrent Systems
- Verification of Concurrent Systems
Learning outcomes
At the end of this learning unit, the student is able to : | |
Given the learning outcomes of the "Master in Computer Science and Engineering" program, this course contributes to the development, acquisition and evaluation of the following learning outcomes:
|
|
Content
- Models of Concurrent Systems: processes and actions, conditions and choices, concurrency, synchronization, process algebras.
- Semantics of Concurrent Systems: state machines and transition systems, finite and infinite traces, concurrency by interleaving, equivalences and minimization.
- Properties of Concurrent Systems: invariants, safety and liveness properties, temporal logic, refinement relations.
- Verification of Concurrent Systems: model checking, equivalence checking.
Teaching methods
- Lectures
- Exercises (theoretical exercises to master the concepts, followed by computer room session to apply these on concurrent systems)
- Assignments (performed conjointly by two students)
Due to circumstances,all or part of the lectures and exercises may be streamed and recorded for distance learning.
Evaluation methods
- 3 assignments, 10% each = 30% of the final grade.
- Written exam, 70% of the final grade.
The assignments can only be presented during the quadrimester of the course. They cannot be represented in subsequent exam sessions; the grade remains acquired for subsequent sessions.
The use of artificial intelligence tools is allowed within the limits of the guidelines set forth by the University (accountability, autheticity, transparency). In particular, AI can never help to solve exercises or missions, and its usage must always be explicitly documented.
Online resources
Bibliography
Livre de référence (non obligatoire)
- J Magee and J Kramer, Concurrency: State Models and Java Programming (2nd Ed.), Wiley, 2006.
- H Bowman and R Gomez, Concurrency Theory: Calculi and Automata for Modelling Untimed and Timed Concurrent Systems, Springer, 2006.
- AW Roscoe, The Theory and Practice of Concurrency, Prentice Hall, 1998 (http://web.comlab.ox.ac.uk/oucl/work/bill.roscoe/publications/68b.pdf).
- E Clarke, O Grumberg and D Peled, Model Checking, MIT Press, 1999.
- B Bérard et al., Systems and Software Verification, Springer, 2001.
Teaching materials
- Les diapositives de cours ainsi que d'autres informations pertinentes et pratiques relatives au cours seront accessibles sur Moodle.
- Lecture slides and other relevant information pertaining to the course are available on Moodle.
- J Magee and J Kramer, Concurrency: State Models and Java Programming (2nd Ed.), Wiley, 2006.
Faculty or entity