Modern software systems often have to cope with uncertain operation conditions, such as changing workloads or fluctuating interference in a wireless network. To ensure that these systems meet their goals these uncertainties have to be mitigated. One approach to realize this is self-adaptation that equips a system with a feedback loop. The feedback loop implements four core functions -- monitor, analyze, plan, and execute -- that share knowledge in the form of runtime models. For systems with a large number of adaptation options, i.e., large adaptation spaces, deciding which option to select for adaptation may be time consuming or even infeasible within the available time window to make an adaptation decision. This is particularly the case when rigorous analysis techniques are used to select adaptation options, such as formal verification at runtime, which is widely adopted. One technique to deal with the analysis of a large number of adaptation options is reducing the adaptation space using machine learning. State of the art has showed the effectiveness of this technique, yet, a systematic solution that is able to handle different types of goals is lacking. In this paper, we present ML2ASR+, short for Machine Learning to Adaptation Space Reduction Plus. Central to ML2ASR+ is a configurable machine learning pipeline that supports effective analysis of large adaptation spaces for threshold, optimization, and setpoint goals. We evaluate ML2ASR+ for two applications with different sizes of adaptation spaces: an Internet-of-Things application and a service-based system. The results demonstrate that ML2ASR+ can be applied to deal with different types of goals and is able to reduce the adaptation space and hence the time to make adaptation decisions with over 90%, with negligible effect on the realization of the adaptation goals.
翻译:现代软件系统常常需要应对不确定的运行环境,例如变化的负载或无线网络中波动的干扰。为确保这些系统达成目标,必须缓解这类不确定性。实现这一目标的一种途径是采用自适应技术,为系统配备反馈环路。该反馈环路实现了四项核心功能——监控、分析、规划、执行——这些功能通过运行时模型的形式共享知识。对于拥有大量适配选项(即大型适配空间)的系统而言,在可用的适配决策时间窗口内选择采用哪个选项可能耗时过长甚至不可行,尤其当使用严格的分析技术(如广泛采用的运行时形式化验证)来选定适配选项时更是如此。处理大量适配选项分析的一种技术是使用机器学习缩减适配空间。现有研究已证明该技术的有效性,但目前仍缺乏能够应对不同类型目标的系统性解决方案。本文提出ML2ASR+(Machine Learning to Adaptation Space Reduction Plus,基于机器学习的适配空间缩减增强方法)。ML2ASR+的核心是一个可配置的机器学习流水线,能够支持针对阈值目标、优化目标和设定点目标的大型适配空间有效分析。我们针对两个具有不同规模适配空间的应用程序(物联网应用与基于服务的系统)对ML2ASR+进行了评估。结果表明,ML2ASR+可适用于处理不同类型的目标,能够将适配空间及适配决策时间缩减超过90%,同时对适配目标的实现效果影响可忽略不计。