Compréhension du mécanisme de délégation
Nous avions proposé une première analyse couplée à une taxinomie des langages à prototypes (OOPSLA'92). Suite à cette première analyse une plate-forme logicielle de simulation de langages avec délégation à été réalisée en Smalltalk. Elle permet d'évaluer opérationellement ces langages ou de tester aisément de nouveaux traits. ELle est accessible sur le serveurs ftp anonyme du LIRMM.
Une seconde analyse de ces langages, basée sur le nombre de sortes d'objets et le nombre de liens et complétée par la présentation d'une sémantique dénotationelle est proposée dans [Ma95a]. Ces analyses font apparaître un certain nombre de problème sémantique liés à la délégation[Mal] dont celui, fondamental, de perte de l'identité des objets. Une solution à ce problème est proposée dans [BD95,Ma95b] sous la forme d'un modèle d'objet morcelés, qui continue à être étudié et développé, notamment pour son intérêt dans la mise en oeuvre de mécanismes de points de vues.
Par ailleurs, il a été établi une analogie entre les concepts
d'environnements Scheme et de prototypes Self.
Cette analogie nous a conduit à proposer un outil pédagogique de
simulation de prototypes en Scheme [MM94].
Prototypes et Réflexion
Notre second thème d'intérêt est l'étude et la mise en oeuvre de modèles de prototypes réflexif. Les résultats obtenus dans ce domaine sont les suivants:
Dans la tradition des micro-interprètes à la MicroPlasma, ObjVlisp, ClassTalk ou Actalk, Moostrap est construit à partir d'un noyau primitif définissant une sémantique ``minimale'' mais paramétrable de manière générique. Ce noyau a pour vocation d'être étendu pour étudier et modéliser des variations sur la sémantique de résolution des envois de messages Cette sémantique repose sur un protocole de méta-objets (MOP) permettant d'en contrôler dynamiquement la teneur.
Dans la continuité, nous avons étudié les problèmes de méthodologie d'utilisation de notre langage réflexif. Les méta-objets posent des problèmes quand il devient nécessaire de les composer. Nous avons proposé des mécanismes permettant de composer les sémantiques de différents méta-objets, et ce de manière incrémentale. Dans [MMC95], nous posons les jalons de l'étude d'un tel mécanisme, lui-même réflexif, qui garantit de manière automatique la monotonie du système.
Le langage Moostrap et les travaux qui s'y rapportent sont décrits dans la thèse de Philippe Mulet[Mul95].