RINGA: Design and verification of finite state machine for self-adaptive software at runtime

  • Lee, Euijong
  • Kim, Young-Gab
  • Seo, Young-Duk
  • Seol, Kwangsoo
  • Baik, Doo-Kwon
Citations

WEB OF SCIENCE

21
Citations

SCOPUS

32

초록

Context In recent years, software environments such as the cloud and Internet of Things (IoT) have become increasingly sophisticated, and as a result, development of adaptable software has become very important. Self adaptive software is appropriate for today's needs because it changes its behavior or structure in response to a changing environment at runtime. To adapt to changing environments, runtime verification is an important requirement, and research that integrates traditional verification with self-adaptive software is in high demand. Objective: Model checking is an effective static verification method for software, but existing problems at runtime remain unresolved. In this paper, we propose a self-adaptive software framework that applies model checking to software to enable verification at runtime. Method: The proposed framework consists of two parts: the design of self-adaptive software using a finite state machine and the adaptation of the software during runtime. For the first part, we propose two finite state machines for self-adaptive software called the self-adaptive finite state machine(SA-FSM) and abstracted finite state machine (A-FSM). For the runtime verification part, a self-adaptation process based on a MAPE (monitoring, analyzing, planning, and executing) loop is implemented. Results: We performed an empirical evaluation with several model-checking tools(i.e., NuSMV and CadenceSMV), and the results show that the proposed method is more efficient at runtime. We also investigated a simple example application in six scenarios related to the IoT environment. We implemented Android and Arduino applications, and the results show the practical usability of the proposed self-adaptive framework at runtime. Conclusions: We proposed a framework for integrating model checking with a self-adaptive software lifecycle. The results of our experiments showed that the proposed framework can achieve verify self-adaptation software at runtime.

키워드

Self-adaptive softwareModel checkingFinite state machineRuntimeQUANTITATIVE VERIFICATIONADAPTATION
제목
RINGA: Design and verification of finite state machine for self-adaptive software at runtime
저자
Lee, EuijongKim, Young-GabSeo, Young-DukSeol, KwangsooBaik, Doo-Kwon
DOI
10.1016/j.infsof.2017.09.008
발행일
2018-01
유형
Article
저널명
Information and Software Technology
93
페이지
200 ~ 222