Un environnement formel pour la sémantique des systèmes hétérogènes
Auteur / Autrice : | Mathieu Montin |
Direction : | Yamine Aït-Ameur, Marc Pantel |
Type : | Thèse de doctorat |
Discipline(s) : | Informatique et Télécommunication |
Date : | Soutenance le 14/09/2020 |
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 : Jean-Paul Bodeveix |
Examinateurs / Examinatrices : Yamine Aït-Ameur, Marc Pantel, Frédéric Mallet, Catherine Dubois, Benoît Combemale, Frédéric Boulanger | |
Rapporteurs / Rapporteuses : Frédéric Mallet, Catherine Dubois |
Mots clés
Résumé
Les systèmes cyber-physiques sont des systèmes habituellement complexes et souvent critiques, dans le sens où leur défaillance peut avoir des impacts négatifs significatifs sur des vies humaines. Lors de leur développement, il convient donc de mettre l’accent sur les phases de validation et vérification (V & V) afin de prouver que le système satisfait sa spécification et les exigences de l’utilisateur et que les cas d’erreur pouvant conduire à des accidents ne se produiront pas. Dans la mesure où ils sont souvent très volumineux et complexes, le développement repose habituellement sur des procédés dits de séparation des préoccupations. Cela consiste à modéliser le système de manière hétérogène, avec différents modèles qui doivent ensuite être combinés pour rendre contre du système dans son ensemble. Ces séparations des préoccupations peuvent être de différentes natures : horizontale, ce qui revient à séparer le système de manière structurelle en sous-systèmes ; verticales, ce qui revient à séparer le développement d’une partie du système en plusieurs étapes allant de la spécification abstraite à l’implémentation concrète ; et enfin transversale, ce qui consiste à regrouper ensemble les différents aspects du système qui participent de la même thématique (fonction, performance, sécurité, sûreté…). Usuellement, les différentes parties du système sont modélisées avec des langages métier dédiés tandis que les activités de V & V sont effectuées soit par tests et relectures, soit par l’approche que nous utilisons : les méthodes formelles. Dans tous ces cas, les activités de V & V doivent prendre en compte ces séparations afin de fournir une confiance dans le système complet se basant sur la confiance en ses constituants. En d’autres termes, afin de prouver la conformité du système global, il faut lui définir une sémantique comportementale qui doit prendre en compte les sémantiques ad-hoc des constituants du système. Pour définir cette sémantique, il faut parvenir à regrouper toutes ces sémantiques intermédiaires dans un même formalisme. Cette thèse se place dans le cadre de GEMOC, un environnement permettant de développer des langages ainsi que leurs propriétés de coordination, et propose de modéliser formellement le cœur de GEMOC en associant à chaque préoccupation une sémantique de traces tout en exprimant les contraintes liées à leur composition afin de représenter le comportement global du système. Cette thèse se place dans la continuité de travaux conduits dans les projets TOPCASED, OPEES, QuarteFt, P et GEMOC, contexte dans lequel elle propose quatre contributions : la première propose une méthodologie permettant d’attribuer une sémantique opérationnelle aux parties exécutables du système, en traitant deux cas d’étude : les réseaux de pétri et les modèles simples de processus. La deuxième propose un cadre formel pour exprimer des propriétés de raffinement afin d’exprimer les liens tissés par la séparation verticale des préoccupations. La troisième consiste à donner une sémantique dénotationnelle à CCSL, qui est le langage utilisé dans le projet GEMOC pour exprimer les propriétés comportementales liant des événements associés à une ou plusieurs préoccupations. Enfin, la quatrième propose d’ajouter à notre modèle formel de CCSL notre notion de raffinement afin d’en analyser l’impact. Toutes ces contributions ont été mécanisées et vérifiées dans l’environnement formel Agda.