next up previous
Next: Sous-projet SOM - Up: État d'avancement Previous: Sous-projet ClassTalk-Ada95

Sous-projet Extension réflexive du langage Smalltalk

Le but de ce projet est d'abord de répertorier les différents aspects réflexifs du système Smalltalk et d'en proposer une première taxinomie. Dans [Riv96b] [Riv96c] nous reprenons la classification de P. Deutsch pour distinguer les classes agissant sur la structure et le comportement des objets, le contrôle de l'exécution, la gestion de la mémoire, la gestion de l'espace de nommage, l'environnement de programmation, l'organisation des classes dans le flâneur, le processus de compilation (analyse syntaxique et génération de codes).

Il s'agit ensuite d'utiliser ces aspects réflexifs pour étudier deux extensions du système Smalltalk :

  1. Extension du compilateur pour introduire de nouvelles sémantiques d'envoi de messages (par exemple, introduction de pré-post conditions à la Eiffel [Riv95a]) mais également permettre l'exécution - par la machine virtuelle Smalltalk - d'autres langages (en particulier Ada95 [RC95]),
  2. réification du lien d'instanciation et possibilité de changement dynamique de la classe d'un objet [Riv96a].

Ce projet constitue le corps de la thèse que F. Rivard doit soutenir en décembre 1996. Celle-ci décrira également Militsa, une extension de ClassTalk supportant le changement dynamique de classe.