  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.

Software Engineering;Distributed, Parallel, and Cluster Computing