Analysing and modelling runtime architectural stability for self-adaptive software

Research output: Contribution to journalArticle

Authors

Colleges, School and Institutes

Abstract

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. For self-adaptive architectures, the behavioural aspect of stability is essential for seamless operation, to continuously keep the provision of quality requirements stable and prevent unnecessary adaptations that will risk degrading the system. In this paper, we introduce a systematic approach for analysing and modelling architectural stability. Specifically, we leverage architectural concerns and viewpoints to explicitly analyse stability attributes of the intended behaviour. Due to the probabilistic nature of systems’ behaviour, stability modelling is based on a probabilistic relational model for knowledge representation of stability multiple viewpoints. The model, empowered by the quantitative analysis of Bayesian networks, is capable to conduct runtime inference for reasoning about stability under runtime uncertainty. To illustrate the applicability and evaluate the proposed approach, we consider the case of cloud architectures. The results show that the approach increases the efficiency of the architecture in keeping the expected behaviour stable during runtime operation.

Details

Original languageEnglish
Pages (from-to)95-112
JournalJournal of Systems and Software
Volume133
Early online date4 Aug 2017
Publication statusPublished - 1 Nov 2017

Keywords

  • software architecture , architectural stability , self-adaptive architecture , sustainability , quality of service , cloud architecture