Product Design, Manufacturing & Innovation Resources
» 复苏计划

复苏计划

1975-06-01
  • Brian Randell
软件工程师在现代化的办公环境中分析 "恢复块计划"。.

(图片仅供参考)

The recovery block scheme is a 软件 fault-tolerance technique based on design diversity and backward error recovery. It structures a program as a series of blocks, each with a primary module, an acceptance test, and one or more alternate modules. If the primary module’s output fails the acceptance test, the system state is restored, and an alternate module is executed.

由Brian Randell提出的恢复块概念是一种实现软件容错的结构化方法。其基本原理是为给定的操作提供冗余的软件模块(称为备选方案),并结合一种机制来验证操作结果的正确性。关键组件包括:验收测试(AT)、主备选方案(P)和一系列辅助备选方案(Q1、Q2、Q3)。在执行主备选方案之前,系统会保存其当前状态的检查点。P完成后,系统会对输出运行验收测试。验收测试是验证结果是否可接受的关键逻辑;它不需要证明绝对正确性,而是验证结果是否合理且一致。

如果验收测试 (AT) 的结果通过,则丢弃检查点,程序继续执行。但是,如果验收测试失败,或者主备选方案本身执行失败(例如,由于运行时错误),系统将执行回滚操作。它会从保存的检查点恢复状态,然后执行序列中的下一个备选方案 (Q1)。Q1 的输出随后将接受相同的验收测试。此过程持续进行,直到某个备选方案产生通过测试的结果,或者所有备选方案都已执行完毕,此时将宣布系统级故障。

恢复模块的有效性取决于备选方案的多样性。主模块和辅助模块应独立设计和实现,理想情况下由不同的团队使用不同的算法或编程语言完成。这最大限度地降低了所有备选方案中存在共同设计缺陷(bug)的可能性,否则所有备选方案都会以相同的方式通过验收测试。验收测试本身就是一个单点故障,因此必须比它所测试的模块更简单、更可靠。与另一种软件容错技术——N版本编程相比,恢复模块由于一次只执行一个模块,因此效率更高,但由于存在回滚和重新执行的可能性,它会引入延迟。

UNESCO Nomenclature: 1203
- 计算机科学

类型

软件/算法

中断

递增

用法

小众/专业

前体

  • 编程语言中的异常处理概念
  • 数据库事务和回滚机制
  • 早期程序验证和正确性方面的工作
  • 硬件工程中的冗余一般原则

应用程序

  • 铁路信号系统中的安全关键型软件
  • 核反应堆保护系统
  • 软件故障可能造成灾难性后果的航空航天应用
  • 实验性容错操作系统

专利:

NA

潜在创新理念

由于机器人流量被拦截(目前每天超过 4 万),此内容仅限社区成员查看。
> 登录 > 或者 > 注册 < (100% 免费)即可访问此内容,以及所有其他受限内容和工具。

相关内容:恢复块、软件容错、设计多样性、验收测试、向后错误恢复、检查点、Brian Randell、安全关键软件、冗余模块、N 版本编程。

历史背景

复苏计划

1970
1970
1970-01-01
1975-06-01
1980
1980
1980
1970
1970
1970
1973
1980
1980
1980
1982-07-01

(如果日期未知或不相关,例如“流体力学”,则提供其显著出现的近似估计)

相关发明、创新和技术原理

只有注册会员才能免费获得 100% 的全尺寸图片和下载。.

> 登录 <