Software Design for Resilient Computer Systems [electronic resource] /
Schagaev, Igor.author.
Thomas, Kaegi.author.
This book addresses the question of how system software should be designed to account for faults, and which fault tolerance features it should provide for highest reliability. The authors first show how the system software interacts with the hardware to tolerate faults. They analyze and further develop the theory of fault tolerance to understand the different ways to increase the reliability of a system, with special attention on the role of system software in this process. They further develop the general algorithm of fault tolerance (GAFT) with its three main processes: hardware checking, preparation for recovery, and the recovery procedure. For each of the three processes, they analyze the requirements and properties theoretically and give possible implementation scenarios and system software support required. Based on the theoretical results, the authors derive an Oberon-based programming language with direct support of the three processes of GAFT. In the last part of this book, they introduce a simulator, using it as a proof of concept implementation of a novel fault tolerant processor architecture (ERRIC) and its newly developed runtime system feature-wise and performance-wise. The content applies to industries such as military, aviation, intensive health care, industrial control, space exploration, etc. · Outlines potential critical faults in the modern computer systems and what is required to change them · Explains how to design and re-design system software for the next generation of computers for wider application domains and greater efficiency and reliability · Presents how implemented system software support makes maintenance of computer systems much easier, while reliability and performance increases.
Includes index.
Introduction -- Hardware Faults -- Fault Tolerance: Theory and Concepts -- Generalized Algorithm of Fault Tolerance (GAFT) -- GAFT Generalization: A Principle and Model of Active System Safety -- System Software Support for Hardware Deficiency: Function and Features -- Testing and Checking -- Recovery Preparation -- Recovery: Searching and Monitoring of Correct Software States -- Recovery Algorithms: An Analysis -- Programming Language for Safety Critical Systems -- Proposed Runtime System Structure -- Proposed Runtime System vs. Existing Approaches -- Hardware: The ERRIC Architecture -- Architecture Comparison and Evaluation -- ERRIC Reliability.
This book addresses the question of how system software should be designed to account for faults, and which fault tolerance features it should provide for highest reliability. The authors first show how the system software interacts with the hardware to tolerate faults. They analyze and further develop the theory of fault tolerance to understand the different ways to increase the reliability of a system, with special attention on the role of system software in this process. They further develop the general algorithm of fault tolerance (GAFT) with its three main processes: hardware checking, preparation for recovery, and the recovery procedure. For each of the three processes, they analyze the requirements and properties theoretically and give possible implementation scenarios and system software support required. Based on the theoretical results, the authors derive an Oberon-based programming language with direct support of the three processes of GAFT. In the last part of this book, they introduce a simulator, using it as a proof of concept implementation of a novel fault tolerant processor architecture (ERRIC) and its newly developed runtime system feature-wise and performance-wise. The content applies to industries such as military, aviation, intensive health care, industrial control, space exploration, etc. · Outlines potential critical faults in the modern computer systems and what is required to change them · Explains how to design and re-design system software for the next generation of computers for wider application domains and greater efficiency and reliability · Presents how implemented system software support makes maintenance of computer systems much easier, while reliability and performance increases.
Electrical engineering.
Electronic circuits.
Software engineering.
Computer software—Reusability.
Quality control.
Reliability.
Industrial safety.
Communications Engineering, Networks.
Circuits and Systems.
Software Engineering.
Performance and Reliability.
Quality Control, Reliability, Safety and Risk.