Reusable Architectural Decision Models for Quality-Driven Decision Support: A Case Study from a Smart Cities Software Ecosystem

Architectural design decisions and architectural knowledge are becoming relevant in the current practice of software architecture. In addition, reusable architectural knowledge has gained much importance in the industrial practice. In the process of architectural decision making, quality attributes constitute key drivers for designing software systems, therefore, it is important to document quality attributes along with the decisions captured. However, most of the current tools for management of architectural decisions focus mainly on capturing or sharing of design decisions. We propose to enrich a reusable architectural decision meta-model with quality attributes and introduce a corresponding tool. Our goal is to support software architects during decision making based on reusable decisions driven by quality attributes. Our approach was motivated by and applied in an industrial case study on a large-scale software ecosystem for smart cities, that constitute a complex and challenging system-of-systems domain. We applied our proposal in a few scenarios in the smart cities domain, in which the consideration of quality attributes is required to model reusable architectural knowledge adequately.

[1]  Leonard J. Bass,et al.  Designing software architectures to achieve quality attribute requirements , 2005, IEE Proc. Softw..

[2]  Paul Clements,et al.  Software architecture in practice , 1999, SEI series in software engineering.

[3]  Mark Klein,et al.  Quantifying the costs and benefits of architectural decisions , 2001, Proceedings of the 23rd International Conference on Software Engineering. ICSE 2001.

[4]  P MoranThomas,et al.  Questions, options, and criteria , 1991 .

[5]  Stefan Sobernig,et al.  Architectural Decision Making for Service-Based Platform Integration: A Qualitative Multi-Method Study , 2012, 2012 Joint Working IEEE/IFIP Conference on Software Architecture and European Conference on Software Architecture.

[6]  Patricia Lago,et al.  A Just-In-Time Architectural Knowledge Sharing Portal , 2008, Seventh Working IEEE/IFIP Conference on Software Architecture (WICSA 2008).

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

[8]  Carolyn B. Seaman,et al.  Qualitative Methods in Empirical Studies of Software Engineering , 1999, IEEE Trans. Software Eng..

[9]  Peter Sommerlad,et al.  Pattern-Oriented Software Architecture Volume 1: A System of Patterns , 1996 .

[10]  Dewayne E. Perry,et al.  Architectural Design Decisions in Open Software Development: A Transition to Software Ecosystems , 2014, 2014 23rd Australian Software Engineering Conference.

[11]  B. F. Castro Buschmann, Frank; Meunier, Regine; Rohnert, Hans; Sommerlad, Peter; Stal, Michael. Pattern-oriented software architecture: a system of patterns, John Wiley & Sons Ltd, 1996 , 1997 .

[12]  Frank Leymann,et al.  Architectural Decision Models as Micro-Methodology for Service-Oriented Analysis and Design , 2007 .

[13]  Leonard J. Bass,et al.  Quality Attribute Design Primitives and the Attribute Driven Design Method , 2001, PFE.

[14]  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.

[15]  David G. Messerschmitt,et al.  Software Ecosystem: Understanding an Indispensable Technology and Industry , 2003 .

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

[17]  Thomas P. Moran,et al.  Questions, Options, and Criteria: Elements of Design Space Analysis , 1991, Hum. Comput. Interact..

[18]  Cesare Pautasso,et al.  Team Situational Awareness and Architectural Decision Making with the Software Architecture Warehouse , 2013, ECSA.

[19]  Slinger Jansen How quality attributes of software platform architectures influence software ecosystems , 2013, WEA 2013.

[20]  Uwe Zdun,et al.  Using Patterns to Capture Architectural Decisions , 2007, IEEE Software.

[21]  Neil B. Harrison,et al.  Leveraging Architecture Patterns to Satisfy Quality Attributes , 2007, ECSA.

[22]  Alexander Egyed,et al.  Identifying requirements conflicts and cooperation: how quality attributes and automated traceability can help , 2004, IEEE Software.

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