Thématique de recherche  

Thématique de recherche : les objets

Le succès des langages d'objets repose sur deux raisons principales, Mes recherches ont porté sur ces deux versants, en me focalisant principalement sur tout ce qui tourne autour des notions de spécialisation de classes et d'héritage de propriétés.

Hiérarchies de classes

Mon intérêt porte d'abord sur l'étude des hiérarchies de classes, qui sont à l'intersection de ces deux ensembles de qualités, avec deux thématiques privilégiées : Se sont greffés à ce noyau dur divers travaux concernant les langages de programmation à objets du point de vue de certains de leurs mécanismes : Depuis 2000, mon intérêt s'est plutôt tourné vers l'étude des langages de programmation à objets à typage statique : comparaison du sous-typage et de la spécialisation conceptuelle (TSI 2002, Workshop OOIS 2002).

Implémentation et compilation de langages à objets : le langage PRM

En concevant et développant YAFOOL, de 1985 à 1994, j'ai été amené à étudier des techniques d'implémentation, dont la coloration de méthodes.

J'ai repris plus tard cette thématique, d'abord dans 2 synthèses sur l'implémentation des objets, respectivement dans les langages à typage dynamique (L'Objet 1997) et statique (RR 2002 soumis à ACM Computing Surveys et à paraître dans un délai incertain).
C'est devenu mon thème de recherche principal pour le 3ième millénaire.

Parmi les techniques d'implémentation, je me suis plus particulièrement intéressé à la coloration, qui résout tous les problèmes d'implémentation des objets (méthodes, attributs et test de sous-typage) (RR 2001, LMO 2002, RR 2006). Le mémoire de DEA de Pascal Takhedmit étudie cette technique du point de vue algorithmique.

Depuis 2000, le DEA et la thèse de Jean Privat ont pour objectif de développer un prototype de compilateur qui applique des techniques d'optimisation globales (analyse de types et coloration) en compilation séparée (LMO 2004, PASTE 2005). A cette occasion, il a spécifié et implémenté le langage PRM (Programming with Refinement and Modules) qui étend le modèle objet avec des notions de modules et de raffinement de classes (LMO 2005, RR 2005, RR 2006).

Dans ce cadre, Nicolas Desnos a étudié dans son mémoire de DEA un garbage collector adapté à la coloration bidirectionnelle et le mémoire de M2R de Floréal Morandat porte sur le bootstrap du compilateur PRM. Il poursuit ce travail en thèse.

Enfin, plus récemment, je me suis intéressé à l'utilisation du hachage parfait pour le test de sous-typage et l'implémentation des interfaces en JAVA (RR 2005 à  paraître dans ACM TOPLAS, LMO 2006).

Une grosse partie de ce travail a porté sur la simulation des diverses techniques d'implémentation sur des benchmarks classiques consitués de grosses hiérarchies de classes.
Ces benchmarks sont disponibles ici.

Divers

Je participe ou ai participé aux activités de la communauté objet en France au travers

Par ailleurs, j'ai participé aux travaux du GDR TICCO (Traitement Informatique de la Connaissance en Chimie Organique, 1992-2000) dans le cadre de l'équipe Informatique et Chimie du LIRMM : voir la page du prototype Resyn Assistant.

Le langage YAFOOL et Y3

De 1985 à 1994, dans la SSII Sema Group, j'ai conçu et développé le langage YAFOOL et le système Y3.