Issue No. 04 - July/August (1991 vol. 8)
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/52.300038
<p>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.</p>
fault tolerant computing; hardware faults; software faults; real-time concurrent system; design diversity; recovery-block software; multiversion software; fault tolerant computing; multiprocessing programs; multiprocessing systems; real-time systems; software reliability
W. I. Yamamoto, J. P. Kelly and T. I. McVittie, "Implementing Design Diversity to Achieve Fault Tolerance," in IEEE Software, vol. 8, no. , pp. 61-71, 1991.