Vers un environnement pour le déploiement logiciel autonomique (Mohammed El Amine Matougui)

par le 20/01/2014

http://tel.archives-ouvertes.fr/docs/00/92/60/23/PDF/These_Mohammed_EL_Amine_MATOUGUI.pdf

Le déploiement de logiciels répartis dans des environnements à grande échelle et ouverts (tels les systèmes ubiquitaires, les systèmes mobiles et les systèmes P2P) est une problématique actuelle ouverte. Ces environnements sont distribués, hétérogènes et peuvent être de nature instable (dotés d’une topologie dynamique du réseau). Le déploiement dans ces environnements met en jeu un très grand nombre de machines, de liens réseau ainsi qu’un ensemble de contraintes de déploiement. Quelques solutions de déploiement existent aujourd’hui, mais ne sont exploitables que dans le cadre d’architectures figées. Dans la plupart des propositions de déploiement, une personne en charge du déploiement doit décrire la topologie de déploiement. En outre, la majorité de ces outils ne prennent pas en compte les problèmes dû à la variabilité de la qualité de service du réseau, aux pannes des hôtes, aux défaillances des liens du réseau ou encore aux changements dynamiques de topologie, qui caractérisent les environnements ouverts. Dans cette thèse, nous présentons les motivations concernant une infrastructure de déploiement logiciel autonomique et les exigences sous-jacentes. Nous présentons un état de l’art du déploiement logiciel que nous analysons au regard du contexte visé. Ensuite, nous présentons notre contribution pour le déploiement autonomique. Nous proposons j-ASD, un intergiciel qui exploite la complémentarité de ces technologies pour réaliser un déploiement logiciel autonomique. Notre proposition concerne le déploiement de composants logiciels avec le support d’agents mobiles adaptables, d’intergiciel et de langage dédié. Le processus de déploiement proposé est en trois étapes : description des contraintes de déploiement, résolution, et déploiement autonomique. Pour la première étape, nous avons défini un langage dédié (DSL) comme langage de haut niveau pour exprimer des contraintes de déploiement. Pour la deuxième, nous avons conçu une infrastructure répartie pour collecter les propriétés des sites cibles, ce qui permet de résoudre les contraintes de déploiement. Pour la troisième étape, nous proposons un intergiciel à base d’agents mobiles pour la réalisation et la supervision du déploiement autonomique. Enfin, nous donnons les éléments de conception du prototype que nous avons implémenté, ainsi que les résultats des expérimentations de validation.