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

复苏计划

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

(图片仅供参考)

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

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

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

The effectiveness of recovery blocks hinges on the diversity of the alternates. The primary and secondary modules should be designed and implemented independently, ideally by different teams using different algorithms or programming languages. This minimizes the chance of a common design flaw (a bug) existing in all alternates, which would cause them all to fail the acceptance test in the same way. The acceptance test itself is a single point of failure and must be simpler and more reliable than the modules it is testing. Compared to N-version programming, another software fault tolerance technique, recovery blocks can be more efficient as they only execute one module at a time, but they introduce latency due to the potential for rollback and re-execution.

UNESCO Nomenclature: 1203
- 计算机科学

类型

软件/算法

中断

递增

用法

小众/专业

前体

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

应用程序

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

专利:

NA

潜在创新理念

  • 根据形式化规范自动生成验收测试
  • 硬件加速的检查点和回滚机制
  • 将恢复模块与机器学习相结合,用于预测性故障检测
  • 面向微服务架构的分布式恢复块
  • 用于保护区块链上智能合约的恢复块
  • 根据过去表现重新排列备选方案的自适应恢复块系统
  • 面向资源受限嵌入式系统的轻量级恢复块框架
  • 多线程应用程序的并发恢复块
  • 形式验证 tools for proving the correctness of recovery block implementations
  • 能够生成自身替代模块的自合成软件
相关内容:恢复块、软件容错、设计多样性、验收测试、向后错误恢复、检查点、Brian Randell、安全关键软件、冗余模块、N 版本编程。

历史背景

复苏计划

1970
1970
1970-01-01
1975-06-01
1980
1980
1980
1970
1970
1970
1973
1980
1980
1980
1980

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

第十年 周年纪念日

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

> 登录 <