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

复苏计划

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

(图片仅供参考)

恢复块方案是 软件 这是一种基于设计多样性和向后错误恢复的容错技术。它将程序结构化为一系列模块,每个模块包含一个主模块、一个验收测试模块以及一个或多个备用模块。如果主模块的输出未能通过验收测试,则系统状态恢复,并执行备用模块。

由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
1980

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

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

> 登录 <