Self-healing systems depend on following a set of predefined instructions to recover from a known failure state. Failure states are generally detected based on domain specific specialized metrics. Failure fixes are applied at predefined application hooks that are not sufficiently expressive to manage different failure types. Self-healing is usually applied in the context of distributed systems, where the detection of failures is constrained to communication problems, and resolution strategies often consist of replacing complete components. Our proposal targets complex reactive systems, defining monitors as predicates specifying satisfiability conditions of system properties. Such monitors are functionally expressive and can be defined at run time to detect failure states at any execution point. Once failure states are detected, we use a Reinforcement Learning-based technique to learn a recovery strategy based on users' corrective sequences. Finally, to execute the learned strategies, we extract them as COP variations that activate dynamically whenever the failure state is detected, overwriting the base system behavior with the recovery strategy for that state. We validate the feasibility and effectiveness of our framework through a prototypical reactive application for tracking mouse movements, and the DeltaIoT exemplar for self-healing systems. Our results demonstrate that with just the definition of monitors, the system is effective in detecting and recovering from failures between 55%-92% of the cases in the first application, and at par with the predefined strategies in the second application.
翻译:自愈合系统依赖于遵循一组预定义指令从已知故障状态中恢复。故障状态通常基于领域特定的专业指标进行检测,而故障修复仅在预定义的应用钩子处执行,这些钩子不足以表达对不同故障类型的处理能力。自愈合通常应用于分布式系统中,其故障检测局限于通信问题,而解决策略往往涉及替换完整组件。我们的方案针对复杂反应式系统,将监视器定义为断言系统属性可满足性条件的谓词。这些监视器具有功能表达性,可在运行时定义以检测任意执行点的故障状态。一旦检测到故障状态,我们采用基于强化学习的技术,通过用户的纠正序列学习恢复策略。最后,为执行所学策略,我们将它们提取为COP变体,在检测到故障状态时动态激活,用该状态的恢复策略覆盖基础系统行为。我们通过一个用于追踪鼠标移动的原型反应式应用以及用于自愈合系统的DeltaIoT示例,验证了框架的可行性与有效性。结果表明,仅通过定义监视器,系统就能在第一个应用中有效检测并恢复55%-92%的故障案例,并在第二个应用中达到与预定义策略相当的水平。