OOPSLA '04

Program
Technical Program
  Invited Speakers
  Technical Papers
  Onward!
  Panels
  Practitioner Reports
  Tutorials
Workshops
DesignFest
Educators' Symposium
Demonstrations
Posters
Doctoral Symposium
Exhibits
Student Research Comp.
FlashBoF
 
Turing Lecture
 
Social Events
 
Week at a Glance
 
Final Program (1.5M .pdf)

Find in Program
 

Page
Printer-friendly

Basket
view, help

"Program Transformations for Re-Engineering C++ Components [OOPSLA/GPCE]"
Object-Oriented Programming, Systems, Languages and Applications
Home    Program    Housing & Transportation    Registration    Submissions    Wiki    Maps
 


 : Thursday Demonstrations : All Demonstrations : Thursday

Program Transformations for Re-Engineering C++ Components [OOPSLA/GPCE]

Courtyard, Demo room 2
Thursday, 11:30, 45 minutes
 


 
7·8·9·10·11·12·13·14·15·16·17·18·19·20·21

This event is also being given Wednesday at 15:30.

Ira Baxter, Semantic Designs
Larry Akers, Semantic Designs
Michael Mehlich, Semantic Designs

Demonstration number: 14

Component-based software engineering enables applications to be assembled from component parts, provided they adhere to a component-style specific interface specification and protocol. Obviously, components available for one style are not available for another. Component styles evolve, too, which can obsolete components using a legacy style. This creates a demand for migrating components from one style to another, which can require complex changes to the component source code. For a large component library, doing this manually is likely prohibitive. An alternative is to apply automated program transformations to carry out the changes.

Using source-to-source transformations on real code requires a scalable, robust program transformation technology. Such technologies are difficult to justify for single applications. DMS is a commercial program transformation system which has been used to transform many programming languages, including C++, C#, Java and ObjectPascal. It is parameterized by language and desired task, enabling its infrastructure costs to be amortized across many different software analysis or change applications.

This demonstration shows a concrete example of DMS program transformations being used to migrate legacy C++ components from a Boeing distributed avionics software system, using a Boeing proprietary component format, to a CORBA component style. The conversion requires nontrivial understanding and manipulation of the C++ source code. It will explain the component migration problem to be solved, show some of the transformations, and actually convert a component.