

Type of Document Master's Thesis Author Singh, Hermanpreet Author's Email Address hsingh@vt.edu URN etd-11292004-155755 Title Introspective C++ Degree Master of Science Department Computer Science Advisory Committee
Advisor Name Title Denis Gracanin Committee Chair Shawn Bohner Committee Member Stephen Edwards Committee Member Keywords
- templates
- introspection
- metaprogramming
- c++
Date of Defense 2004-08-20 Availability unrestricted Abstract Introspection has become a significant language feature to enable new component technologies.It enables such capabilities as runtime component discovery, new levels of component
flexibility and change tolerance, dynamic reconfiguration and system self healing. Three
levels of introspection are discussed: simple type identification, structural introspection, and
behavioral introspection
The C++ programming language offers type identification, but neither structural or behavioral
introspection. Through its use and combination of several language features, C++
has provided a flexible system for achieving some of the features of introspection without
explicitly providing it. Features such as templates, operator overloading, polymorphism, and
multiple inheritance have allowed software systems in C++ to build flexible components that
tolerate change and support dynamic reconfiguration and self healing. The template system
in particular has recently been shown to be more capable than expected, being Turing
complete in its own right.
Despite their existing capabilities, the language features have their limits and would benefit
from an introspective mechanism. Unlike traditional introspective systems that execute
solely at run–time, Introspective C++ has chosen a compile–time approach that tightly
integrates with the template mechanism. This approach enables interaction with the other
language mechanisms during the compilation, enabling the resolution of many introspective
questions before the compiled program is ever run. Furthermore, the mechanism can serve
as a base for developing run–time introspective systems.
Files
Filename Size Approximate Download Time (Hours:Minutes:Seconds)
28.8 Modem 56K Modem ISDN (64 Kb) ISDN (128 Kb) Higher-speed Access index.pdf 689.82 Kb 00:03:11 00:01:38 00:01:26 00:00:43 00:00:03
If you have questions or technical problems, please Contact DLA.