DeepAI AI Chat
Log In Sign Up

Architectural Stability Reasoning using Self-Awareness Principles: Case of Self-Adaptive Cloud Architectures

by   Maria Salama, et al.
University of Birmingham

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 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.


page 1

page 2

page 3

page 4


Hybrid Planning with Receding Horizon: A Case for Meta-self-awareness

The trade-off between the quality and timeliness of adaptation is a mult...

Modelling and Simulation Environment for Self-Adaptive and Self-Aware Cloud Architectures

Cloud-based software systems are increasingly becoming complex and opera...

Intelligent Management of Mobile Systems through Computational Self-Awareness

Runtime resource management for many-core systems is increasingly comple...

The Role of Models and Megamodels at Runtime

In model-driven software development a multitude of interrelated models ...

A traceability management framework for artefacts in self-adaptive systems

We expect software systems to be dependable and sufficiently responsive ...