SEINTURIER Lionel

Réflexivité, aspects et composants pour l'ingénierie des intergiciels et des applications réparties

Les intergiciels et les applications réparties se caractérisent par un nombre élevé de fonctionnalités à intégrer pour aboutir à un logiciel fini. Par ailleurs ils s'appliquent à de nombreux contextes d'exécution, de l'embarqué fortement contraint aux systèmes d'information ouverts sur l'Internet. Cette diversité engendre des besoins multiples allant, pour n'en citer que quelques uns, de la tolérance aux fautes, aux communications distantes ou à l'ordonnancement sous contrainte. Ce mémoire porte sur l'ingénierie des intergiciels et des applications réparties. Notre objectif est de proposer des solutions pour l'intégration des différentes fonctionnalités de ces logiciels. Pour cela, les études décrites dans ce mémoire portent sur trois techniques principales : la réflexivité, les aspects et les composants. Dans un premier axe, nous abordons la conception et la réalisation de service pour des applications réparties CORBA à l'aide de la réflexivité. Nous avons proposé un service d'observation d'exécution d'exécutions réparties. Nous montrons que la réflexivité permet de séparer clairement les différentes préoccupations. Les applications à observer et le service sont clairement découplés. L'intégration peut alors être faite de façon transparente. Nous montrons que le coût des mécanismes réflexifs est faible par rapport aux coûts globaux de communication dans un environnement distribué CORBA.
Dans un deuxième axe, nous nous focalisons sur les techniques à base d'aspect. Nous présentons JAC (Java Aspect Components) qui est une plate-forme pour la programmation d'applications orientées aspect. JAC propose la notion de tissage dynamique qui permet d'adapter au cours de l'exécution une application en ajoutant ou en retirant des aspects. En terme d'intergiciel et de répartition, JAC apporte la notion de conteneur ouvert à objets et à aspects et la notion de coupe distribuée.
Finalement, nous abordons les techniques à base de composant. L'objectif est de fournir un cadre unifiant les styles de développement à base d'aspect et de composant. Une étude préliminaire compare le développement d'un service de partage de documents répliqués avec des frameworks à base de composants (Fractal et Kilim) et un framework AOP (JAC). Nous montrons les forces et les faiblesses de chacun des styles et en tirons des conclusions pour étendre le modèle de composants Fractal en lui adjoignant la notion d'aspect. Dans un second temps, nous montrons que les aspects peuvent également être bénéfiques à l'ingénierie du modèle de composant lui-même. Nous aboutissons ainsi à une solution dans laquelle les aspects contribuent à la fois à la mise en oeuvre des mécanismes internes du modèle et à son interface de programmation externe.

Defence : 12/13/2005 - 11h - Site Scott - salle C.931

Jury members :

D'HONDT Théo (Prof. VUB, Bruxelles) [Rapporteur]
FABRE Jean-Charles (Prof. & DR INP Toulouse,CNRS LAAS) [Rapporteur]
STEFANI Jean-Bernard (DR INRIA Rhône-Alpes) [Rapporteur]
FOLLIOT Bertil (Prof. Paris 6) [Directeur]
MALENFANT Jacques (Prof. Paris 6)
GEIB Jean-Marc (Prof. Lille 1)
GRESSIER-SOUDAN Eric (Prof. CNAM Paris)