Skip to main content
Log in

Applying data redundancy to differential equation solvers

  • Published:
Annals of Software Engineering

Abstract

Data redundancy methods evaluate the output of a program on a given input by examining the outputs produced by the same program on additional inputs. This papers explores the use of data redundancy to detect and/or tolerate failures in differential equation solvers. Our first goal is to show that data redundancy techniques are applicable to a wide class of differential equations. Our second task is to identify circumstances in which an independence model of the sort used in program checking can be exploited to build highly reliable solvers from moderately reliable components. We conclude with illustrative examples of applying various data redundancy techniques to a standard differential equation solver. The method has potential for critical systems in which the application’s control laws are specified as sets of differential equations.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Similar content being viewed by others

References

  • Ammann, P. and J. Knight (1988), “Data Diversity: An Approach to Software Fault Tolerance,” IEEE Transactions on Computers 37,4, 418–425.

    Article  Google Scholar 

  • Avizienis, A. (1985), “The N-version Approach to Fault-Tolerant Software,” IEEE Transactions on Software Engineering SE-11,12, 1491–1501.

    Article  Google Scholar 

  • Blum, M. and S. Kannan (1995), “Designing Program That Check Their Work,” Journal of the ACM 42,1, 269–291.

    Article  MATH  Google Scholar 

  • Blumen, G. and S. Kumei (1989), Symmetries and Differential Equations, Springer, New York.

    Google Scholar 

  • Butler, R.W. and G.B. Finelli (1993), “The Infeasibility of Quantifying the Reliability of Life-Critical Real-Time Software,” IEEE Transactions on Software Engineering 19,1, 3–12.

    Article  Google Scholar 

  • Eckhardt Jr., D. and L. Lee (1985), “A Theoretical Basis for the Analysis of Multiversion Software Subject to Coincident Errors,” IEEE Transactions on Software Engineering SE-11,12, 1511–1517.

    Article  Google Scholar 

  • Hornbeck, R. (1975), Numerical Methods, Quantum Publishers, New York, NY.

    Google Scholar 

  • Knight, J. and P. Ammann (1991), “Designing Fault Tolerance,” Reliability Engineering and System Safety 32,1–2, 25–49.

    Article  Google Scholar 

  • Knight, J. and N. Leveson (1986), “An Experimental Evaluation of the Assumption of Independence in Multiversion Programming,” IEEE Transactions on Software Engineering SE-12,1, 96–109.

    Google Scholar 

  • Lukes, D. (1982), Differential Equations: Classical to Controlled, Academic Press, New York, NY.

    MATH  Google Scholar 

  • Lukes, D. (1988), “Lie Groups Underlying Fault Avoidance in Dynamical Control Systems,” In Proceedings of the 1988 International Conference on Advances in Communication and Control, Vol. II, Springer, Berlin, Germany, pp. 841–848.

    Google Scholar 

  • Olver, P. (1986), Application of Lie Groups to Differential Equations, Springer, New York, NY.

    Google Scholar 

  • Randell, B. (1975), “System Structure for Software Fault Tolerance,” IEEE Transactions on Software Engineering SE-1,2, 220–232.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Ammann, P., Lukes, D.L. & Knight, J.C. Applying data redundancy to differential equation solvers. Annals of Software Engineering 4, 65–77 (1997). https://doi.org/10.1023/A:1018958526071

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1023/A:1018958526071

Keywords

Navigation