Linking Design Decisions to Design Models in Model-Based Software Development

Numerous design decisions are made in model-based software development which often are not documented explicitly. Hence, the design knowledge is 'in the designers mind' and communicated orally, if at all, and the rationale behind the decisions is lost. Existing tools tackle this problem for architectural decisions which refer to the higher level architecture of a system. However, these decisions are separate artifacts and not linked to individual design model elements. Hence, there is no automatic check whether the design models comply with made decisions. This paper presents concepts for explicitly linking design decisions and design model elements. As first class artifacts, design decisions can be used for documentation, consistency checking, and reuse. In case consistency constraints are violated, the user is notified that the design models no longer comply with the decisions made. Reuse is realized by extracting design model changes as reusable patterns for recurring decisions.

[1]  Peng Liang,et al.  Knowledge Architect: A Tool Suite for Managing Software Architecture Knowledge , 2009 .

[2]  P. Krutchen,et al.  The Rational Unified Process: An Introduction , 2000 .

[3]  Olaf Zimmermann,et al.  An architectural decision modeling framework for service-oriented architecture design , 2009 .

[4]  Bernhard Westfechtel,et al.  Differencing and Merging of Software Diagrams - State of the Art and Challenges , 2007, ICSOFT.

[5]  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).

[6]  Frank Leymann,et al.  Reusable Architectural Decision Models for Enterprise Application Development , 2007, QoSA.

[7]  Patrick Könemann Integrating decision management with UML modeling concepts and tools , 2009, 2009 Joint Working IEEE/IFIP Conference on Software Architecture & European Conference on Software Architecture.

[8]  Frank Leymann,et al.  Architectural Decisions and Patterns for Transactional Workflows in SOA , 2007, ICSOC.

[9]  Priya Narasimhan,et al.  Service-Oriented Computing - ICSOC 2007, Fifth International Conference, Vienna, Austria, September 17-20, 2007, Proceedings , 2007, ICSOC.

[10]  Ralph Johnson,et al.  design patterns elements of reusable object oriented software , 2019 .

[11]  Patrick Konemann Model-independent differences , 2009, 2009 ICSE Workshop on Comparison and Versioning of Software Models.

[12]  Antony Tang,et al.  A rationale-based architecture model for design traceability and reasoning , 2007, J. Syst. Softw..

[13]  Cesare Pautasso,et al.  Architectural decision modeling with reuse: challenges and opportunities , 2010, SHARK '10.

[14]  Martin Fowler,et al.  Patterns of Enterprise Application Architecture , 2002 .

[15]  Peng Liang,et al.  Architectural design decision: Existing models and tools , 2009, 2009 Joint Working IEEE/IFIP Conference on Software Architecture & European Conference on Software Architecture.

[16]  Kent L. Beck,et al.  Extreme programming explained - embrace change , 1990 .

[17]  Felix Bachmann,et al.  Experience Using the Web-Based Tool Wiki for Architecture Documentation , 2005 .

[18]  Clemens A. Szyperski,et al.  Software Architectures, Components, and Applications, Third International Conference on Quality of Software Architectures, QoSA 2007, Medford, MA, USA, July 11-23, 2007, Revised Selected Papers , 2008, QoSA.