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.- Reliability of ERRIC .- Performance of ERRIC.- ERRIC Software.- How about resilience at large.- Map of Resilience.
Dr. Igor Schagaev is a Professor and Director of IT-ACS Ltd (UK). He is a Fellow of the Institute of Analyst and Programmers (UK), Fellow of British Computer Society (UK). His career has started as an Electromechanical Engineer at the Smolensk aviation factory, USSR, a Senior Programmer and Design Engineer at the Institute of Advanced Computations, Central Bureau, Smolensk Branch, and a Senior Design Engineer and System Programmer for Avionics. Completed PhD in Russian Academy of Science (Institute of Control Science) and involvement in projects of hardware and software for submarines, satellites and aircrafts enables Igor to absorb an experience which he share with Boeing in 98-99. In 1994 Igor has established ATLAB Ltd Bristol now transformed into IT-ACS Ltd. He has published 7 books in three languages, over 60 papers, since 2006 holds international patent on New Active System Control and supportive mathematical models. Professor Schagaev has been honoured with several industry awards, achievements, and grants.
Prof Eugene Zouev is currently a professor in Innopolis University, Russia. Eugene has graduated and defended his PhD in Moscow State University (1976 and 1999, respectively). He was involved in many research and industrial projects in system software, programming languages and their compilers.
Among his achievements were full ISO-compliant C++ compiler (2000, Moscow, Russia), Zonnon language compiler for .NET (ETH Zurich 2000-2006) with and under supervision of Prof Niklaus Wirth (Turing Award) and Prof J. Gutknecht, and many other projects. His involvement in EU funded project (ONBASS 2004-09) became a next step in research and development summarised to some extent in this book.
Dr. Thomas Kaegi-Trachsel received his PhD in 2012 in ETH Zurich in the area of system software for embedded systems (under supervision of Prof. Schagaev). He is currently a Senior Researcher at Ergon Informatics, Switzerland.
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. With this second edition of Software Design for Resilient Computer Systems the book is thoroughly updated to contain the newest advice regarding software resilience. With additional chapters on computer system performance and system resilience, as well as online resources, the new edition is ideal for researchers and industry professionals.
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.
Due to the wide reaching nature of the content, this book applies to a host of industries and research areas, including military, aviation, intensive health care, industrial control, and space exploration.