  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 present
a framework for reasoning about stability during runtime, leveraging on
self-awareness principles. Specifically, we employ runtime goals for managing
stability goals, online learning for reasoning about stability on the long-run,
and stochastic games for managing associated trade-offs. We evaluate the
proposed work using the case of cloud architectures for its highly dynamics
during runtime. The experimental results have shown the efficiency of
self-awareness techniques in realising the expected behaviour stable during
runtime operation.
