Université Paris 7 École Normale Supérieure de Cachan École Normale Supérieure École Polytechnique
Université Paris 6 Université Paris 11 École Nationale Supérieure des Télécommunications
Centre National de la Recherche Scientifique Commissariat à l'Energie Atomique Institut National de Recherche en Informatique et en Automatique

Master Parisien de Recherche en Informatique

[Accueil] [La formation] [Informations pratiques]


Fondements pour la vérification des systèmes temps-réel (48h, 6 ECTS)

Responsables : Eugène Asarin (LIAFA, Univ. Paris 7) et Paul Gastin (LSV, ENS Cachan).

Cours 2009-2010 : Intervenants

Eugène Asarin, Benedikt Bollig, Serge Haddad.

Horaires du cours :

L'emploi du temps n'est pas encore disponible.

Langues du cours :

À définir entre les étudiants et les intervenants.

Les étudiants seront autorisés à rédiger leur examen en français ou anglais.

Supports de cours :

Pré-requis :

Le cours sera plus facilement accessible aux étudiants ayant quelques connaissances de base sur les automates (automates finis, automates de Büchi, automates d'arbres, automates alternants, ...) De plus, il est conseillé de suivre ou d'avoir suivi le cours M1 «1-22 - Initiation à la vérification».

Motivations et objectifs du cours

Les systèmes informatiques sont de plus en plus répandus (dans les téléphones, les véhicules automobiles, etc.), de plus en plus complexes, et ont très souvent un rôle critique (avions, centrales nucléaires, etc.). Pour ces raisons, la vérification de ce genre de systèmes s'est largement développé ces dernières années.

Plusieurs techniques permettent de s'assurer du bon comportement d'un système informatique. L'approche "naïve", qui consiste à construire puis tester le système, est souvent un passage obligé (comme en attestent les nombreux essais de l'Airbus A380), mais elle n'est généralement pas exhaustive. Les méthodes formelles, basées sur des raisonnements mathématiques, sont donc souvent préférées au moment de la conception des systèmes. L'approche retenue dans ce cours est le model-checking. Elle consiste à modéliser le comportement du système à vérifier, à énoncer formellement les propriétés de correction attendue puis à appliquer des algorithmes pour décider si le modèle satisfait la propriété.

Cette approche nécessite le développement d'outils mathématiques adaptés. D'une part, il faut pouvoir représenter le comportement du système : on peut pour cela utiliser des automates, des algèbres de processus, etc. D'autre part, il faut disposer de langages formelles pour énoncer des propriétés complexes : on peut par exemple utiliser des logiques temporelles, qui permettent de spécifier des propriétés sur l'ordonnancement des actions du système... Enfin le développement d'algorithmes de model-checking (afin de vérifier automatiquement et de manière exhaustive que tous les comportements de l'automate satisfont la propriété) nécessite des techniques très fines pour faire face aux problèmes de complexité.

Dans ce cours, nous présenterons le cadre général de la vérification par model-checking pour les systèmes temps-réel, ainsi que plusieurs extensions classiques (hybrides, probabilistes).

Description du cours

  1. Automates temporisés et hybrides [18h] (Eugène Asarin)
  2. Automates pondérés [15h] (Benedikt Bollig)
  3. Systèmes temporisés probailistes [15h] (Serge Haddad)

Description détaillée

Partie I : Automates temporisés et hybrides

Intervenant : Eugene Asarin.

Partie II : Automates pondérés

Intervenant : Benedikt Bollig.

Partie III : Systèmes temporisés probabilistes

Intervenant : Serge Haddad.

Bibliographie générale

Les années précédentes

Équipe pédagogique

E. Asarin PU Paris 7 LIAFA
B. Bollig CR ENS Cachan LSV
P. Bouyer CR ENS Cachan LSV
S. Demri CR ENS Cachan LSV
P. Gastin PU ENS Cachan LSV
S. Haddad PU ENS Cachan LSV
F. Laroussinie PU Paris 7 LIAFA
N. Markey CR ENS Cachan LSV
A. Petit PU ENS Cachan LSV

[English version]