Metaphor Project
Robotics Institute
Carnegie Mellon University
5000 Forbes Avenue
Pittsburgh PA 15213-3890

Project Goal: We are working on techniques to understand, to design for, and to better manage change in the development of architecturally similar real-time software solutions.

Project Objectives: Develop semi-automatable techniques which help the software engineer to:
1. Design reusable and evolvable real-time software solutions.
2. Map application requirements to reusable software solutions.
3. Taxonomize and analyze changes made to software systems.
4. Quantitatively compare the complexity of changing alternative designs.


Project Approach: A reusable and evolvable software solution is constructed of components which are useful in another application with minimal change. We are developing mathematical techniques to partition a software solution into components that satisfy design objectives such as reusability, evolvability, and adaptable performance.

Software Metamorphosis: The animated gift on the left shows the process of "morphing" one shape to another. Morphing is done by relating the points in the original shape to their corresponding points in the target shape. In the example, the transition is from an F-117 -> F-22 -> JSF (Joint Strike Fighter). Via mathematical interpolation, one can smoothly make the transition from one shape to the next.

Similarly, we are developing mathematical techniques to determine software designs that make the transition from one software solution to another less time-consuming and error-prone.


For further information about this project, please contact Carol Hoover at clh@cs.cmu.edu.

Last edit on 13 April 1998.