Product Design, Manufacturing & Innovation Resources
집 » 복구 블록 스키마

복구 블록 스키마

1975-06-01
  • Brian Randell
Software engineer analyzing Recovery Block Scheme in a modern office setting.

(설명을 위한 생성된 이미지입니다)

복구 블록 스키마는 설계 다양성과 역방향 오류 복구를 기반으로 하는 소프트웨어 내결함성 기법입니다. 이 기법은 프로그램을 일련의 블록으로 구성하며, 각 블록은 주 모듈, 인수 테스트, 그리고 하나 이상의 대체 모듈로 이루어져 있습니다. 주 모듈의 출력이 인수 테스트를 통과하지 못하면 시스템 상태가 복원되고 대체 모듈이 실행됩니다.

브라이언 랜델이 도입한 복구 블록 개념은 소프트웨어 내결함성을 달성하기 위한 구조화된 접근 방식입니다. 이 개념은 특정 작업에 대해 대체 모듈이라고 하는 중복 소프트웨어 모듈을 제공하고, 작업 결과의 정확성을 검증하는 메커니즘을 결합하는 원칙에 기반합니다. 핵심 구성 요소는 인수 테스트(AT), 기본 대체 모듈(P), 그리고 일련의 보조 대체 모듈(Q1, Q2, ...)입니다. 기본 대체 모듈을 실행하기 전에 시스템은 현재 상태의 체크포인트를 저장합니다. P가 완료되면 출력에 대해 인수 테스트가 실행됩니다. AT는 결과가 허용 가능한지 검증하는 중요한 논리입니다. 절대적인 정확성을 증명할 필요는 없지만, 결과가 합리적이고 일관성이 있는지를 검증하는 것이 중요합니다.

AT(인식 테스트)를 통과하면 체크포인트는 폐기되고 프로그램은 계속 진행됩니다. 그러나 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

잠재적 혁신 아이디어

  • automated generation of acceptance tests from formal specifications
  • hardware-accelerated checkpointing and rollback mechanisms
  • integration of recovery blocks with machine learning for predictive fault detection
  • distributed recovery blocks for microservices architectures
  • recovery blocks for securing smart contracts on blockchains
  • adaptive recovery block systems that reorder alternates based on past performance
  • lightweight recovery block frameworks for resource-constrained embedded systems
  • concurrent recovery blocks for multi-threaded applications
  • 형식적 검증 tools for proving the correctness of recovery block implementations
  • self-synthesizing software that generates its own alternate modules
관련 주제: 복구 블록, 소프트웨어 내결함성, 설계 다양성, 인수 테스트, 역방향 오류 복구, 체크포인트, 브라이언 랜델, 안전 필수 소프트웨어, 중복 모듈, N 버전 프로그래밍.

역사적 맥락

복구 블록 스키마

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

(날짜를 알 수 없거나 관련이 없는 경우, 예를 들어 "유체역학"의 경우, 주목할 만한 등장 시기를 대략적으로 추정하여 제공합니다.)

10년차 기념일

고화질 이미지 및 다운로드는 등록된 회원에게만 100% 무료로 제공됩니다.

> 로그인 <