反应式系统中动态自修复的学习恢复策略
分布式、并行与集群计算
2024-01-24 v1 软件工程
摘要
自修复系统依赖于遵循一组预定义的指令来从已知的故障状态中恢复。故障状态通常基于特定领域的专用指标来检测。故障修复在预定义的应用程序钩子处应用,这些钩子不足以表达不同的故障类型。自修复通常应用于分布式系统,其中故障检测受限于通信问题,而解决策略通常包括替换完整的组件。我们的提议针对复杂的反应式系统,将监控器定义为指定系统属性可满足性条件的谓词。此类监控器在功能上具有表达力,并且可以在运行时定义,以在任何执行点检测故障状态。一旦检测到故障状态,我们使用基于强化学习的技术,根据用户的纠正序列来学习恢复策略。最后,为了执行学习到的策略,我们将它们提取为 COP 变体,这些变体在检测到故障状态时动态激活,用该状态的恢复策略覆盖基本系统行为。我们通过一个用于跟踪鼠标移动的原型反应式应用程序和用于自修复系统的 DeltaIoT 示例,验证了我们框架的可行性和有效性。我们的结果表明,仅通过定义监视器,系统在第一个应用中能有效检测并从 55%-92% 的故障中恢复,在第二个应用中其效果与预定义策略相当。
引用
@article{arxiv.2401.12405,
title = {Learning Recovery Strategies for Dynamic Self-healing in Reactive Systems},
author = {Mateo Sanabria and Ivana Dusparic and Nicolas Cardozo},
journal= {arXiv preprint arXiv:2401.12405},
year = {2024}
}
备注
Preprint accepted to 19th International Conference on Software Engineering for Adaptive and Self-Managing Systems (SEAMS24)