2.3 Fault Tolerance


Personal Finance Records Keeping

Fault tolerance can be defined as capability of the software to maintain a specified level of performance in case
of software faults or of infringement of its specified interface.
Examples of fault-tolerant systems can be found many nowadays, August, Parallel, Tandem, AT&T3B20D,
Stratus, and Intel 432 are some well known fault tolerant systems.
The main difference between fault avoidance and fault tolerance is that fault avoidance technique tries to reduce
the probability of fault occurrence, while fault tolerance technique tries to keep the system operational despite
the presence of faults.
Complete fault avoidance or elimination is not possible, a critical system always employs fault tolerance
techniques to guarantee high system reliability and availability as fault tolerance tries to protect against the
impacts of faults during system operation.
Software fault tolerance methods include: exception handling, watchdog timers, assertions, acceptability checks,
reasonableness checks, design diversity, and data diversity.