Analytic Redundancy for Software Fault-Tolerance In Hard Real-Time Systems

  • Marc Bodson
  • John Lehoczky
  • Ragunathan Rajkumar
  • Lui Sha
  • Jennifer Stephan
Part of the The Springer International Series in Engineering and Computer Science book series (SECS, volume 284)


This chapter develops a new methodology for the design of reliable control systems. The impressive capabilities of modern computers have enabled the implementation of highly sophisticated intelligent control methods even in relatively modest applications. However, the risk of software errors and the potential of failures due to unanticipated algorithmic behavior and modes of operation may increasingly exclude the use of such technologies in applications where timing or safety is critical. We present a new approach to software fault-tolerance that will ensure that high-performance intelligent control will be achievable together with high-reliability. The idea is based on redundancy of the controller software with a complementary reliable/high-performance structure that exploits a significant disparity between the two systems. We discuss various software error types and review current methods of software fault-tolerance. We present the new methodology, discuss issues that arise in its use and present experimental results for a particular control systems.


Software Architecture Fuzzy Logic Controller Reliable Software Ball Position Complex Software 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [1]
    E. L. Andrews, “The Precarious Growth of the Software Empire,” New York Times, July 14, 1991.Google Scholar
  2. [2]
    K. J. Astrom and B. Wittenmark, Computer Controlled Systems, Prentice-Hall, Englewood Cliffs, NJ, 1984.Google Scholar
  3. [3]
    A. Avizienis, “The N-Version Approach to Fault Tolerant Software,” IEEE Trans. on Software Engineering, vol. 11, pp. 1491–1501, 1985.CrossRefGoogle Scholar
  4. [4]
    A. Avizienis and J. Kelly, “Fault Tolerance by Design Diversity: Concepts and Experiments,” Computer, vol. 17,no. 8, pp. 67–80, 1984.CrossRefGoogle Scholar
  5. [5]
    M. Bodson, J. Lehoczky, R. Rajkumar, L. Sha, M. Smith and J. Stephan, “Software Fault-Tolerance for Control of Responsive Systems,” Proc. of the Third International Workshop of Responsive Computer Systems, October 1993.Google Scholar
  6. [6]
    M. Bodson, J. Lehoczky, R. Rajkumar, L. Sha, J. Stephan and M. Smith, “Control Reconfiguration in the Presence of Software Failures,” to appear in the Proceedings of the IEEE Conference on Decision and Control, San Antonio, TX, 1993.Google Scholar
  7. [7]
    E. Y. Chow and A. S. Willsky, “Analytical Redundancy and the Design of Robust Failure Detection Systems,” IEEE Trans. on Automatic Control, vol. 29,no. 7, pp. 603–614, 1984.MATHCrossRefMathSciNetGoogle Scholar
  8. [8]
    J. R. Dunham, “Experiments in Software Reliability: Life Critical Applications,” IEEE Trans. on software Engineering, vol. SE-12,No. 1, pp. 110–123, January, 1986.MathSciNetGoogle Scholar
  9. [9]
    R. L. Glass, “Persistent Software Errors,” IEEE Trans. on Software Engineering, vol. 7,no. 2, pp. 162–168, 1981.CrossRefGoogle Scholar
  10. [10]
    J. Gray, “A Census of Tandem System Availability Between 1985 and 1990,” IEEE Transactions on Reliability, vol. 39,no. 4, pp. 409–418, 1990.CrossRefGoogle Scholar
  11. [11]
    J. Hauser, S. Sastry and P. Kokotovic, “Nonlinear Control Via Approximate Input-Output Linearization: The Ball and Beam Example,” IEEE Transactions on Automatic Control, vol. 37,no. 3, pp. 392–398, March 1992.CrossRefMathSciNetGoogle Scholar
  12. [12]
    J. Kelly and S. Murphy, “Achieving Dependability Throughout the Development Process: A Distributed Software Experiment,” IEEE Trans. on Software Engineering, vol. 16,no 2, pp. 153–165, February 1990.CrossRefGoogle Scholar
  13. [13]
    J. C. Knight and P. E. Ammann, “Design Fault Tolerance”, Engineering and System Safety, vol. 32, pp. 25–49, 1991.CrossRefGoogle Scholar
  14. [14]
    E. Laukonen and S. Yurkovich, “A Ball and Beam Testbed for Fuzzy Identification and Control Design,” Proc. of the 1993 American Control Conference, San Fransisco, CA, June 1993.Google Scholar
  15. [15]
    L. Lee, The Day the Phones Stopped, Donald I. Fine, New York, 1991.Google Scholar
  16. [16]
    F. Levendel, “Defects and Reliability Analysis of Large Software Systems,” 19th Symposium on Fault Tolerant Computing, pp. 238–244, 1989.Google Scholar
  17. [17]
    J. D. Musa, “A Theory of Software Reliability and its Application,” IEEE Trans. on Software Engineering, vol. SE-1,no. 3, pp. 312–327, Sept., 1975.Google Scholar
  18. [18]
    S. L. Pfleeger, “Measuring Software Reliability,” IEEE Spectrum, pp. 56–60, August 1992.Google Scholar
  19. [19]
    B. Randell, “System Structure for Software Fault Tolerance,” IEEE Trans. on Software Engineering, vol. 1, pp. 220–232, 1975.Google Scholar
  20. [20]
    L. Sha, J. Lehoczky, and M. Bodson, “The Simplex Architecture: Analytic Redundancy for Software Fault Tolerance,” Proc. of the First International Workshop of Responsive Computer Systems, Nice, France, 1991.Google Scholar
  21. [21]
    L. Sha, J. Lehoczky, M. Bodson, P. Krupp and C. Nowacki, “Position Paper: Responsive Airborne Radar Systems,” Proc. of the Second International Workshop of Responsive Computer Systems, October 1992.Google Scholar
  22. [22]
    M. Sobhani, B. Neisius, S. Jayasuriya, E. Rumler and M. Rabins, “Some New Insights On the Classical Beam and Ball Balancing Experiment,” Proc. of the American Control Conference, pp. 450–454, 1992.Google Scholar
  23. [23]
    G. Watson, “Three Little Bits Breed a Big, Bad Bug,” IEEE Spectrum, p. 52, May 1992.Google Scholar
  24. [24]
    S. Woodfield “An Experiment on Unit Increase in Problem Complexity,” IEEE Trans. on Software Engineering, vol. SE-5,No. 2, pp. 76–79, March 1979.CrossRefGoogle Scholar

Copyright information

© Kluwer Academic Publishers 1994

Authors and Affiliations

  • Marc Bodson
    • 1
  • John Lehoczky
    • 2
  • Ragunathan Rajkumar
    • 3
  • Lui Sha
    • 4
  • Jennifer Stephan
    • 5
  1. 1.Department of Electrical EngineeringUniversity of UtahSalt Lake City
  2. 2.Department of StatisticsCarnegie Mellon UniversityPittsburgh
  3. 3.Software Engineering InstituteCarnegie Mellon UniversityPittsburgh
  4. 4.Software Engineering InstituteCarnegie Mellon UniversityPittsburgh
  5. 5.Department of Electrical and Computer EngineeringCarnegie Mellon UniversityPittsburgh

Personalised recommendations