Compilation certifiée de SCADE/LUSTRE

Résumé : Les langages synchrones sont apparus autour des années quatre-vingt, en réponse à un besoin d’avoir un modèle mathématique simple pour implémenter des systèmes temps réel critiques. Dans ce modèle, le temps est découpé en instants discrets durant lesquels tous les composants du système reçoivent et produisent une donnée. Cette modélisation permet des raisonnements beaucoup plus simples en évitant de devoir prendre en compte le temps de calcul de chaque opération. Dans le monde du logiciel critique, la fiabilité du matériel et de son fonctionnement sont primordiaux, et on accepte d’être plus lent si on devient plus sûr. Afin d’augmenter cette fiabilité, plutôt que de concevoir manuellement tout le système, on utilise des machines qui synthétisent automatiquement le système souhaité à partir d’une description la plus concise possible. Dans le cas du logiciel, ce mécanisme s’appelle la compilation, et évite des erreurs introduites par l’homme par inadvertance. Elle ne garantit cependant pas la bonne correspondance entre le système produit et la description donnée. Des travaux récents menés par une équipe INRIA dirigée par Xavier Leroy ont abouti en 2008 au compilateur CompCert d’un sous-ensemble large de C vers l’assembleur PowerPC pour lequel il a été prouvé dans l’assistant de preuve Coq que le code assembleur produit correspond bien à la description en C du programme source. Un tel compilateur offre des garanties fortes de bonne correspondance entre le système synthétisé et la description donnée. De plus, avec les compilateurs utilisés pour le temps réel critique, la plupart des optimisations sont désactivées afin d’éviter les erreurs qui y sont liées. Dans CompCert, des optimisations elles aussi prouvées sont proposées, ce qui pourrait permettre ces passes dans la production de systèmes temps réel critiques sans en compromettre la fiabilité. Le but de cette thèse est d’avoir une approche similaire mais spécifique à un langage synchrone, donc plus approprié à la description de systèmes temps réel critiques que ne l’est le C. Un langage synchrone flots de données semblable à Lustre, nommé Ls, et un langage impératif semblable au langage C, nommé Obc y sont proposés ainsi que leur sémantique formelle et une chaîne de compilation avec des preuves de préservation de sémantique le long de cette chaîne.
Type de document :
Thèse
Autre [cs.OH]. Université Paris Sud - Paris XI, 2013. Français. 〈NNT : 2013PA112018〉
Liste complète des métadonnées

Littérature citée [71 références]  Voir  Masquer  Télécharger

https://tel.archives-ouvertes.fr/tel-00818169
Contributeur : Abes Star <>
Soumis le : vendredi 26 avril 2013 - 10:57:08
Dernière modification le : lundi 26 juin 2017 - 09:27:21
Document(s) archivé(s) le : lundi 3 avril 2017 - 23:51:10

Fichier

VD2_AUGER_CEDRIC_07022013.pdf
Version validée par le jury (STAR)

Identifiants

  • HAL Id : tel-00818169, version 1

Collections

Citation

Cédric Auger. Compilation certifiée de SCADE/LUSTRE. Autre [cs.OH]. Université Paris Sud - Paris XI, 2013. Français. 〈NNT : 2013PA112018〉. 〈tel-00818169〉

Partager

Métriques

Consultations de la notice

882

Téléchargements de fichiers

951