|
||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||
ABSTRACT
Component-based software engineering enables applications to be assembled from component parts that adhere to a component-style specific interface specification and protocol. 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. REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
INDEX TERMS
Primary Classification:
Additional Classification:
General Terms:
Keywords:
Collaborative Colleagues:
|
||||||||||||||||||||||||||||||||||