Graphes de localités : une approche formelle à l'encapsulation et implémentation
Auteur / Autrice : | Martin Vassor |
Direction : | Jean-Bernard Stefani |
Type : | Thèse de doctorat |
Discipline(s) : | Informatique |
Date : | Soutenance le 07/05/2021 |
Etablissement(s) : | Université Grenoble Alpes |
Ecole(s) doctorale(s) : | École doctorale Mathématiques, sciences et technologies de l'information, informatique (Grenoble ; 1995-....) |
Partenaire(s) de recherche : | Laboratoire : Institut national de recherche en informatique et en automatique (France). Centre de recherche de l'université Grenoble Alpes (1992-....) |
Jury : | Président / Présidente : Florence Maraninchi |
Examinateurs / Examinatrices : Farhad Arbab | |
Rapporteur / Rapporteuse : Alan Schmitt, Gianluigi Zavattaro |
Mots clés
Mots clés contrôlés
Mots clés libres
Résumé
Les systèmes informatiques fondés sur des composants facilitent la programmation grâce à la possibilité de composer différents petits atomes indépendants en aggrégats plus gros, réduisant la complexité individuelle de chaque atome. La contrepartie à ce modèle de programmation est l'apparition de nouvelles erreurs liés à la composition de ces éléments. Plusieurs approches ont été proposées afin de garantir la correction de la composition par rapport à une politique choisie. L'approche du modèle des graphes de localités consiste à autoriser ou d'interdire chaque transition de composant, en fonction de la topologie du graphe de composants au moment de la transition. Ce modèle s'illustre par la diversité des politiques qui peuvent être implémentées.Cette thèse est composée de deux parties : dans un premier temps, nous étudions la notion de d'encapsulation, héritée de la programmation orientée objet, dans le contexte de la programmation par composant, en prenant pour support le modèle des graphes de localités; dans un second temps, nous proposons une implémentation, sous la forme d'une bibliothèque logicielle pour le langage Rust, du modèle de graphes de localités. L'étude de la notion d'encapsulation nous a conduit à trois contributions majeures :(i) une nouvelle notion de bi simulation forte pour les graphes de localités, permettant la mise en relation d'instances de graphes de localités hétérogènes; (ii) la mise en évidence d'une notion forte d'encapsulation dans ce modèle; (iii) l'instanciation, à titre d'exemple, de plusieurs politiques d'encapsulation, illustrant à la fois la finesse et la diversité des politiques disponibles avec les graphes de localités. Au-delà de la contribution que constitue en elle-même l'implémentation, nous avons implémenté plusieurs exemples non triviaux, illustrant, en pratique, une utilisation possible du modèle original.