Program |
 |
|
|
Find in Program |
 |
|
|
Page |
 |
|
|
Basket |
 |
|
view, help
"Program Transformations for Re-Engineering C++ Components [OOPSLA/GPCE]"
|
|
|
|
Program Transformations for Re-Engineering C++ Components [OOPSLA/GPCE]
Courtyard, Demo room 3 Wednesday, 15:30, 45 minutes 7 | · | 8 | · | 9 | · | 10 | · | 11 | · | 12 | · | 13 | · | 14 | · | 15 | · | 16 | · | 17 | · | 18 | · | 19 | · | 20 | · | 21 |
This event is also being given Thursday at 11: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.
|