Mae - A System Model and Environment for Managing Architectural Evolution

TitleMae - A System Model and Environment for Managing Architectural Evolution
Publication TypeJournal Article
Year of Publication2004
AuthorsRoshandel, R., A. van der Hoek, M. Mikic-Rakic, and N. Medvidović
JournalACM Transactions on Software Engineering and Methodology (TOSEM)ACM Transactions on Software Engineering and Methodology (TOSEM)
Date PublishedApril

As with any other artifact produced as part of the software life cycle, software architectures evolve and this evolution must be managed. One approach to doing so would be to apply any of a host of existing configuration management systems, which have long been used successfully at the level of source code. Unfortunately, such an approach leads to many problems that prevent effective management of architectural evolution. To overcome these problems, we have developed an alternative approach centered on the use of an integrated architectural and configuration management system model. Because the system model combines architectural and configuration management concepts in a single representation, it has the distinct benefit that all architectural changes can be precisely captured and clearly related to each other - both at the fine-grained level of individual architectural elements and at the coarse-grained level of architectural configurations. To support the use of the system model, we have developed Mae, an architectural evolution environment through which users can specify architectures in a traditional manner, manage the evolution of the architectures using a check-out/check-in mechanism that tracks all changes, select a specific architectural configuration, and analyze the consistency of a selected configuration. We demonstrate the benefits of our approach by showing how the system model and its accompanying environment were used in the context of several representative projects.