Thèse soutenue

Contributions au déploiement dans les architectures réflexives basé sur les composants

FR  |  
EN
Auteur / Autrice : Jakub Kornas
Direction : Jean-Bernard Stefani
Type : Thèse de doctorat
Discipline(s) : Informatique
Date : Soutenance en 2008
Etablissement(s) : Université Joseph Fourier (Grenoble ; 1971-2015)

Résumé

FR  |  
EN

Les logiciels récents sont de plus en plus complexes en terme de leur développement et gestions associés. Pour adresser cette complexité, un approche basé sur les composant a vu le jour. Les composants modulent le développement pour une meilleure ingénierie des logiciels et permettent une vision des logiciels comme un assemblage dynamique des composants qui peuvent être déployés et gérés en continu. Une approche concluante pour la gestion avancée en continu est basée sur une architecture logicielle de composants explicites. Cette approche, appelée « gestion basée sur l'architecture », a évolué de premières solutions ad-hoc en des infrastructures génériques basées sur des modèles de composants réflexifs. Une de ces infrastructures est la plateforme JADE. JADE vise à gérer automatiquement les systèmes distribués complexes. Basé sur un modèle de composants réflexifs, JADE capture l'architecture logicielle complète des systèmes distribués, incluant les applications distribuées hébergées et les systèmes distribués « hébergeants ». En particulier, cette architecture réifie le comportement continu des systèmes distribués, tels que les défaillances de nœuds ou les caractéristiques de performance. Utilisant cette architecture complète, les gestionnaires autonomes observent et réagissent selon les changements de conditions. Cette réaction des gestionnaires automatiques a pour but de planifier la reconfiguration de l'architecture. Par exemple, un gestionnaire d'auto-réparation observant la défaillance d'un nœud aurait pour but de reconstruire la part perdue du système distribué sur un autre nœud. Un gestionnaire d'auto-protection observerait une intrusion et planifierait la reconfiguration du système distribué pour isoler les composants compromis. Un gestionnaire d'auto-optimisation pourrait observer un problème disponible dans un serveur répliqué et planifier d'augmenter cette réplication cardinale des composants serveurs. Par ce fait, au cœur de JADE, se trouve le déploiement des composants. En effet, la plupart des reconfigurations de l'architecture des systèmes distribués est basée sur l'aptitude à instancier des composants sur des nœuds distants du système distribué. Plus précisément, une fois que les gestionnaires autonomes ont générés un plan de reconfiguration du système distribué, l'exécution effective du plan est automatiquement distribuée, essentiellement par création et suppression de composants ainsi que leur union et désunion. La création et la suppression de composants requièrent une gestion locale des composants sur chaque nœud du système distribué. Cette gestion locale nécessite une infrastructure distribuée pour trouver, installer, charger et supprimer les composants. Le travail présenté dans cette thèse a contribué à JADE au travers des capacités de déploiement avancé dans un environnement distribué. En particulier, nous avons traité ce challenge via une conception récursive où l'implémentation de composants a été modélisée en utilisant des composants fournissant un son et un déploiement uniforme qui suit les principes basés sur l'architecture. En particulier, nous pouvons déployer des composants d'applications ainsi que des composants « middleware ». De plus, au-delà du déploiement de composants réguliers, nous pouvons également des logiciels « legacy » qui sont re-capitalisés avec des composants. En plus du déploiement de sous-système de JADE, ce travail a montré que le modèle de composant réflexif dérivé appelé FRACT AL a besoin d'être étendu pour capter les implémentations et leur spécificité. Bien que conçu pour FRACT AL et JADE, ces extensions s'appliquent pour la plupart des modèles de composant courant qui s'oriente sur l'assemblage fonctionnel de composants et non sur comment ces composants sont déployés. Ce travail a également montré que l'architecture autonome basée sur la gestion a des besoins dynamiques spécifiques en terme de déploiement qui rend difficile sa ré-utilisation pour des plateformes de composants dynamiques tels que OSGI. Des premières conceptions et prototypes ont été définis durant cette thèse avec des réussites sur bien des aspects mais également des limites démontrées sur la conception fondamentale et les tensions architecturales entre OSGI et JADE. Des secondes conceptions et prototypes ont montré la faisabilité de supporter notre FRACT AL étendu sur plateforme JA VA en tant que fondation de la gestion basée sur l'architecture autonome de svstèmes distribués complexes.