Product Design, Manufacturing & Innovation Resources
Heim » Wiederherstellungsblocksystem

Wiederherstellungsblocksystem

1975-06-01
  • Brian Randell
Software-Ingenieur, der das Recovery Block Scheme in einer modernen Büroumgebung analysiert.

(Abbildung dient nur zur Veranschaulichung)

Das Recovery-Block-Schema ist eine Software-Fehlertoleranztechnik, die auf Designdiversität und rückwärtsgerichteter Fehlerbehebung basiert. Es strukturiert ein Programm in eine Reihe von Blöcken, von denen jeder ein primäres Modul, einen Akzeptanztest und ein oder mehrere alternative Module enthält. Falls die Ausgabe des primären Moduls den Akzeptanztest nicht besteht, wird der Systemzustand wiederhergestellt und ein alternatives Modul ausgeführt.

Das von Brian Randell eingeführte Recovery-Block-Konzept ist ein strukturierter Ansatz zur Erreichung von Software-Fehlertoleranz. Es basiert auf dem Prinzip, redundante Softwaremodule, sogenannte Alternativen, für eine gegebene Operation bereitzustellen, gekoppelt mit einem Mechanismus zur Überprüfung der Korrektheit des Operationsergebnisses. Die Schlüsselkomponenten sind: der Akzeptanztest (AT), die primäre Alternative (P) und eine Sequenz sekundärer Alternativen (Q1, Q2, …). Vor der Ausführung der primären Alternative speichert das System einen Prüfpunkt seines aktuellen Zustands. Nach Abschluss von P wird der Akzeptanztest auf die Ausgabe angewendet. Der AT ist ein entscheidender Logikbaustein, der die Akzeptanz des Ergebnisses überprüft; er muss keine absolute Korrektheit beweisen, sondern lediglich, dass das Ergebnis plausibel und konsistent ist.

If the result passes the AT, the checkpoint is discarded, and the program proceeds. However, if the AT fails, or if the primary alternate itself fails to execute (e.g., due to a runtime error), the system performs a rollback. It restores the state from the saved checkpoint and then executes the next alternate in the sequence (Q1). The output of Q1 is then subjected to the same acceptance test. This process continues until an alternate produces a result that passes the test, or all alternates have been exhausted, at which point a system-level failure is declared.

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
- Computerwissenschaften

Typ

Software/Algorithmus

Störung

Inkremental

Verwendung

Nische/Spezialisiert

Vorläufer

  • Concepts of exception handling in programming languages
  • Database transaction and rollback mechanisms
  • Early work on program verification and correctness
  • General principles of redundancy from hardware engineering

Anwendungen

  • safety-critical software in railway signaling systems
  • nuclear reactor protection systems
  • aerospace applications where software failure is catastrophic
  • experimental fault-tolerant operating systems

Patente:

NA

Potenzielle Innovationsideen

  • 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
  • formale Verifikation tools for proving the correctness of recovery block implementations
  • self-synthesizing software that generates its own alternate modules
Verwandte Themen: Wiederherstellungsblöcke, Software-Fehlertoleranz, Designdiversität, Abnahmetest, Rückwärtsfehlerbehebung, Checkpointing, Brian Randell, sicherheitskritische Software, redundante Module, N-Versionen-Programmierung.

Historischer Kontext

Wiederherstellungsblocksystem

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

(wenn das Datum unbekannt oder nicht relevant ist, z. B. „Strömungsmechanik“, wird eine gerundete Schätzung seines bemerkenswerten Auftretens bereitgestellt)

10. Jahr Jubiläum

Bilder in voller Größe und Downloads sind nur für registrierte Mitglieder 100% kostenlos verfügbar.

> Login <