Architectural Decision Guidance Across Projects - Problem Space Modeling, Decision Backlog Management and Cloud Computing Knowledge

Architectural Knowledge Management (AKM) has been a major topic in software architecture research since 2004. Open AKM problems include an effective, seamless transition from reusable knowledge found in patterns books and technology blogs to project-specific decision guidance and an efficient, practical approach to knowledge application and maintenance. We extended our previous work with concepts for problem space modeling, focusing on reusable knowledge, as well as solution space management, focusing on project-level decisions. We implemented these concepts in ADMentor, an extension of Sparx Enterprise Architect. AD Mentor features rapid problem space modeling, UML model linkage, question-option-criteria diagram support, meta-information for model tailoring, as well as decision backlog management. We validated ADMentor by modeling and applying 85 cloud application design decisions and 75 workflow management decisions, creating one problem and three sample solution spaces covering control system architectures, and obtaining user feedback on tool and model content.

[1]  Richard M. Young,et al.  Options and Criteria: Elements of design space analysis , 1991 .

[2]  Torsten Bumgarner Software Architecture Knowledge Management Theory And Practice , 2016 .

[3]  Rami Bahsoon,et al.  Aligning Enterprise, System, and Software Architectures , 2012 .

[4]  Olaf Zimmermann,et al.  Architecturally Significant Requirements, Reference Architecture, and Metamodel for Knowledge Management in Information Technology Services , 2011, 2011 Ninth Working IEEE/IFIP Conference on Software Architecture.

[5]  P ? ? ? ? ? ? ? % ? ? ? ? , 1991 .

[6]  Frank Leymann,et al.  Combining Pattern Languages and Reusable Architectural Decision Models into a Comprehensive and Comprehensible Design Method , 2008, Seventh Working IEEE/IFIP Conference on Software Architecture (WICSA 2008).

[7]  G. G. Stokes "J." , 1890, The New Yale Book of Quotations.

[8]  Christian W. Probst,et al.  Architecturally Significant Requirements Identification, Classification and Change Management for Multi-tenant Cloud-Based Systems , 2017 .

[9]  Olaf Zimmermann,et al.  Sustainable Architectural Design Decisions , 2013, IEEE Software.

[10]  Jeff Tyree,et al.  Architecture decisions: demystifying architecture , 2005, IEEE Software.

[11]  Eoin Woods,et al.  Software Systems Architecture: Working with Stakeholders Using Viewpoints and Perspectives , 2005 .

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

[13]  Rozanki Software Systems Architecture , 2015 .

[14]  Frank Leymann,et al.  Cloud Computing Patterns , 2014, Springer Vienna.

[15]  Olaf Zimmermann,et al.  Decisions Required vs. Decisions Made: Connecting Enterprise Architects and Solution Architects via Guidance Models , 2013 .

[16]  Heiko Koziolek,et al.  Industrial Implementation of a Documentation Framework for Architectural Decisions , 2014, 2014 IEEE/IFIP Conference on Software Architecture.

[17]  Olaf Zimmermann,et al.  Towards Reusing Architectural Knowledge as Design Guides , 2014, SEKE.

[18]  Mary Shaw,et al.  Writing good software engineering research papers: minitutorial , 2003, ICSE 2003.

[19]  Iris Groher,et al.  A Fresh Look at Codification Approaches for SAKM: A Systematic Literature Review , 2014, ECSA.

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

[21]  Mary Shaw,et al.  Writing good software engineering research papers , 2003, 25th International Conference on Software Engineering, 2003. Proceedings..

[22]  T. Gonen,et al.  Questions , 1927, Journal of Family Planning and Reproductive Health Care.

[23]  Muhammad Ali Babar,et al.  A Survey of the Use and Documentation of Architecture Design Rationale , 2005, 5th Working IEEE/IFIP Conference on Software Architecture (WICSA'05).

[24]  Hans van Vliet,et al.  Software Architecture Knowledge Management , 2008, 19th Australian Conference on Software Engineering (aswec 2008).