Abstract
This paper presents a scalable approach to reasoning formally about distributed algorithms. It uses results about I/O automata to extract a set of proof obligations for showing that the behaviors of one algorithm are among those of another, and it uses the Larch tools for specification and deduction to discharge these obligations in a natural and easy-to-read fashion. The approach is demonstrated by proving the behavior equivalence of two high-level specifications for a communication protocol.
Research supported in part by the Danish Research Academy.
Research supported in part by the Advanced Research Projects Agency of the Department of Defense, monitored by the Office of Naval Research under contracts N00014-92-J-1795 and N00014-92-J-4033, by the National Science Foundation under grants 9115797-CCR and 8915206-CCR, and by the Office of Naval Research under contract N00014-91-J-1046.
We are currently working on incorporating proofs of timing-based systems into our approach. This involves reasoning about reals but seems, at this point, to be feasible with minor extensions to the work presented in this paper.
Chapter PDF
References
M. Abadi and L. Lamport. The existence of refinement mappings. Theoretical Computer Science, 2(82):253–284, 1992.
R. S. Boyer and J S. Moore. A Computational Logic Handbook. Academic Press, 1988.
S. J. Garland and J. V. Guttag. A guide to LP, the Larch Prover. Technical Report 82, DEC Systems Research Center, December 1991.
J. V. Guttag and J. J. Horning. Larch: Languages and Tools for Formal Specification. Springer-Verlag, 1993.
B. Lampson, N. Lynch, and J. F. Søgaard-Andersen. Reliable at-most-once message delivery protocols. Tech. report under preparation, Laboratory for Computer Science, Massachusetts Institute Technology, 1993.
P. Loewenstein and D. L. Dill. Verification of a multiprocessor cache protocol using simulation relations and higher-order logic. In E. M. Clarke and R. P. Kurshan, editors, Computer-Aided Verification '90, number 531 in LNCS, pages 302–311. Springer-Verlag, 1990.
N. Lynch and M. Tuttle. An introduction to input/output automata. CWI-Quarterly, 2(3):219–246, September 1989.
N. Lynch and F. Vaandrager. Forward and backward simulations for timing-based systems. In J. W. de Bakker, C. Huizing, and G. Rozenberg, editors, Proceedings of REX Workshop “Real-Time: Theory in Practice”, number 600 in LNCS, pages 397–446. Springer-Verlag, 1992.
T. Nipkow. Formal verification of data type refinement. In J. W. de Bakker, W.-P. de Roever, and G. Rozenberg, editors, Stepwise Refinement of Distributed Systems, number 430 in LNCS, pages 561–589. Springer-Verlag, 1990.
J. B. Saxe, S. J. Garland, J. V. Guttag, and J. J. Horning. Using transformations and verification in circuit design. In J. Staunstrup and R. Sharp, editors, International Workshop on Designing Correct Circuits. North-Holland, IFIP Transactions A-5, 1992. Also published as DEC Systems Research Center Report 78, September 1991.
J. A. Staunstrup, S. J. Garland, and J. V. Guttag. Localized verification of circuit descriptions. In International Workshop on Automatic Verification Methods for Finite State Systems, number 407 in LNCS, pages 349–364, Grenoble, June 1989. Springer-Verlag.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1993 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Søgaard-Andersen, J.F., Garland, S.J., Guttag, J.V., Lynch, N.A., Pogosyants, A. (1993). Computer-assisted simulation proofs. In: Courcoubetis, C. (eds) Computer Aided Verification. CAV 1993. Lecture Notes in Computer Science, vol 697. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-56922-7_25
Download citation
DOI: https://doi.org/10.1007/3-540-56922-7_25
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-56922-0
Online ISBN: 978-3-540-47787-7
eBook Packages: Springer Book Archive