Tuning self-adaptation in cyber-physical systems through architectural homeostasis
Journal article, 2019

Self-adaptive software-intensive cyber-physical systems (sasiCPS) encounter a high level of run-time uncertainty. State-of-the-art architecture-based self-adaptation approaches assume designing against a fixed set of situations that warrant self-adaptation. As a result, failures may appear when sasiCPS operate in environment conditions they are not specifically designed for. In response, we propose to increase the homeostasis of sasiCPS, i.e., the capacity to maintain an operational state despite run-time uncertainty, by introducing run-time changes to the architecture-based self-adaptation strategies according to environment stimuli. In addition to articulating the main idea of architectural homeostasis, we introduce four mechanisms that reify the idea: (i) collaborative sensing, (ii) faulty component isolation from adaptation, (iii) enhancing mode switching, and (iv) adjusting guards in mode switching. Moreover, our experimental evaluation of the four mechanisms in two different case studies confirms that allowing a complex system to change its self-adaptation strategies helps the system recover from run-time errors and abnormalities and keep it in an operational state.

Run-time uncertainty

Self-adaptation strategies

Architecture homeostasis

Software architecture

Cyber-physical systems

Author

Ilias Gerostathopoulos

Technical University of Munich

Dominik Skoda

Charles University

Frantisek Plasil

Charles University

Tomas Bures

Charles University

Alessia Knauss

Chalmers, Computer Science and Engineering (Chalmers), Software Engineering (Chalmers)

Journal of Systems and Software

0164-1212 (ISSN)

Vol. 148 37-55

Subject Categories

Computer Engineering

Embedded Systems

Computer Systems

DOI

10.1016/j.jss.2018.10.051

More information

Latest update

11/20/2018