Com and XPCOM as a Solution to Bamboo's Versioning Problem

Abstract

Bamboo is a systems toolkit that is primarily concerned with supporting performance-critical applications that must run continuously for extremely long periods of time. Bamboo supports this by managing the loading and unloading of executable code into and out of process memory at runtime. Thus, as application requirements change over time, obsolete code can be replaced without having to restart the application. This technique's flexibility has already been demonstrated, but fails in one critical way. Although the C++ programming language standard defines a consistent syntax, it fails to specify a consistent binary encapsulation. Thus, if the executable code for a C++ base class is dynamically replaced, it is very likely that its in memory layout differs from before and therefore incompatible with whatever derived classes may exist. The only recourse is to recompile and reload the derived classes as well. Component Object Model (COM) and Cross Platform Object Model (XPCOM) solve C++'s weakness by enforcing a complete separation of a class's interface from its implementation. This thesis demonstrates support for dynamic versioning of Bamboo C++ modules using COM and XPCOM.

Open PDF

Document Details

Document Type
Technical Report
Publication Date
Mar 01, 2000
Accession Number
ADA378430

Entities

People

  • Mithat Daglar

Organizations

  • Naval Postgraduate School

Tags

Communities of Interest

  • Energy and Power Technologies
  • Materials and Manufacturing Processes

DTIC Thesaurus Topics

  • Computer Programming
  • Computer Programs
  • Computer Science
  • Computers
  • Encapsulation
  • Language
  • Object Oriented Programming
  • Operating Systems
  • Programming Languages
  • Skeleton
  • Standards
  • Students
  • Web Browsers

Fields of Study

  • Computer science
  • Engineering

Readers

  • Calculus or Mathematical Analysis
  • Computer Science.
  • Software Engineering.