Self-adaptive architecture evolution with model checking: A software cybernetics approach

Luxi Chen, Linpeng Huang*, Chen Li, Xiwen Wu

*Corresponding author for this work

Research output: Contribution to journalJournal articleResearchpeer-review

10 Citations (Scopus)

Abstract

The cloud computing era requires software architecture to be self-adaptive to the dynamic environment. This autonomous feature brings uncertainty and makes software behavior difficult to control. The uncontrollable behavior is caused by ill-defined architecture and might lead to system disruption. To address this problem, we propose a novel framework which applies software cybernetics to guide self-adaptive architecture evolution. In our framework, we formulate the architecture evolution process as a feedback control process. In the process, we take the self-adaptive architecture model and the model checking technique as the controlled object and controller, respectively. First, the self-adaptive architecture is specified by Breeze/ADL. Second, the framework leverages model checking to validate adaptive Breeze/ADL specifications. Third, a learning algorithm is designed to regulate validation results to generate feedback rules – Productions to guide the architecture evolution. A smart phone application example is chosen to demonstrate the feasibility of our framework. The results show that our framework facilitates architects to detect undesired states which are caused by error-prone adaptation rules.

Original languageEnglish
JournalJournal of Systems and Software
Volume124
Pages (from-to)228-246
Number of pages19
ISSN0164-1212
DOIs
Publication statusPublished - 1 Feb 2017
Externally publishedYes

Keywords

  • Architecture evolution
  • Model checking
  • Self-adaptive software architecture
  • Software cybernetics

Fingerprint

Dive into the research topics of 'Self-adaptive architecture evolution with model checking: A software cybernetics approach'. Together they form a unique fingerprint.

Cite this