LIP6 palmier
Thème OASIS  
Groupe Frameworks  

 

source :   http://www-poleia.lip6.fr/OASIS/fw.html
Présentation au Limsi : 4-11-97
par Zahia Guessoum et Jean-Pierre Briot.

Le groupe frameworks a pour objectif général un rapprochement des techniques issues du génie logiciel (modélisation et programmation par objets), de l'intelligence artificielle (représentation et traitement des connaissances) et de la programmation concurrente et répartie. Notre démarche est résolument expérimentale et vise à la conception d'architectures logicielles génériques (frameworks) validées sur différents terrains d'expérimentation.

Nous pouvons regrouper l'activité du groupe frameworks en trois domaines : frameworks hybrides de représentation et traitement des connaissances, frameworks de programmation concurrente et répartie, et frameworks de programmation par agents. Ces différents domaines ne sont pas sans rapport car nous procédons par assemblage et extension de différents frameworks. Le framework multi-agents DIMA (Guessoum, 1996 ; 1998) en est à ce titre un bon exemple.

Les frameworks hybrides de traitement des connaissances reposent sur une intégration de techniques de représentation et de traitement de connaissances (règles de production, contraintes, etc.) et de programmation (par objets). NéOpus est un framework de règles de production du premier ordre parfaitement intégrées à Smalltalk-80. Deux exemples d'application sont un système d'analyse harmonique tonale et le système NéoGanesh de M. Dojat, qui assure la surveillance de malades sous assistance respiratoire à l'hôpital Henri Mondor de Créteil (Dojat et al., 1997). Le framework de résolution de contraintes BackTalk (thèse en cours de P. Roy) représente une approche originale de l'adaptation des techniques de satisfaction de contraintes à l'univers des objets (Roy et al., 1998). Enfin, nous avons récemment reconstruit le système Alice de J.-L. Laurière (1977) avec n

La conception de frameworks de programmation concurrente et répartie repose sur l'intégration de techniques de programmation concurrente et répartie dans un modèle objet. Nous avons donc réalisé, en collaboration avec R. Guerraoui de l'EPFL (Lausanne), une analyse en profondeur des enjeux d'une telle intégration (Briot et Guerraoui, 1996a ; Briot et al. 1998). Nous avons également étudié comment un framework de programmation concurrente à objets (Actalk (Briot, 1996)) peut être étendu vers des agents autonomes (le framework multi-agent DIMA (Guessoum et Briot, 1997)), par intégration de frameworks standard (simulation à événements discrets) ou du laboratoire (en particulier le framework de règles de production NéOpus). Un nouveau projet consiste à étudier le couplage de DIMA avec le framework de programmation répartie et tolérante aux fautes BA

Un point clé dans la conception de frameworks de programmation par agents repose sur la manière dont on peut décomposer le comportement d'un agent en différents composants spécialisés de manière à assurer la généricité et la flexibilité de l'architecture. Une approche possible, suivie dans le framework DIMA, est de coordonner ces composants de manière centralisée par l'intermédiaire d'un module de supervision explicite. Un autre framework, conçu au départ pour la simulation d'agents réactifs dans des environnements topologiques (MALEVA, thèse de M. Lhuillier, 1998), repose sur un contrôle décentralisé avec un découplage entre les flux de données et de contrôle. Enfin le framework SCD, dédié aux agents mobiles (thèse en cours de M.-J. Yoo), distingue entre composants de comportements internes et composants de co