NotesFAQContact Us
Search Tips
ERIC Number: ED556620
Record Type: Non-Journal
Publication Date: 2013
Pages: 242
Abstractor: As Provided
Reference Count: N/A
ISBN: 978-1-3037-2720-7
Software Architecture Evolution
Barnes, Jeffrey M.
ProQuest LLC, Ph.D. Dissertation, Carnegie Mellon University
Many software systems eventually undergo changes to their basic architectural structure. Such changes may be prompted by new feature requests, new quality attribute requirements, changing technology, or other reasons. Whatever the causes, architecture evolution is commonplace in real-world software projects. Today's software architects, however, have few techniques to help them plan such evolution. In particular, they have little assistance in planning alternatives, making trade-offs among these different alternatives, or applying best practices for particular domains. To address this, we have developed an approach for assisting architects in planning and reasoning about software architecture evolution. Our approach is based on modeling and analyzing potential "evolution paths" that represent different ways of evolving the system. We represent an evolution path as a sequence of transitional architectural states leading from the initial architecture to the target architecture, along with "evolution operators" that characterize the transitions among these states. We support analysis of evolution paths through the definition and application of "constraints" that express rules governing the evolution of the system and "evaluation functions" that assess path quality. Finally, a set of these modeling elements may be grouped together into an "evolution style" that encapsulates a body of knowledge relevant to a particular domain of architecture evolution. We evaluate this approach in three ways. First, we evaluate its applicability to real-world architecture evolution projects. This is accomplished through case studies of two very different software organizations. Second, we undertake a formal evaluation of the "computational complexity" of verifying evolution constraints. Finally, we evaluate the "implementability" of the approach based on our experiences developing prototype tools for software architecture evolution. [The dissertation citations contained here are published with the permission of ProQuest LLC. Further reproduction is prohibited without permission. Copies of dissertations may be obtained by Telephone (800) 1-800-521-0600. Web page:]
ProQuest LLC. 789 East Eisenhower Parkway, P.O. Box 1346, Ann Arbor, MI 48106. Tel: 800-521-0600; Web site:
Publication Type: Dissertations/Theses - Doctoral Dissertations
Education Level: N/A
Audience: N/A
Language: English
Sponsor: N/A
Authoring Institution: N/A