Self-adaptive systems must decide which adaptations to apply and when. In reactive approaches, adaptations are chosen and executed after some issue in the system has been detected (e.g., unforeseen attacks or failures). In proactive approaches, predictions are used to prepare the system for some future event (e.g., traffic spikes during holidays). In both cases, the choice of adaptation is based on the estimated impact it will have on the system. Current decision-making approaches assume that the impact will be instantaneous, whereas it is common that adaptations take time to produce their impact. Ignoring this latency is problematic because adaptations may not achieve their effect in time for a predicted event, or lower-impact but quicker adaptations may be ignored altogether when over time, the accrued impact may actually be higher. In this paper we introduce a novel approach to choosing adaptations that considers these latencies. To show that this is an improvement, we use a novel combination of two components: (i) model checking of stochastic multiplayer games (SMGs) enables us to understand best- and worst-case scenarios of latency-aware and non-latency-aware adaptation without the need to develop specific adaptation algorithms. However, since SMGs do not provide an algorithm to make choices at run time, we propose a (ii) latency-aware adaptation algorithm to make decisions at runtime. Simulations are used to explore more detailed adaptation behavior, and to check if the performance of the algorithm falls within the bounds predicted by SMGs. Our results show that latency awareness improves adaptation outcomes, and also allows a larger set of adaptations to be exploited.
- model checking,
- stochastic games
Available at: http://works.bepress.com/gabriel_moreno/27/