Élaboration d’une méthodologie de vérification formelle des spécifications B dans l’Atelier de Preuve PERF. Application aux exigences de sûreté de fonctionnement des systèmes ferroviaires.
Auteur / Autrice : | Alexandra Halchin |
Direction : | Yamine Aït-Ameur, Neeraj Kumar Singh |
Type : | Thèse de doctorat |
Discipline(s) : | Informatique et Télécommunication |
Date : | Soutenance le 03/12/2021 |
Etablissement(s) : | Toulouse, INPT |
Ecole(s) doctorale(s) : | École doctorale Mathématiques, informatique et télécommunications (Toulouse) |
Partenaire(s) de recherche : | Laboratoire : Institut de Recherche en Informatique de Toulouse (1995-....) |
Jury : | Président / Présidente : Frédéric Mallet |
Examinateurs / Examinatrices : Yamine Aït-Ameur, Neeraj Kumar Singh, Frédéric Mallet, Abderrahmane Feliachi, Julien Ordioni | |
Rapporteurs / Rapporteuses : Christian Attiogbé, Amel Mammar |
Résumé
Dans le contexte du développement des systèmes critiques industriels qui traduisent des exigences de sécurité et de sûreté de première importance, car elles impliquent des vies humaines, un processus de développement de haute qualité doit être mis en place. Ces systèmes ne cessent de se complexifier et sont contrôlés par des programmes logiciels. Afin d'éviter les aléas de l'erreur humaine lors de la conception d'un système, il faut s'assurer que le système vérifie les propriétés de sécurité nécessaires. Une solution pour aider à garantir la sécurité d'un système est d'utiliser les méthodes formelles. La conception de systèmes complexes comprend plusieurs techniques de validation et de vérification. Ces activités conduisent à la définition de langages de modélisation hétérogènes et de techniques d’analyse. Dans ce contexte, le respect des normes de certification devient un enjeu clé de l’ingénierie des systèmes. La réduction de l’hétérogénéité due à la présence de différents langages de modélisation peut être abordée en fournissant un cadre intégré dans lequel les langages et les techniques de modélisation impliqués sont formalisés. Dans un tel cadre, la vérification du respect des exigences globales sur des modèles hétérogènes d’un système critique complexe devient possible dans de nombreux cas. Les travaux présentés dans cette thèse abordent le problème de la vérification intégrée des modèles de conception des systèmes dans le contexte des systèmes de transport, en particulier des systèmes ferroviaires. Il a été réalisé dans le cadre du projet B-PERFect de la RATP visant à appliquer une vérification formelle en utilisant l’approche PERF sur des modèles critiques de logiciels embarqués du domaine ferroviaire exprimés dans un seul langage de modélisation : High Level Languge (HLL). Nous discutons également de la vérification intégrée au niveau du système. La méthode proposée pour la vérification des logiciels critiques est une approche ascendante, qui va du code source à la spécification de haut niveau. Ce travail porte sur le cas particulier de la méthode B. Il présente une traduction certifiée des modèles formels B en modèles HLL. L’approche proposée utilise Isabelle/HOL comme cadre logique unifié pour décrire la sémantique formelle et formaliser la relation de transformation entre les deux langages de modélisation. Les modèles Isabelle/HOL développés sont prouvés afin de garantir la correction de la traduction, en vue d'une validation formelle. De plus, une relation de bisimulation faible a été utilisé pour démontrer l’équivalence sémantique entre le langage source B et le langage cible HLL. Dans cette thèse, nous présentons également l'implémentation des règles syntaxiques de transformation dans le prototype d'outil B2HLL. De plus, nous montrons le processus d’animation de modèle que nous avons mis en place pour valider l’outil de traduction B2HLL par rapport aux règles de transformation que nous avons définies, formalisées dans Isabelle/HOL. Cette approche nous aide à valider les définitions, les lemmes et les théorèmes de cette formalisation. Nous avons utilisé l’outil B2HLL pour traduire plusieurs modèles B, et nous montrons également que lorsque les modèles sont traduits dans ce langage de modélisation unifié, HLL, il devient possible de gérer la vérification des propriétés exprimées à travers différents modèles.