Thèse soutenue

Vérification formelle d'une méthodologie pour la conception et la production de systèmes numériques critiques

FR  |  
EN
Auteur / Autrice : Vincent Iampietro
Direction : David DelahayeDavid Andreu
Type : Thèse de doctorat
Discipline(s) : Informatique
Date : Soutenance le 16/12/2021
Etablissement(s) : Montpellier
Ecole(s) doctorale(s) : École doctorale Information, Structures, Systèmes (Montpellier ; 2015-....)
Partenaire(s) de recherche : Laboratoire : Laboratoire d'informatique, de robotique et de micro-électronique (Montpellier ; 1992-....)
Jury : Président / Présidente : Christian Retoré
Examinateurs / Examinatrices : David Delahaye, David Andreu, Christian Retoré, Sandrine Blazy, Frédéric Boniol, Marc Pouzet, David Déharbe
Rapporteurs / Rapporteuses : Sandrine Blazy, Frédéric Boniol

Résumé

FR  |  
EN

La production de systèmes numériques complexes est devenue impossible sans l’aide des ordinateurs. La "méthodologie HILECOP" (HIgh LEvel hardware COmponent Programming) assiste les ingénieurs dans la conception et la production de circuits numériques dans le contexte des systèmes critiques, i.e. systèmes dont le malfonctionnement peut résulter en la perte de vies humaines, des catastrophes naturelles, des désastres économiques, etc. A titre d’exemple, la société Neurinnov applique la méthodologie HILECOP pour la production de neuroprothèses, considérées comme des dispositifs médicaux hautement critiques par la loi de régulation del’UE. Dans HILECOP, les ingénieurs produisent un modèle de système numérique. Ils utilisent un formalisme graphique qui regroupe les diagrammes à composant et un type particulier de Réseaux de Petri (RdP). Ensuite, le modèle est transformé en une représentation textuelle intermédiaire décrite en langage VHDL (Very high speed integrated circuit Hardware Description Language). Finalement, un compilateur/synthétiseur industriel génère un circuit physique, i.e. un ASIC ou sur carte FPGA, depuis la représentation VHDL. Ici, l’utilisation des RdPs est liée au contexte des systèmes critiques. Les RdPs permettent la vérification de propriétés sur les modèles de systèmes numériques grâce à l’application de techniques de model-checking. Cependant, une des transformations décrite dans la méthodologie HILECOP pourrait altérer le comportement (ou sémantique) des modèles initiaux, invalidant ainsi les précédentes étapes de vérification. Le but de cette thèse est de prouver que la transformation modèle-vers-texte de HILECOP, qui génère une description VHDL depuis un modèle de système numérique, préserve le comportement des modèles d’entrée, i.e.: pour tout modèle passé en entrée de la transformation, la description VHDL résultante se comporte de la même manière. Pour prouver cette propriété, nous nous inspirons des travaux menés sur la vérification formelle de compilateurs (notamment sur le compilateur C certifié CompCert). Notre approche est celle de la vérification déductive interactive avec assistants de preuve. Dans ce contexte, les étapes pour établir la propriété de préservation de comportement de la transformation sont: (1) formaliser la sémantique d’exécution de la représentation source, (2) de la représentation cible, (3) décrire la transformation, et (4) prouver un théorème de préservation sémantique. Même en suivant ce processus clairement détaillé, les spécificités de la transformation modèle-vers-texte de HILECOP (comparaît notamment aux compilateurs) apportent de nouvelles questions recherches et des challenges à chaque étape. Dans cette thèse, nous utilisons l’outil d'aide à la preuve Coq pour nous accompagner tout au long du processus. Finalement, nous avons prouvé que la transformation de HILECOP préserve le comportement de tous modèles initiaux. La mécanisation complète de la preuve avec Coq est un travail en cours.