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.
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.
Avizienis, A. (1985), “The N-version Approach to Fault-Tolerant Software,” IEEE Transactions on Software Engineering SE-11,12, 1491–1501.
Blum, M. and S. Kannan (1995), “Designing Program That Check Their Work,” Journal of the ACM 42,1, 269–291.
Blumen, G. and S. Kumei (1989), Symmetries and Differential Equations, Springer, New York.
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.
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.
Hornbeck, R. (1975), Numerical Methods, Quantum Publishers, New York, NY.
Knight, J. and P. Ammann (1991), “Designing Fault Tolerance,” Reliability Engineering and System Safety 32,1–2, 25–49.
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.
Lukes, D. (1982), Differential Equations: Classical to Controlled, Academic Press, New York, NY.
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.
Olver, P. (1986), Application of Lie Groups to Differential Equations, Springer, New York, NY.
Randell, B. (1975), “System Structure for Software Fault Tolerance,” IEEE Transactions on Software Engineering SE-1,2, 220–232.
Author information
Authors and Affiliations
Rights 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
Issue Date:
DOI: https://doi.org/10.1023/A:1018958526071