Formal verification of a methodology for the design and production of safety-critical digital systems
Vérification formelle d'une méthodologie pour la conception et la production de systèmes numériques critiques
Résumé
The complexity of digital hardware systems makes it difficult to produce them without the help of computers. The "HILECOP (HIgh LEvel hardware COmponent Programming) methodology" assists the engineers in the design and production of such systems. The context of production is the one of safety-critical digital systems, i.e. systems which failure could result in direct human losses, natural catastrophes, economic disasters, etc. To give an example, the Neurinnov company leverages the HILECOP methodology to produce highly critical medical devices known as neuroprostheses. In HILECOP, engineers rely on a graphical formalism, based on component diagrams and a particular kind of Petri Nets (PNs), to produce a model of a digital system. Then, a computer program turns the model into an intermediary description written in VHDL (Very high speed integrated circuit Hardware Description Language). Finally, an industrial compiler/synthesizer transforms the VHDL description into a concrete physical circuit on an FPGA, or as an ASIC. The use of PNs permits the engineers to describe a formal model of a digital system. The mathematical foundations of PNs enable the use of model-checking techniques. Thus, a proof can be brought that the produced models verify certain soundness properties. However, one transformation step happening in the methodology could alter the behavior of the initial model. The goal of this thesis is to bring the formal proof that the model-to-text transformation from a HILECOP high-level model to a VHDL description is semantic preserving (or behavior preserving); i.e. for all high-level model given as an input to the transformation, the resulting VHDL description behaves similarly. To perform this task, we draw our inspiration from the works pertaining to the formal verification of compilers for programming languages (especially from the certified C compiler CompCert). Specifically, we are interested in proving the property of semantic preservation in the context of deductive verification with proof assistants. In this context, the steps to verify that a transformation is semantic preserving include: (1) the formalization of the execution semantics of thesource representation, (2) of the target representation, (3) the formal description of the transformation, and (4) the proof of a corresponding semantic preservation theorem. In this thesis, these steps have been carried within the framework of the Coq proof assistant. Even though these steps are clearly set, the specificities of the HILECOP model-to-text transformation, compared to compilers for generic programming languages, bring some interesting research challenges. Finally, we have brought the proof on paper that the HILECOP transformation is semantic preserving by demonstrating a related correctness theorem. The full mechanization of the proof using the Coq proof assistant is an ongoing task.
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.
Origine | Version validée par le jury (STAR) |
---|