高效故障安全多容错系统的设计
在当今复杂的软件系统中,确保系统在面对各种故障时仍能安全运行是至关重要的。本文将深入探讨如何为故障不耐受程序添加故障安全容错能力,以及如何实现完美的故障安全多容错。
1. 添加故障安全容错
在为故障不耐受程序添加故障安全容错能力时,我们首先需要了解探测器在确保故障安全容错方面的作用。
1.1 探测器在故障安全容错中的作用
探测器是一种程序组件,用于检测给定状态下某个谓词是否为真。对于程序 P 中的每个动作 ac,存在一个谓词,使得在该谓词为真的状态下执行 ac 能满足安全规范 SS。动作 ac 可以转换为 (d∧g →st),其中 d 是实现该谓词的探测器。我们称动作 ac 与探测器 d 组合,或者说探测器 d 监控动作 ac。
如果由动作 ac 引起的状态转换 (s, s′) 违反了安全规范 SS,则该转换为不良转换。任何违反 SS 的计算都包含不良转换。通过考虑所有状态转换 (s, s′),可以在多项式时间内计算出不良转换集合。
虽然已有研究表明故障安全容错程序包含探测器,但未说明如何设计所需的探测器。Jhumka 等人提出了一种理论,为设计有效(完整且准确)的探测器奠定了基础。
1.2 添加故障安全容错的转换问题
添加故障安全容错的问题可以形式化为:给定安全规范 SS、故障模型 F 和对 SS 不耐受 F 的程序 P,找到一个程序 P′,满足以下条件:
1. P′ 在存在 F 的情况下满足 SS。
2. 在不存在 F 的情况下,P′ 的每个计算都是 P 的计算。
3. 在不存在 F 的情况下,P 的每个计算都
超级会员免费看
订阅专栏 解锁全文
62

被折叠的 条评论
为什么被折叠?



