UE Modeling and analysis of concurrent systems

Diplômes intégrant cet élément pédagogique :

Descriptif

Today, most execution platforms are concurrent, ranging from multi-core laptops and mobile devices to large-scale cloud computing and Web services. Thus, the amount of systems that must deal with parallel and distributed aspects is steadily growing. However, it is well-known that such systems are harder to design and more error-prone that sequential software, but there exist methodologies and tools that help designing correct systems. The objective of this course is to study models and languages for concurrent systems, covering software, hardware, and networking protocols. The central topic of this course is concurrency theory, with an overview of high-level languages, lower-level models, and formal semantics. The course also presents verification methods for concurrent systems, including temporal logics, model checking, and equivalence checking to verify the proper behaviour of concurrent systems.

 

Target skills: 

- Understand the key concepts of concurrent systems: parallel and interleaved execution, mutual exclusion, race conditions, deadlocks, livelocks.

- Acquire methodologies to build correct systems at first, to avoid painful issues of debugging poorly-designed systems.

- Discover modern ways of modelling concurrent systems using formal languages

- Get acquainted with software tools that automatically find design mistakes in concurrent systems.

- Discover the ideas of famous computer scientists: Dijkstra, Hoare, Milner, Clarke, Emerson, Sifakis, who all received the prestigious Turing award.

Pré-requis

Knowledge of sequential programming. Some notions of functional programming and/or first-order logic would be a plus.

Compétences visées

- Understand the key concepts of concurrent systems: parallel and interleaved execution, mutual exclusion, race conditions, deadlocks, livelocks.

Informations complémentaires

Méthode d'enseignement : En présence
Lieu(x) : Grenoble - Domaine universitaire
Langue(s) : Anglais