Skip to main content

Current Experiences with Fault Tolerant Software Design: Dependability Through Diverse Formal Specifications?

  • Conference paper
Fehlertolerierende Rechensysteme / Fault-tolerant Computing Systems

Part of the book series: Informatik-Fachberichte ((INFORMATIK,volume 214))

Abstract

We view fault prevention and fault tolerance as complementary strategies for achieving dependability [1]. While fault tolerance in the hardware can be handled by replicating components, design fault tolerance for software requires that development of the redundant components be based on the design diversity approach. Design diversity is the independent generation of multiple software versions from the same requirements [2]. Two general methods have been proposed for providing fault tolerance by design diversity: Recovery Block Software [3] and Multi-Version Software (also called N-Version Programming) [2]. Our work focuses on the Multi-Version Software (MVS) approach in which the multiple versions are executed concurrently and their results are checked against each other by a consensus decision algorithm. A result that deviates from the others by some specified margin is taken as an indication of an underlying software fault.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 84.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Bibliography

  1. A. Avizienis and J.C. Laprie, Dependable Computing: From Concepts to Design Diversity, Proceedings IEEE, vol. 74, no. 5, pp. 629 - 638, May 1986.

    Article  Google Scholar 

  2. A. Avizienis and J.P.J. Kelly, Fault Tolerance by Design Diversity: Concepts and Experiments, Computer, Vol 17 No 8, August 1984.

    Google Scholar 

  3. T. Anderson, Software Fault Tolerance, IEEE Trans, on Software Eng., vol. SE-11, No. 12, December 1985, pp 1502–1510.

    Google Scholar 

  4. A. Avizienis and L. Chen, On the Implementation of N-Version Programming for Fault- Tolerance During Execution, Proc. COMPSAC 77, pp. 149–155, November 1977.

    Google Scholar 

  5. C. V. Ramamoorthy, Application of a Methodology for the Development and Validation of Reliable Process Control Software, IEEE Trans, on Software Eng., vol. SE-7, no. 6, November 1981, pp 537 –554.

    Google Scholar 

  6. R.K. Scott, Experimental Validation of Six Fault-Tolerant Software Reliability Models,pp. 102–107 in Digest of 14th Annual International Symposium on Fault Tolerant Computing, June 1984.

    Google Scholar 

  7. J. Dunham, Experiments in Software Reliability: Life-Critical Applications, IEEE Trans, on Software Eng., vol. SE-12, No. 1, pp. 110–123, January 1986.

    Google Scholar 

  8. J.C. Knight and N.G. Leveson, A Large Scale Experiment in N-Version Programming, IEEE Trans, on Software Eng., vol. SE-12, No. 1, pp. 1502–1510, January 1986.

    Google Scholar 

  9. P. Bishop, Project on Diverse Software - An Experiment in Software Reliability, Proceedings IF AC Workshop Safecomp 85, Como, Italy 1985.

    Google Scholar 

  10. J.P.J. Kelly, D. E. Eckhardt, A. Caglayan, J. C. Knight, D. F. McAllister, M. A. Vouk, A Large Scale Second Generation Experiment in Multi-Version Software: Description and Early Results, 18th Annual International Symposium on Fault-Tolerant Computing, June 1988.

    Google Scholar 

  11. L.J.Yount, Architectural Solutions to Safety Problems of Digital Flight-Critical Systems for Commercial Transports, Proc. AIAA/IEEE Digital Avionics Systems Conference and Technical Display, December 1984.

    Google Scholar 

  12. W. Geiger, L. Gmeiner, H. Trauboth, and U. Voges, Program Testing Techniques for Nuclear Reactor Protection Systems. IEEE Computer, August 1979.

    Google Scholar 

  13. L. Gmeiner and U. Voges, Software Diversity in Reactor Protection Systems: An Experiment. Proc. IF AC Workshop, Stuttgart, FRG, 16–18 May 1979.

    Google Scholar 

  14. A. Avizienis, M. Lyu, and W. Schutz, In Search of Effective Diversity: A Six-Language Study of Fault-Tolerant Flight Control Software, Digest of 18th Annual Intl. Symposium on Fault–Tolerant Computing, June 1988.

    Google Scholar 

  15. J.P.J. Kelly and A. Avizienis, A Specification-Oriented Multi-Version Software Experiment, 13th Annual International Symposium on Fault-Tolerant Computing, June 1983.

    Google Scholar 

  16. A.D. Hills, Digital Fly-By-Wire Experience, Proc. AGARD Lecture Series 143 (October 1985).

    Google Scholar 

  17. DJ. Martin, Dissimilar Software in High Integrity Applications in Flight Controls, pp 36.1– 36.13 in Proc AGARD-CPP-330 (September 1982).

    Google Scholar 

  18. Vouk, M., On Testing of Functionally Equivalent Components of Fault-Tolerant Software, IEEE 10th Intl. Computer Software and Application Conference 1986.

    Google Scholar 

  19. Bertrand Meyer, On Formalisms in Specifications, IEEE Software, vol. 2, no. 1, pp. 6 - 26, January 1985.

    Article  Google Scholar 

  20. J.P.J. Kelly and S.C. Murphy, Applying Design Diversity During System Development: An Experiment Using Back-to-Back Testing, submitted for publication, 1989.

    Google Scholar 

  21. ISO 7498, Basic Reference Model for Open Systems Interconnection, International Standard, ISO 7498, Geneva 1984, also CCITT Recommendation X. 200.

    Google Scholar 

  22. Kenneth Turner, Ed., FORTE 88, Proceedings of the First International Conference on Formal Description Techniques, Scotland, September 1988.

    Google Scholar 

  23. ISO/DIS 9074, Estelle: a Formal Description Technique based on an Extended State Transition Model, ISO DIS 9074, 1987.

    Google Scholar 

  24. ISO/DIS 8807, Information Processing Systems - OSI - LOTOS - A Formal Description Technique for the Temporal Ordering of Observational Behavior, ISO Draft International Standard 8807, October 1987.

    Google Scholar 

  25. CCITT, SDL, Specification and Description Language, (Blue Book) Z. 100, International Consultative Committee for Telephony and Telegraphy, Geneva, March 1988.

    Google Scholar 

  26. CCITT, Recommendation T.70, Network Independent Basic Transport Service for the Telematic Services (Red Book), CCITT, Geneva, 1984.

    Google Scholar 

  27. ISO, Guidelines for the Application of Estelle, LOTOS and SDL, Project ISO/ TC 97/SC 21, edited by K. Turner, Stirling, January 1988.

    Google Scholar 

  28. ANSVMIL-STD-1815 A, Reference Manual for the Ada Programming Language, U.S. Dept. of Defense, February 1983.

    Google Scholar 

  29. Behcet Sarikaya, Test Design for Computer Network Protocols, Phd Dissertation, McGill University, March 1984.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 1989 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Kelly, J.P.J. (1989). Current Experiences with Fault Tolerant Software Design: Dependability Through Diverse Formal Specifications?. In: Görke, W., Sörensen, H. (eds) Fehlertolerierende Rechensysteme / Fault-tolerant Computing Systems. Informatik-Fachberichte, vol 214. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-75002-1_11

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-75002-1_11

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-51565-4

  • Online ISBN: 978-3-642-75002-1

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics