Thèse soutenue

Diagrammes de décision de données pour la vérification de systèmes matériels

FR  |  
EN
Auteur / Autrice : Vincent Beaudenon
Direction : Alain Greiner
Type : Thèse de doctorat
Discipline(s) : Informatique
Date : Soutenance en 2006
Etablissement(s) : Paris 6

Mots clés

FR

Mots clés contrôlés

Résumé

FR

Avec la complexité croissante des systèmes informatiques se pose la question de la mise en oeuvre de méthodes automatiques pour leur vérification formelle. Parmi ces méthodes, le model-checking se fonde sur l'exploration exhaustive du comportement d'un système. Plus celui-ci sera complexe, plus cette exploration se traduira par une explosion combinatoire de l'espace des états du système. Diverses approches ont été proposées pour résoudre ce problème, notamment les méthodes symboliques qui sont bases sur une représentation compacte d'ensembles d'états. Depuis les travaux de R. E. Bryant et la définition des Diagrammes de Décision Binaires (BDD), de nombreuses représentations en DAG d'espaces d'états ont vu le jour, parmi celles-ci, on trouve les Diagrammes de Décision de Données (DDD), qui procurent une représentation compacte d'ensemble d'états et sont pourvus de mécanismes de parcours définis localement pour la réalisation des modifications sur ces états et des opérations ensemblistes. Parallélement, les travaux de G. J. Holzmann ont abouti à la création de l'outil de vérification SPIN, basé sur des méthodes énumératives explicites, pour des systèmes décrits en langage Promela. Ces systèmes sont proches de ceux qui sont utilisés pour la synthèse de haut niveau. Nous proposons une approche de vérification symbolique de systèmes matériels décrits dans un sous-ensemble du langage Promela. La représentation symbolique d'ensembles d'états est basée sur les Diagrammes de Décision de Données qui évitent de d'écrire le système au niveau booléen. Nous présentons d'abord la sémantique du langage Promela ainsi que les DDD puis les mécanismes mis en oeuvre pour la vérification de propriétés de logique CTL. Les conclusions tirées de cette première étape conduisent à proposer l'utilisation des Diagrammes de Décision d'Ensembles (SDD) pour améliorer les performances de la vérification automatique. Nous montrons que, bien que pourvus d'une implémentation et d'une terminologie différentes, il se prévalent du même formalisme que les DDD tout en procurant un étiquetage symbolique des arcs de la structure. Nous expérimentons ensuite cette approche sur des systèmes académiques et sur des systèmes issus d'applications industrielles. Ces expérimentations corroborent nos premiers résultats : les SDD couplés aux méthodes de saturation constituent une alternative sérieuse pour la vérification de systèmes à fort degré de concurrence. Nous proposons des perspectives de recherche pour améliorer encore la vérification de tels systèmes mais également pour introduire le concept de hiérarchie dans la description du système