Issue No. 08 - Aug. (1986 vol. 12)
Roy H. Campbell , Department of Computer Science, University of Illinois at Urbana-Champaign, Urbana, IL 61801
Brian Randell , Computer Laboratory, University of Newcastle upon Tyne, Newcastle upon Tyne NEI 7RU, England
The demand for highly reliable computer systems has led to techniques for the construction of fault-tolerant software systems. A fault-tolerant system detects errors created as the effects of a fault and applies error recovery provisions in the form of abnormal or exceptional mechanisms and algorithms to continue operation and restore normal computation. Backward error recovery is intended to restore a system state which occurred prior to the manifestation of the fault. Forward error recovery is intended to correct or isolate specific errors and is accomplished in the system state containing the errors. The organization and control of error recovery in asynchronous systems is very complex. Nevertheless, it is possible to limit this complexity by appropriate system structuring aids. Techniques for structuring backward error recovery are comparatively well understood. This paper proposes techniques for structuring forward error recovery measures in asynchronous systems and generalizes recent ideas of atomic actions (transactions) so as to support fault-tolerant interactions between processes.
Fault tolerance, Fault tolerant systems, Context, Protocols, Atomic measurements, Software, Computers, software reliability, Asynchronous systems, atomic actions, error recovery, exception mechanism, programming techniques, software fault tolerance
R. H. Campbell and B. Randell, "Error recovery in asynchronous systems," in IEEE Transactions on Software Engineering, vol. 12, no. , pp. 811-826, 1986.