Self-adaptive systems are able to operate autonomously by reconfiguring themselves for changing context conditions and tasks. This capability requires a process of decision making that can only be partially hard-coded. Some parts of the logic are the result of reasoning and, thus, implicit to the system designer or user. In consequence, the quality of the systems functionality has to be extensively validated before delivery. During the validation, firstly, the response of adaptation decisions as a result of environment change has to be examined. Secondly, it is necessary to check the interaction of adaptation and non-adaptationrelated behavior. The management of all this information is expensive. Therefore, we propose an approach that separates environment change, functionality and adaptation concerns using expressive models. The models are executed by a simulator and validated against the real behavior of the system under test. We illustrate the complete approach using an example SAS operating a domestic service robot. Our design process and the proposed modeling principles equip engineers with a toolset that allows them to face the challenging complexity of self-adaptive system validation. Keywords—self-adaptive systems; service robots; model-based testing; simulation; feedback loops
[1]
Matthias Grochtmann,et al.
Test Case Design Using Classification Trees
,
1994
.
[2]
Uwe Aßmann,et al.
Using Role-Based Composition to Support Unanticipated , Dynamic Adaptation-Smart Application Grids
,
2012
.
[3]
Uwe Aßmann,et al.
Towards Systematic Model-based Testing of Self-adaptive Software
,
2013
.
[4]
Kyo Chul Kang,et al.
Feature-Oriented Domain Analysis (FODA) Feasibility Study
,
1990
.
[5]
Jeffrey O. Kephart,et al.
The Vision of Autonomic Computing
,
2003,
Computer.
[6]
Mary Shaw,et al.
Software Engineering for Self-Adaptive Systems: A Research Roadmap
,
2009,
Software Engineering for Self-Adaptive Systems.