Abstract
An increasing range of industries have a growing dependence on embedded software systems, many of which are safety-critical, real-time applications that require extremely high dependability. Two fundamental approaches — fault avoidance and fault tolerance — have been proposed to increase the overall dependability of such systems. However, the increased cost of using the fault tolerance approach may mean that this increase in dependability is not worth the extra expense involved. We describe an experiment undertaken in order to establish whether or not software redundancy (or the multi-version design method) can offer increased dependability over the traditional single-version development approach when given the same level of resources. The results of this and a subsequent follow-up study are then given. The analytic results from these experiments show that despite the poor quality of individual versions, the multi-version method results in a safer system than the single-version solution. It is evident that regarding the single-version method as a “seem-to-be” safer design decision for critical applications is not generally justifiable.
Key words
The updated original online version for this book can be found at DOI: 10.1007/978-0-387-35599-3_29
Download to read the full chapter text
Chapter PDF
References
A. Avizienis and L. Chen, “On the implementation of N-version programming for software fault-tolerance during execution,” in Intl. Conf. Comput. Soft. & Appli., New York, pp. 149–155, 1977.
A. Avizienis and J.P.J. Kelly, “Fault tolerance by design diversity: concepts and experiments,” IEEE Computer, vol. 17, no. 8, pp. 67–80, 1984.
A. Avizienis and M.R. Lyu, “On the effectiveness of multi-version software in digital avionics,” in AIAA/IEEE 8th Digital Avionics Systems Conference, San Jose, pp. 422–427, Oct. 1988.
A. Avizienis et al., “In search of effective diversity: a six-language study of fault-tolerant flight control software,” in 18th Int. Symp. Fault-Tolerant Comput., pp.15–22, Tokyo, 1988.
D.E. Eckhardt and L.D. Lee, “A theoretical basis for the analysis of multi-version software subject to coincident errors,” IEEE Trans. Soft. Eng., vol.SE-11, no. 12, pp. 1511–1517, 1985.
L. Hatton, “N-version design versus one good version,” IEEE Software, vol. 14, no. 6, pp. 71–76, 1997.
J.P.J. Kelly, T.I. McVittie, and W I Yamamoto, “Implementing design diversity to achieve fault tolerance,” IEEE Software, pp. 61–71, 1991.
J.C. Knight and N.G. Leveson, “An experimental evaluation of the assumption of independence in multi-version programming,” IEEE Trans. Soft. Eng., vol.SE-12, no. 1, pp. 96–109, 1986.
J.C. Knight and N.G. Leveson, “A reply to the criticisms of the Knight and Leveson experiment,” ACM Software Eng. Notes, Jan. 1990.
P. Ladkin et al, “Computer-related incidents with commercial aircraft,” http://www.rvs.uni-bielefeld.de/publications/Incidents/,1999.
J.-C. Laprie, “Dependability — its attributes, impairments and means,” in Predictably Dependable Computing Systems, Springer-Verlag, pp. 3–24, 1995.
N.G. Leveson, Safeware: system safety and computers. Addison-Wesley-Longman, NY, 1995.
A. Ltitzbeyer and R. Mühlfeld, “Task description of a Flexible Production Cell with real time properties,” Internal FZI Tech. Report, ftp://ftp.fzi.de/pub/PROST/projects/korsys/taskdescrflex22.ps.gz), 1996.
B. Randell and J.Xu, “The evolution of the recovery block concept,” in Software Fault Tolerance, Wileys, pp. 1–22, 1995.
http://www.scintilla.utwente.nl/shintabi/engels/thematext.html
P.Townend, J. Xu, and M. Munro, “Building dependable software for critical applications: N-version design versus one good version,” in Proc. 6 6 IEEE WORDS-6, pp. 105–111, Rome, Jan. 2001.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2002 IFIP International Federation for Information Processing
About this chapter
Cite this chapter
Townend, P., Xu, J., Munro, M. (2002). Building Embedded Fault-Tolerant Systems for Critical Applications: An Experimental Study. In: Kleinjohann, B., Kim, K.H., Kleinjohann, L., Rettberg, A. (eds) Design and Analysis of Distributed Embedded Systems. DIPES 2002. IFIP — The International Federation for Information Processing, vol 91. Springer, Boston, MA. https://doi.org/10.1007/978-0-387-35599-3_11
Download citation
DOI: https://doi.org/10.1007/978-0-387-35599-3_11
Publisher Name: Springer, Boston, MA
Print ISBN: 978-1-4757-4937-3
Online ISBN: 978-0-387-35599-3
eBook Packages: Springer Book Archive