thesis

Etude et implantation de mecanismes reflexifs dans un langage concurrent

Defense date:

Jan. 1, 1999

Edit

Institution:

Toulouse 3

Disciplines:

Directors:

Abstract EN:

Pas de résumé disponible.

Abstract FR:

Cette these a pour objectif de definir une architecture reflexive dans un langage concurrent. Avec un langage reflexif, le programmeur dispose d'outils supplementaires lui permettant de manipuler la representation qu'un programme a de lui-meme pour l'adapter a son environnement. Notre travail consiste a definir et implanter un ensemble de mecanismes permettant de representer et de modifier un systeme d'entites concurrentes, y compris pendant l'execution. Nous cherchons a obtenir des methodes et outils generiques valables pour les langages a objets, les langages d'acteurs, les langages a prototypes, etc. . Dans un premier temps, l'etude concerne les entites prises individuellement. Nous representons une entite concurrente a l'aide de composants operatoires qui decrivent chacun une etape ou une operation du cycle de vie de l'entite. Cette decomposition generique est ensuite specialisee et introduite dans le langage d'acteurs plasmaii pour aboutir au langage reflexif plasmar. Dans un deuxieme temps, nous nous interessons aux relations entre plusieurs entites comme, par exemple, les relations de partage de travail, de partage de ressources, etc. . Pour cela, nous proposons de grouper et de representer les entites en relation selon deux types. D'une part, les groupes structurels qui sont des groupes dont les membres sont definis de facon exhaustive ou caracterises au moyen d'un predicat definissant un point commun. D'autre part, les groupes operatoires qui rassemblent les entites qui cooperent les unes avec les autres pour la resolution d'un but commun. Ces groupes permettent d'appliquer une meme operation reflexive a plusieurs entites ou de coordonner une modification affectant tout un groupe d'entites. Cette architecture a permis de developper des exemples de gestion reflexive de la communication, de la repartition, d'optimisation, etc. . Ce travail a ete conclu par des experimentations qui ont permis de valider cette approche et de montrer des qualites de modularite, de reutilisabilite, de lisibilite et d'adaptation dynamique.