Introduction à la spécification et vérification des systèmes

Catalogue des cours de Télécom SudParis

Code

IGFF NET 4106

Niveau

M1

Graduate

Graduate

Semestre

Fall

Domaine

Réseaux

Programme

Programme Ingénieur

Langue

Français/French

Crédits ECTS

3

Heures programmées

30

Charge de travail

75

Coordonnateur(s)

Département

  • Réseaux et Services de Télécom

Organisation

Cours/TD/TP/projet/examen :

Acquis d'apprentissage

(1): Building intuition
(2): Standard Concepts
(3): Advanced Topics
(X, p): Practical Application

1 Overview Testing vs. Verification
1.1 Modelling and abstracting real-world systems (1)
1.2 From systems to words, traces and languages (1)
1.3 Reduction of regular expressions to finite automata (2, p)
2 A tour through the landscape of formal methods (1)
2.1 Automata based approaches (1, 2)
2.2 Formal Proof Assistants (1)
2.3 Code analysis (1)
3 Concurrent and distributed systems
3.1 Sequential vs Concurrent execution (2)
3.2 Lamport clocks and happens-before relation (2)
3.3 Resource sharing and mutual exclusion (2, p)
3.4 Commit protocols and other distributed algorithms (3, p)
4 Design, refinement and implementation
4.1 Implementing a design (2, p)
4.2 Composition of sub-systems (3, p)

Compétences CDIO

  • 2.1.1 - Apprendre à poser et formuler les problèmes
  • 2.3.2 - Emergence et interactions dans les systèmes
  • 3.1.2 - Organisation du travail en équipe
  • 3.2.6 - Présentations orales
  • 4.3.1 - Comprendre les besoins et établir les objectifs
  • 4.3.2 - Définir la fonction, le concept et l'architecture
  • 4.3.3 - Ingénierie Système : Modélisation et interfaces
  • 4.5.5 - Test, vérification, validation et certification

Prérequis

Basic background in mathematics and logics, Python (helpful, not compulsory)

Evaluation

Evaluation continue: Des fonctions python ou du code tla+ à rendre
Miniprojet et presentation: Premier projet TLA+ avec présentation et discussion en classe
Projet final: Un projet TLA+

Rattrapage: Projet plus présentation

Formule de l'évaluation

0.4*(évaluation continue) + 0.2*(Mini projet et présentation) + 0.4*(Final Project)