Overwhelming Uncertainty in Self-adaptation: an Empirical Study on PLA and CobRA.
Jingxin Fan,Yanxiang Tong,Yi Qin,Xiaoxing Ma
DOI: https://doi.org/10.1145/3457913.3457943
2021-01-01
Abstract:Self-adaptation is a promising approach to enable software systems to address the challenge of uncertainty. Different from traditional reactive adaptation mechanisms that focus on the system’s current environment state only, proactive adaptation mechanisms predict the potential environmental changes and make better adaptation plan accordingly. Proactive Latency-aware Adaptation (PLA for shot) and Control-based Requirements-oriented Adaptation (CobRA for short) are two representative approaches to build proactive self-adaptation mechanisms. Despite their different design and implementation details, PLA and CobRA are reported to have a very similar performance in supporting self-adaptation. In this paper, we conduct an in-depth comparison between these two approaches, trying to explain their effectiveness. We separate a proactive self-adaptation mechanism into three modules, namely system modelling, environment predicting, and uncertainty filtering. We identify the design choices of PLA and CobRA approaches, in terms of these three modules. We performed an ablation study on the three modules of PLA and compared their performance with CobRA. Our study reveals the very important role of uncertainty filtering in supporting self-adaptation, as well as the huge impact of a fluctuant environment on a self-adaptation mechanism. Based on this observation, we briefly discuss a conceptual self-adaptation mechanism, MAPE-U (monitoring, analyzing, planning, executing with uncertainty).