Mechanical verification of concurrent systems with TLA
We describe an initial version of a system for mechanically checking the correctness proof of a concurrent system. Input to the system consists of the correctness properties, expressed in TLA (the temporal logic of actions), and their proofs, written in a humanly readable, hierarchically structured form. The system uses a mechanical verifier to check each step of the proof, translating the step's assertion into a theorem in the verifier's logic and its proof into instructions for the verifier. Checking is now done by LP (the Larch Prover), using two different translations—one for action reasoning and one for temporal reasoning. The use of additional mechanical verifiers is planned. Our immediate goal is a practical system for mechanically checking proofs of behavioral properties of a concurrent system; we assume ordinary properties of the data structures used by the system.
Unable to display preview. Download preview PDF.
- 1.Stephen J. Garland and John V. Guttag. An overview of LP, the Larch Prover. In N. Dershowitz, editor, Proceedings of the Third International Conference on Rewriting Techniques and Applications, volume 355 of Lecture Notes on Computer Science, pages 137–151. Springer-Verlag, April 1989.Google Scholar
- 2.Stephen J. Garland and John V. Guttag. A guide to LP, the Larch Prover. Technical Report 82, Digital Equipment Corporation Systems Research Center, December 1991.Google Scholar
- 3.Robert Harper, David MacQueen, and Christopher Wadsworth. Standard ML. Internal Report ECS-LFCS-86-2, Edingburgh University, March 1986.Google Scholar
- 4.Leslie Lamport. 'sometime’ is sometimes ‘not never': A tutorial on the temporal logic of programs. In Proceedings of the Seventh Annual Symposium on Principles of Programming Languages, pages 174–185. ACM SIGACT-SIGPLAN, January 1980.Google Scholar
- 5.Leslie Lamport. What good is temporal logic? In R. E. A. Mason, editor, Information Processing 83: Proceedings of the IFIP 9th World Congress, pages 657–668, Paris, September 1983. IFIP, North-Holland.Google Scholar
- 6.Leslie Lamport. The temporal logic of actions. Technical Report 79, Digital Equipment Corporation, Systems Research Center, December 1991.Google Scholar
- 7.Amir Pnueli. The temporal logic of programs. In Proceedings of the 18th Annual Symposium on the Foundations of Computer Science, pages 46–57. IEEE, November 1977.Google Scholar