Software is multidimensional but the tools that support it are not. The lack of tool support causes the software artifacts representing different dimensions to evolve independently and inconsistently. In order to support the evolution of multidimensional software, an environment must ensure that the different dimensions evolve concurrently. This can be accomplished through an integration framework that maintains consistency of the different dimensions as they evolve. We have build a prototype of such a mechanism by setting up and maintaining constraints among artifacts representing the different software dimensions. This paper describes that prototype and our experiences with it to date. 1 Motivation Most developers think of a software system as the code and components that are the end result of the software development process. As code is written, developers gradually ignore the initial stages of development, the specifications and the design of the system, the documentation, the co...
Steven P. Reiss