We describe the design and implementation of system architecture to support object introspection in C++. In this system, information is collected by parsing class declarations, and used to build a supporting environment for object introspection. Our approach is nonintrusive because it requires no change to the original class declarations and libraries, and it guarantees compatibility between objects before and after the addition of introspective capability. This is critical if one wants to integrate third-party class libraries, which are often supplied as black boxes and allow no modification, into highly dynamic applications. We show two applications: The first on automatic 1/0 support for C++ objects, and the other on interactive exercise of dynamically loaded C++ class libraries. KEYWORDS C++, Object Introspection, Software Reuse and Integration, Object-Oriented Software Development. 1 MOTIVATION Many object-oriented programming languages, such as CLOS [19], Java [5, lo], Objective...
Tyng-Ruey Chuang, Y. S. Kuo, Chien-Min Wang