Supporting Architectural Design Decisions Evolution through Model Driven Engineering

Architectural design decisions (i.e., those decisions made when architecting software systems) are considered an essential piece of knowledge to be carefully documented and maintained. As any other artifact, architectural design decisions may evolve, having an impact on other design decisions, or on related artifacts (like requirements and architectural elements). It is therefore important to document and analyze the impact of an evolving decision on other related decisions or artifacts. In this work we propose an approach based on a notation-independent metamodel that becomes a means for systematically defining traceability links, enabling inter-decision and extra-decision evolution impact analysis. The purpose of such an analysis is to check the presence of inconsistencies that may occur during evolution. An Eclipse plugin has been realized to implement the approach.

[1]  Philippe Kruchten,et al.  An Ontology of Architectural Design Decisions in Software-Intensive Systems , 2004 .

[2]  F. Nava,et al.  Attributes for Characterizing the Evolution of Architectural Design Decisions , 2007, Third International IEEE Workshop on Software Evolvability 2007.

[3]  Bernhard Rumpe,et al.  Model Evolution and Management , 2007, Model-Based Engineering of Embedded Real-Time Systems.

[4]  Robert L. Nord,et al.  A general model of software architecture design derived from five industrial approaches , 2007, J. Syst. Softw..

[5]  Rafael Capilla,et al.  A web-based tool for managing architectural design decisions , 2006, SOEN.

[6]  Bernhard Rumpe,et al.  Evolving Software Architecture Descriptions of Critical Systems , 2010, Computer.

[7]  Colin Potts,et al.  Recording the reasons for design decisions , 1988, Proceedings. [1989] 11th International Conference on Software Engineering.

[8]  Thomas Arts,et al.  A Classification of Value for Software Architecture Decisions , 2010, ECSA.

[9]  Heeseok Choi,et al.  An architectural design decision-centric approach to architectural evolution , 2009, 2009 11th International Conference on Advanced Communication Technology.

[10]  H. van Vliet,et al.  Supporting Co-Evolving Architectural Requirements and Design through Traceability and Reasoning , 2011 .

[11]  Jean Bézivin,et al.  A Canonical Scheme for Model Composition , 2006, ECMDA-FA.

[12]  Rafael Capilla,et al.  Modeling and Documenting the Evolution of Architectural Design Decisions , 2007, Second Workshop on Sharing and Reusing Architectural Knowledge - Architecture, Rationale, and Design Intent (SHARK/ADI'07: ICSE Workshops 2007).

[13]  Jean Bézivin,et al.  Modeling in the Large and Modeling in the Small , 2003, MDAFA.

[14]  Jan Bosch,et al.  Software Architecture as a Set of Architectural Design Decisions , 2005, 5th Working IEEE/IFIP Conference on Software Architecture (WICSA'05).

[15]  Frédéric Jouault,et al.  Transforming Models with ATL , 2005, MoDELS.