| | |
Summary: Designing Masking Faulttolerance
via Nonmasking Faulttolerance
Anish Arora Sandeep S. Kulkarni 1
Abstract
Masking faulttolerance guarantees that programs continually satisfy their specifi
cation in the presence of faults. By way of contrast, nonmasking faulttolerance does
not guarantee as much: it merely guarantees that when faults stop occurring, pro
gram executions converge to states from where programs continually (re)satisfy their
specification.
We present in this paper a component based method for the design of masking fault
tolerant programs. In this method, components are added to a faultintolerant program
in a stepwise manner, first, to transform a faultintolerant program into a nonmask
ing faulttolerant one and, then, to enhance the faulttolerance from nonmasking to
masking. We illustrate the method by designing programs for agreement in the pres
ence of Byzantine faults, data transfer in the presence of message loss, triple modulo
redundancy in the presence of input corruption, and mutual exclusion in the presence
of process failstops. These examples also serve to demonstrate that the method accom
modates a variety of faultclasses, it provides alternative designs for programs usually
designed with extant design methods, and it offers the potential for improved masking
faulttolerant programs.
|