Raffinement et preuves de systèmes Lustre

par Jan Mikáč

Thèse de doctorat en Informatique. Systèmes et communications

Sous la direction de Paul Caspi.

Soutenue en 2005

à Grenoble, INPG .

    mots clés mots clés


  • Résumé

    Notre thèse se situe dans le domaine des méthodes formelles appliquées aux systèmes réactifs. Nous modélisons et traitons ces systèmes, en continuelle interaction avec leur environnement, grâce au langage synchrone Lustre. D'abord, sur la base d'un travail précurseur, nous établissons pour Lustre une méthode de preuve inductive des propriétés de sûreté. Cette méthode est optimisée, afin de prendre en compte au mieux la dynamique des systèmes. Elle est implémentée dans un outil de preuve, Gloups. Ensuite, suivant le modèle de la méthode B, nous définissons un calcul de raffinement pour Lustre. Ce calcul est à la fois adapté à Lustre et exprimé en ce langage. Les obligations de preuve qui assurent la correction du raffinement peuvent être traitées par Gloups. Pour faciliter le développement, un autre outil, Flush, génère automatiquement les obligations pour Gloups. Ainsi, nous utilisons Lustre à la fois comme langage de programmation et comme cadre formel d'un développement maîtrisé. L'intérêt de ce procédé réside dans la simplicité du langage et dans son adaptation aux systèmes réactifs : en ce domaine, notre méthode de raffinement est suffisamment expressive, sans être inutilement compliquée. Des exemples viennent démontrer l'intérêt de la méthode.


  • Pas de résumé disponible.

  • Titre traduit

    Refinements and proofs of Lustre systems


  • Résumé

    This thesis is set into the domain of formal methods applied to reactive systems. These systems, characterized by their continuous interaction with their environment, are modeled and managed by the means of the synchronous programming language Lustre. Firstly, thanks to a previous work, we build an induction-based proof method of Lustre safety properties. The method is optimized in that it takes into account the dynamics of the systems in the best possible way. We implemented it in the Gloups proof tool. Then we define a refinement calculus for Lustre which follows the B method model. The calculus is both adapted to and expressed in Lustre. The proof obligations which ensure the refinement correctness can be handled by Gloups. In order to simplify the development, another tool called Flush automatically generates the proof obligations for Gloups. Thus we use Lustre as both a programming language and a formal development framework. The interest of our method stems from the simplicity of Lustre and its adaptation to the reactive systems: in this domain, our refinement method is expressive enough, yet not exceedingly complex. To finish, we show the interest on some examples.

Consulter en bibliothèque

La version de soutenance existe sous forme papier

Informations

  • Détails : 1 vol. (155 p.)
  • Notes : Publication autorisée par le jury
  • Annexes : Bibliogr. p. 153-155

Où se trouve cette thèse ?

  • Bibliothèque : Service interétablissements de Documentation (Saint-Martin d'Hères, Isère). Bibliothèque universitaire de Sciences.
  • Non disponible pour le PEB
  • Cote : TS05/INPG/0131
  • Bibliothèque : Service interétablissements de Documentation (Saint-Martin d'Hères, Isère). Bibliothèque universitaire de Sciences.
  • Disponible pour le PEB
  • Cote : TS05/INPG/0131/D
Voir dans le Sudoc, catalogue collectif des bibliothèques de l'enseignement supérieur et de la recherche.