Sémantique et génération de code certifiées pour les langages synchrones à flots de données

par Lélio Brun

Projet de thèse en Mathématiques

Sous la direction de Marc Pouzet et de Timothy Bourke.

Thèses en préparation à Paris Sciences et Lettres , dans le cadre de Sciences Mathématiques de Paris Centre , en partenariat avec DIENS - Département d'informatique de l'École normale supérieure (laboratoire) et de Ecole normale supérieure (établissement de préparation de la thèse) depuis le 01-09-2016 .


  • Résumé

    L'objectif de cette thèse de doctorat est de mettre en oeuvre des modèles sémantiques et des systèmes de preuves au sein d'un prouveur interactif (Coq) pour la spécification d'un langage synchrone à flots de données réaliste et sa compilation vers une plateforme embarquée via le compilateur certifié Compcert. Les solutions théoriques proposées (constructions de langage, modèles sémantiques, techniques de preuve et algorithmes de compilation) seront intégrées au sein d'un compilateur certifié et validées sur des exemples pratiques. Le but est que ces solutions soient suffisamment générales pour servir de base aux évolutions futures des compilateurs industriels de langages à schémas-blocs (tels que la suite SCADE ou la génération de code à partir de modèles Mathworks Simulink discrets).

  • Titre traduit

    Machine-verified Semantics and Code Generation for Realistic Synchronous Dataflow Languages


  • Résumé

    The aim of this PhD thesis is to develop semantic models and proof systems in an interactive theorem prover (Coq) that fully specify a realistic synchronous dataflow language and its compilation via the CompCert certified compiler to a concrete embedded platform. This work will propose theoretical solutions (language design, semantic models, proof techniques, and compilation algorithms) to the above challenges, integrate them into a certified compiler, and validate them on practical examples. It is expected that solutions will be general enough to inform future evolutions of industrial compilers of schema block languages (such as SCADE Suite and code generation from discrete Mathworks Simulink models).