TY - JOUR
T1 - Self-adaptive architecture evolution with model checking
T2 - A software cybernetics approach
AU - Chen, Luxi
AU - Huang, Linpeng
AU - Li, Chen
AU - Wu, Xiwen
PY - 2017/2/1
Y1 - 2017/2/1
N2 - 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.
AB - 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.
KW - Architecture evolution
KW - Model checking
KW - Self-adaptive software architecture
KW - Software cybernetics
UR - http://www.scopus.com/inward/record.url?scp=84963795932&partnerID=8YFLogxK
U2 - 10.1016/j.jss.2016.03.010
DO - 10.1016/j.jss.2016.03.010
M3 - Journal article
AN - SCOPUS:84963795932
SN - 0164-1212
VL - 124
SP - 228
EP - 246
JO - Journal of Systems and Software
JF - Journal of Systems and Software
ER -