JUCS - Journal of Universal Computer Science 5(10): 668-692, doi: 10.3217/jucs-005-10-0668
Transformational Approaches to the Specification and Verification of Fault-Tolerant Systems: Formal Background and Classification
expand article infoFelix C. Gärtner
‡ Darmstadt University of Technology, Germany
Open Access
Proving that a program suits its specification and thus can be called correct has been a research subject for many years resulting in a wide range of methods and formalisms. However, it is a common experience that even systems which have been proven correct can fail due to physical faults occurring in the system. As computer programs control an increasing part of todays critical infrastructure, the notion of correctness has been extended to fault tolerance, meaning correctness in the presence of a certain amount of faulty behavior of the environment. Formalisms to verify fault-tolerant systems must model faults and faulty behavior in some form or another. Common ways to do this are based on a notion of transformation either at the program or the specification level. We survey the wide range of formal methods to verify fault-tolerant systems which are based on some form of transformation. Our aim is to classify these methods, relate them to one another and, thus, structure the area. We hope that this might faciliate the involvement of researchers into this interesting field of computer science.
fault tolerance, specification, verification, transformation, fault model, failure model