Le travail effectué durant ce stage s'intéresse aux langages à objets et plus particulièrement aux langages de représentation des connaissances.
L'objectif de ce stage était de créer le début d'une extension
d'un dialecte LISP ([Que94]) avec un noyau objet,
de nom Ilog Talk ([Ilo95b]), en y intégrant les
nombreuses fonctionnalités du langage de représentation des
connaissances YAFOOL ([Duc91]) et en s'inspirant des
travaux de méta-programmation de nombreux langages tels que
FROME ([Dek94]) et CLOS ([KG89],
[BKK 86], [CG87], [KdRB91], [KAJ
93], [Att93]).
La première partie de ce stage a donc consisté à étudier la
méta-programmation et l'extensibilité des langages à objets
basés sur le langage LISP à travers certains langages
existants basés sur LISP
([BDG 87], [Coi87b]).
Dans la seconde partie du stage, on a abordé l'étude et
l'évaluation des langages Ilog Talk et Power Classe
([Ilo95a]) à
travers leurs fonctionnalités. Ilog Power Classes est une extension objet
d'Ilog Talk possédant un MOP (MétaObject Protocol)
([BKDP93], [Bra96]) et il
s'est avéré qu'il répondait en partie à quelques uns des objectifs de
ce stage. C'est pour cette raison qu'il nous a fallu passer du temps à
étudier ces deux nouveaux langages en profondeur.
On y retrouve donc dans le mémoire une description des
fonctionnalités de ces deux langages à travers leur syntaxes ([Pav96]).
Et pour rentrer profondémment dans ces langages et notamment dans leur MOP (MétaObject Protocol), on a essayé d'implémenter deux extensions sur ces langages, une concernant les mémos-classes, l'autre plus profonde concernant l'introduction de nouveaux attributs booléens.