Implementing Design Diversity to Achieve Fault Tolerance

  • Authors:
  • John P. J. Kelly;Thomas I. McVittie;Wayne I. Yamamoto

  • Affiliations:
  • -;-;-

  • Venue:
  • IEEE Software
  • Year:
  • 1991

Quantified Score

Hi-index 0.01

Visualization

Abstract

The software faults that are particularly significant in a real-time concurrent system are identified, and the use of design diversity to prevent their occurrence is examined. Two approaches to enforced diversity, recovery-block software and multiversion software, are discussed. The recovery-block scheme combines N diverse software versions arranged (conceptually, at least) in sequential order, although the versions may also be organized to execute concurrently. The multiversion-software approach excuses all N versions in parallel, taking advantage of the redundant processors likely to be available in any system that must tolerate hardware and software faults. Although different, both approaches require sufficiently diverse development environments and that faults in the specification do not lead to similar errors.