A Reference Architecture and Modelling Principles for Architectural Stability based on Self-Awareness: Case of Cloud Architectures
This work addresses the need for stable architectures in cloud systems to support continuous changes without phasing-out, though it appears incremental as it builds on existing self-awareness principles.
The paper tackles the problem of ensuring long-lived software by proposing a reference architecture and model for architectural stability, leveraging self-awareness principles and runtime goals modeling, with experimental results showing increased efficiency in maintaining expected behavior during runtime operation.
With the increased dependence on software, there is a pressing need for engineering long-lived software. As architectures have a profound effect on the life-span of the software and the provisioned quality of service, stable architectures are significant assets. Architectural stability tends to reflect the success of the system in supporting continuous changes without phasing-out. The \textit{behavioural} aspect of stability is essential for seamless operation, to continuously keep the provision of quality requirements stable and prevent architecture's drifting and phasing-out. In this paper, we introduce a reference architecture and model for stability. Specifically, we leverage on the self-awareness principles and runtime goals modelling to explicitly support architectural stability. To illustrate the applicability and evaluate the proposed approach, we consider the case of cloud architectures. The experimental results show that our approach increases the efficiency of the architecture in keeping the expected behaviour stable during runtime operation.