Toward Architectural Knowledge Sustainability. New Opportunities to Extend the Longevity of Systems

Complex software systems must be maintained for years or decades, and the effort and cost to maintain them are often high, involving continuous refactoring to ensure their longevity in the face of changing requirements. In this article, we introduce the notion of architectural knowledge (AK) sustainability as a new concept to support architects dealing with the evolution of long-lived systems. Architecture sustainability refers to the ability of the architecture to endure over time with the minimum number of refactoring cycles possible. We suggest that sustainability of the AK is a function of how stable the decisions are, and we discuss a set of sustainability criteria and metrics useful to estimate the sustainability of this AK.

[1]  Christoph Becker,et al.  Sustainability and Longevity: Two Sides of the Same Quality? , 2014, RE4SuSy@RE.

[2]  Nenad Medvidovic,et al.  Relating Architectural Decay and Sustainability of Software Systems , 2016, 2016 13th Working IEEE/IFIP Conference on Software Architecture (WICSA).

[3]  Mauricio A. Saca Refactoring improving the design of existing code , 2017, 2017 IEEE 37th Central America and Panama Convention (CONCAPAN XXXVII).

[4]  Jan Bosch,et al.  Software Architecture: The Next Step , 2004, EWSA.

[5]  Olaf Zimmermann Architectural Refactoring: A Task-Centric View on Software Evolution , 2015, IEEE Software.

[6]  Olaf Zimmermann,et al.  Guidelines and Metrics for Configurable and Sustainable Architectural Knowledge Modelling , 2015, ECSA Workshops.

[7]  Heiko Koziolek,et al.  Measuring Architecture Sustainability , 2013, IEEE Software.

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