Abstract
This demonstration will show a commercial program transformation system, DMS ÆÊ1, applied to reengineer code in components of a distributed system implemented in C++. To be practical, such a tool has to not only reliably parse and regenerate C++ code, but it must be able to move program fragments from one place to another, accurately adjusting access paths to data. The demo will show the problem, sketch the solution, show some of the source-to-source program transformation rules involved, and run the tool against an illustrative example and real component code.