Testing adaptation policies for software components
- PDF / 1,664,990 Bytes
- 32 Pages / 439.642 x 666.49 pts Page_size
- 73 Downloads / 171 Views
Testing adaptation policies for software components ´ eric ´ Dadeau1 · Jean-Philippe Gros1 · Olga Kouchnarenko1 Fred
© Springer Science+Business Media, LLC, part of Springer Nature 2020
Abstract Self-adaptive systems have to implement adaptation policies described by sets of rules that express how the components are reconfigured within the system, the priority of a given reconfiguration to happen, when a given (sequence of) event(s) occurs, and when specific conditions on the system state are satisfied. However, when this priority is given by a fuzzy value (e.g., high, medium, low) depending on external and internal events, it has to be implemented inside the software with particular implementation choices made. This paper is dedicated to the validation of adaptation policies, using a model-based testing approach and a verdict establishment that is based on both the runtime verification of temporal properties, and the detection of inconsistencies between the adaptation policy and the reconfigurations implemented in the self-adaptive system. We propose means to establish a test verdict based on the respect of the adaptation policy by the implementation, along with coverage measures of the rules. This provides interesting feedback on the adaptation policy rules, allowing to detect reconfigurations that should not have occurred, high-priority reconfigurations that are never triggered, or low-priority reconfigurations that are too frequently executed, potential inconsistencies in the rules, or wrong interpretation of priorities. The test verdict is made based on the analysis of the execution traces of the system, which is stimulated using a usage model that describes the probabilities of external events to occur. An experiment, performed on a vehicular ad-hoc network of autonomous vehicles, illustrates the interest of the approach. Keywords Adaptive system · Model-based testing · Adaptation policy · Temporal properties · Test verdict
1 Context and motivations Recent years have seen the increase of cyber-physical systems which include a large scale of examples such as medical devices and systems, aerospace systems, transportation vehicles, and intelligent highways with their associated problems such as security, safety, and
Fr´ed´eric Dadeau
[email protected] 1
FEMTO-ST Institute, University of Bourgogne Franche-Comt´e, CNRS, 15B Avenue des Montboucons, 25030, Besanc¸on, Cedex, France
Software Quality Journal
validity as mentioned in Rajkumar et al. (2010). These systems are made of individual components that communicate together and react to changes in their execution environment by reconfiguration operations. Thus, the components can be activated or deactivated on-the-fly (i.e., during the system’s execution) in order to adapt systems to the evolution of their execution context, measured by sensors. For example, a connected car may choose to rely on a WiFi signal, rather than on a GPS connection to save battery. Dynamic reconfigurations modify the architecture of self-adaptive (De Lemos et al. 201
Data Loading...