SpringerOpen Newsletter

Receive periodic news and updates relating to SpringerOpen.

Open Access Research

Testing the robustness of controllers for self-adaptive systems

Javier Cámara1*, Rogério de Lemos23, Nuno Laranjeiro4, Rafael Ventura4 and Marco Vieira4

Author Affiliations

1 Carnegie Mellon University, Pittsburgh, PA, USA

2 University of Kent, Canterbury, Kent, UK

3 CISUC, University of Coimbra, Coimbra, Portugal

4 University of Coimbra, Coimbra, Portugal

For all author emails, please log on.

Journal of the Brazilian Computer Society 2014, 20:1  doi:10.1186/1678-4804-20-1

Published: 23 January 2014

Abstract

Self-adaptive systems are software-intensive systems endowed with the ability to respond to a variety of changes that may occur in their environment, goals, or the system itself by adapting their structure and behaviour at run-time in an autonomous way. Controllers are complex components incorporated in self-adaptive systems, which are crucial to their function since they are in charge of adapting the target system by executing actions through effectors, based on information monitored by probes. However, although controllers are becoming critical in many application domains, so far very little has been done to assess their robustness. In this paper, we propose an approach for evaluating the robustness of controllers for self-adaptive software systems, aiming to identify faults in their design. Our proposal considers the stateful nature of the controller and identifies a set of robustness tests, which includes the provision of mutated inputs to the interfaces between the controller and the target system (i.e. probes). The feasibility of the approach is evaluated on Rainbow, a framework for architecture-based self-adaptation, and in the context of the Znn.com case study.

Keywords:
Robustness testing; Controller; Self-adaptive system; Autonomic system