Introspective C++

dc.contributor.authorSingh, Hermanpreeten
dc.contributor.committeechairGracanin, Denisen
dc.contributor.committeememberBohner, Shawn A.en
dc.contributor.committeememberEdwards, Stephen H.en
dc.contributor.departmentComputer Scienceen
dc.date.accessioned2014-03-14T20:48:29Zen
dc.date.adate2004-12-03en
dc.date.available2014-03-14T20:48:29Zen
dc.date.issued2004-08-20en
dc.date.rdate2004-12-03en
dc.date.sdate2004-11-29en
dc.description.abstractIntrospection 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.en
dc.description.degreeMaster of Scienceen
dc.identifier.otheretd-11292004-155755en
dc.identifier.sourceurlhttp://scholar.lib.vt.edu/theses/available/etd-11292004-155755/en
dc.identifier.urihttp://hdl.handle.net/10919/35846en
dc.publisherVirginia Techen
dc.relation.haspartindex.pdfen
dc.rightsIn Copyrighten
dc.rights.urihttp://rightsstatements.org/vocab/InC/1.0/en
dc.subjectintrospectionen
dc.subjecttemplatesen
dc.subjectmetaprogrammingen
dc.subjectc++en
dc.titleIntrospective C++en
dc.typeThesisen
thesis.degree.disciplineComputer Scienceen
thesis.degree.grantorVirginia Polytechnic Institute and State Universityen
thesis.degree.levelmastersen
thesis.degree.nameMaster of Scienceen

Files

Original bundle
Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
index.pdf
Size:
673.65 KB
Format:
Adobe Portable Document Format

Collections