L'article de Chiba sur OpenC++ v2 [Chi95] est plus éclairant sur les applications pratiques et concrètes des métaobjets; à défaut de théorie, Chiba y offre le fruit d'une longue expérience sur des situations réelles; il ne s'attarde pas sur les problèmes de combinaison de métaobjets, mais montre qu'il a su les traiter naturellement, puisque sans utiliser d'artifices compliqués et arbitraires, il permet aussi bien le contrôle de l'héritage des métaclasses, et la composition séquentielle de métaclasses multiples, lesquels sont aussi les deux propositions que l'on peut déduire des trois articles étudiés.
Les trois articles se sont lancés dans le problème de la combinaison de métaobjets sans en avoir cerné les enjeux avec une précision suffisante. Si les métaobjets sont censé apporter des modifications sémantiques théoriques ou pratiques, de quelles sortes de modifications s'agit-il, et sur quel substrat sémantique? Quels effets s'agit-il d'obtenir?
On ne saurait se contenter de dire qu'il y a modification, car quand on modifie un objet, on n'a par principe plus le même objet, et on ne peut donc a priori rien en dire, à moins d'avoir une théorie précise des modifications possibles.
Nous pensons qu'une voie prometteuse est de considérer une opération de représentation concrète comme la réciproque de l'interprétation abstraite; la réflexivité servirait alors à étendre la sémantique des objets existants vers des domaines plus concrets de persistence, interface machine, interface utilisateur, etc; L'extension vers des sémantiques concrètes permet aussi de définir de nouveaux objets précédemment inexprimables.
La contrainte à respecter pour être une extension serait qu'il existe une interprétation abstraite transformant tout objet étendu en l'objet exact de départ, conservant donc toute l'information abstraite. En comparaison, les méthodes actuelles ne garantissent aucune conservation d'information par réflection. La contrainte de compatibilité entre deux représentations R1 et R2 d'une structure S, réciproques respectivement des interpretations I1 et I2, serait qu'il existe une représentation R3 pouvant les unifier, en ce que l'interprétation réciproque I3 de R3 puisse factoriser aussi bien à travers I1 et I2.
Bien sûr, ce ne sont là que des spéculations à explorer plus avant.
La réflexivité est déjà un sujet assez difficile. Plutôt que de se compliquer la vie et de tenter de la greffer sur des systèmes à la sémantique confuse dont la conception tient du bricolage, comme les systèmes à héritage, les chercheurs devraient plutôt partir de systèmes ayant des sémantiques formelles les plus simples possibles (langages fonctionnels, langages à acteurs, et autres variations sur lambda- et pi- calculs formels); ils pourraient alors clairement comprendre et théoriser en quoi la réflexivité étend ces systèmes.