Resourceful systems for fault tolerance, reliability, and safety
- 1 March 1990
- journal article
- Published by Association for Computing Machinery (ACM) in ACM Computing Surveys
- Vol. 22 (1) , 35-68
- https://doi.org/10.1145/78949.78951
Abstract
Above all, it is vital to recognize that completely guaranteed behavior is impossible and that there are inherent risks in relying on computer systems in critical environments. The unforeseen consequences are often the most disastrous [Neumann 1986]. Section 1 of this survey reviews the current state of the art of system reliability, safety, and fault tolerance. The emphasis is on the contribution of software to these areas. Section 2 reviews current approaches to software fault tolerance. It discusses why some of the assumptions underlying hardware fault tolerance do not hold for software. It argues that the current software fault tolerance techniques are more accurately thought of as delayed debugging than as fault tolerance. It goes on to show that in providing both backtracking and executable specifications, logic programming offers most of the tools currently used in software fault tolerance. Section 3 presents a generalization of the recovery block approach to software fault tolerance, called resourceful systems . Systems are resourceful if they are able to determine whether they have achieved their goals or, if not, to develop and carry out alternate plans. Section 3 develops an approach to designing resourceful systems based upon a functionally rich architecture and an explicit goal orientation.Keywords
This publication has 27 references indexed in Scilit:
- No Silver Bullet Essence and Accidents of Software EngineeringComputer, 1987
- PODS — A project on diverse softwareIEEE Transactions on Software Engineering, 1986
- Foreword reliability and safety in real-time systemsIEEE Transactions on Software Engineering, 1986
- Evaluation of competing software reliability predictionsIEEE Transactions on Software Engineering, 1986
- Dependable computing: From concepts to design diversityProceedings of the IEEE, 1986
- Domain-Specific Automatic ProgrammingIEEE Transactions on Software Engineering, 1985
- Fault Tolerance by Design Diversity: Concepts and ExperimentsComputer, 1984
- Computer BackgammonScientific American, 1980
- Fault Tolerant Operating SystemsACM Computing Surveys, 1976
- Assigning meanings to programsPublished by American Mathematical Society (AMS) ,1967