previous up next contents
Précédent : Larchant-RDOSS Remonter : Mémoire partagée persistante Suivant : Gestion des références

Méta-Objets pour C++

  Participant : Yann Hervé, Marc Shapiro

L'un des objectifs principaux de Larchant est de simplifier la distribution d'applications existantes avec une modification minimale du code. Pour cela, nous avons développé un outil capable d'analyser statiquement les fichiers de code binaire des programmes utilisateurs pour en extraire toutes les informations dont le ramasse-miettes de Larchant a besoin dynamiquement.

Cet outil permet de générer une description précise des classes C++ définies dans une application. Nous avons défini un format de description, OCI (Object and Class Information), indépendant de tout compilateur. Les informations générées peuvent être archivées dans des méta-objets persistants, ce qui rend ces descriptions accessibles lors de l'exécution.

De nombreuses applications sont susceptibles de tirer profit de cet outil. Citons, à titre d'exemple, la génération automatique de souches. Une représentation détaillée de la signature de chaque méthode est tirée de l'analyse du binaire, sans nécessiter l'emploi d'un langage de description d'interface comme l'IDL (Interface Definition Language) de Corba. D'autres utilisations sont envisageables, comme la représentation de l'état d'un objet dans un format externe, la traduction d'adresses (swizzling) ou encore la vérification dynamique de conformité.

Ce travail constitue le point de départ de la thèse de Yann Hervé.


previous up next contents
Précédent : Larchant-RDOSS Remonter : Mémoire partagée persistante Suivant : Gestion des références