Orchestration d'agents mobiles en communauté
Auteur / Autrice : | Charif Mahmoudi |
Direction : | Fabrice Mourlin |
Type : | Thèse de doctorat |
Discipline(s) : | Signal, Image, Automatique |
Date : | Soutenance le 29/11/2014 |
Etablissement(s) : | Paris Est |
Ecole(s) doctorale(s) : | École doctorale Mathématiques, Sciences et Technologies de l'Information et de la Communication (Champs-sur-Marne, Seine-et-Marne ; 2010-....) |
Partenaire(s) de recherche : | Laboratoire : Laboratoire d'algorithmique, complexité et logique (Créteil) - LACL |
Jury : | Président / Présidente : Olivier Michel |
Examinateurs / Examinatrices : Fabrice Mourlin, Jean-Luc Déléage, Rémi Forax | |
Rapporteur / Rapporteuse : Mohammed Ouzzif, Frédéric Loulergue |
Mots clés
Mots clés contrôlés
Mots clés libres
Résumé
Ce travail de thèse a pour objectif la définition d'une plate-forme logicielle pour l'interprétation d'orchestrations sur un cluster de bus logiciels. Nous proposons une approche qui permet d'offrir une haute disponibilité et une transparence d'utilisation aux usagers. Cette approche est dirigée par des modèles MDA où chaque niveau de modélisation est atteint après enrichissement de notre architecture avec des informations supplémentaires. Chaque enrichissement est défini comme une transformation entre deux niveaux adjacents. Notre premier niveau CIM se présente comme des spécifications formelles écrites en π-calcul polyadique d'ordre supérieur qui fournissent une définition formelle d'une architecture logicielle pour l'interprétation d'orchestration. Tout système distribué bâti sur cette architecture est capable d'interpréter différents types d'orchestrations de manière parallèle. Nos spécifications sont fortement inspirées du modèle classique bus logiciel, il décrit une architecture fortement modulable qui s'adapte au nombre d'orchestrations à traiter et au nombre de clients qui veulent accéder à ces orchestrations. Notre deuxième niveau PIM nous permet de définir un langage que nous avons baptisé π-DSL qui est un langage dédié aux orchestrations. Il introduit la notion de migration d'orchestrations au système de composition d'orchestration EIP défini par Gregor Hohpe. Le langage que nous définissons à ce niveau est dédié au domaine des orchestrations et permet de construire des orchestrations de façon simple et intuitive. Notre troisième niveau PSM nous permet d'enrichir le niveau précèdent en associant les concepts formels aux implantations concrètes. A ce niveau, nous introduisons des frameworks tels que les conteneurs OSGi, l'outil d'intégration de service Apache Camel ou bien le référentiel de code exécutable Apache Archiva. Ces frameworks sont enrichis dans le cadre de notre implantation afin qu'ils soient fidèles aux spécifications établies dans les niveaux supérieurs. Notre quatrième est dernier niveau est le niveau ISM qui présente le contexte d'exécution de l'architecture proposée. Il est obtenu en ajoutant des informations relatives à chaque outil. Nous avons transformé nos spécifications formelles définies en π-calcul d'ordre supérieur vers un réseau d'automates temporisés La définition complète des transformations d'une spécification à base d'EIP est une autre contribution de cette thèse. Ceci nous conduit à réaliser la transformation de notre spécification π-calcul dans le but de tendre vers une implémentation. Nous nous sommes intéressés à 2 types de propriétés liées à notre architecture : la transparence de localisation, la transparence d'échelle. Ces propriétés sont établies en utilisant notre réseau d'automates temporisés et avec l'emploi d'un outil reconnu dans le monde de la preuve par model-checking, l'outil UppAal. Ainsi, nous validons la possibilité d'établir des propriétés liées à la mobilité de code via un réseau d'automates. Dans le cadre de notre implantation, nous avons adapté les frameworks définis dans le cadre de notre PSM afin qu'ils respectent la modélisation formelle réalisée dans la première partie de cette thèse. Nous proposons aussi des outils en vue de l'édition. Ces outils couvrent tout le cycle de vie de l'architecture proposée. Notre framework d'interprétation apporte les transparences décrites dans nos modèles auxquelles s'ajoutent de nouvelles propriétés de transparences provenant de nos choix de réalisation. Pour mesurer le coût de la migration sur les orchestrations durant l'évaluation de notre framework nous utilisons SoapUI comme outil de mesure. Pour réduire au maximum les effets des perturbations sur le code source des différentes orchestrations, nous avons développé nos propres outils de mesure. Nos tests portent sur un comparateur de prix car il représente un scénario classique de benchmarking utilisé par d'autres frameworks d'orchestrations