| 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.