skip to main content
article
Open Access

The temporal logic of actions

Published:01 May 1994Publication History
Skip Abstract Section

Abstract

The temporal logic of actions (TLA) is a logic for specifying and reasoning about concurrent systems. Systems and their properties are represented in the same logic, so the assertion that a system meets its specification and the assertion that one system implements another are both expressed by logical implication. TLA is very simple; its syntax and complete formal semantics are summarized in about a page. Yet, TLA is not just a logician's toy; it is extremely powerful, both in principle and in practice. This report introduces TLA and describes how it is used to specify and verify concurrent algorithms. The use of TLA to specify and reason about open systems will be described elsewhere.

References

  1. ABADI, M. AND LAMPORT, L. 1993. Conjoining specifications. Res. Rep. 118, Digital Equipment Corp., Systems Research Center, Palo Alto, Calif.Google ScholarGoogle Scholar
  2. ABADI, M. AND LAMPORT, L. 1992. An old-fashioned recipe for real time. Research Report 91, Digital Equipment Corp., Systems Research Center, Palo Alto, Calif.~Google ScholarGoogle Scholar
  3. ABADI, M. AND LAMPORT, L. 1991. The existence of refinement mappings. Theor. Comp. Sci. 82, 2 (May), 253-284. Google ScholarGoogle Scholar
  4. ALPERN, B. AND SCHNEIDER, F. B. 1985. Defining liveness. Inf. Process. Lett. 21, 4 (Oct.), 181-185.Google ScholarGoogle Scholar
  5. APT, K. R. 1981. Ten years of Hoare's logic: A survey--part one. ACM Trans. Programm. Lang. Syst. 3, 4 (Oct.), 431-483. Google ScholarGoogle Scholar
  6. APT, K. R. AND OLDEROG, E.-R. 1990. Verification of Sequential and Concurrent Programs. Springer-Verlag, New York. Google ScholarGoogle Scholar
  7. ASHCROFT, E. A. 1975. }Proving assertions about parallel programs. J. Comput. Syst. Sci. 10, 110-135.Google ScholarGoogle Scholar
  8. BURCH, J. R., CLARKE, E. M.~ MCMILLAN, K. L., DILL, D. L., AND HWANG, L. J. 1992. Symbolic model checking: 102o states and beyond, inf. Cornput. 98, 2 (June), 142-170. Google ScholarGoogle Scholar
  9. CHANDY, K. M. AND MISRA, J. 1988. Parallel Program Desipn. Addison-Wesley, Re ading, M ass. Google ScholarGoogle Scholar
  10. DE BAKKER, J. W., HUIZING, C., DE ROEVER, W. P., AND ROZENBERG, G. (Eds.) 1992. Real-Time: Theory in Practice, Lecture Notes in Computer Science, vol. 600. Proceedings of a REX Real-Time Workshop, Springer-Verlag, Berlin.Google ScholarGoogle Scholar
  11. DIJKSTRA, E. W. 1968. The structure of the "THE"-multiprogramming system. Comm. ACM 11, 5 (May), 341-346. Google ScholarGoogle Scholar
  12. DIJKSTRA, E. W. 1976. A Discipline of Programmin9. Prentice-Hall, Englewood Cliffs, N. J. Google ScholarGoogle Scholar
  13. ENCBERC, U., GRONNING, P., AND LAMPORT, L. 1992. Mechanical verification of concurrent systems with TLA. In Computer-Aided Verification, Lecture Notes in Computer Science, Proceedings of the 4th International Conference, CAV'92. Springer-Verlag, Berlin. Google ScholarGoogle Scholar
  14. FLON, L. AND SUZUKI, N. 1978. Consistent and complete proof rules for the total correctness of parallel programs. In Proceedings of 19th Annual Symposium on Foundations of Computer Science. IEEE, New York, 184-192.Google ScholarGoogle Scholar
  15. FLOYD, R. W. 1967. Assigning meanings to programs, in Proceedings of the Symposium on Applied Math. Vol. 19, American Mathematical Society, Providence, Rhode Island, 19-32.Google ScholarGoogle Scholar
  16. GARLAND, S. J. AND GUTTAG, J. V. 1989. An overview of LP, the Larch Prover. In Proceedings of the 3rd International Conference on Rewriting Techniques and Applications, N. DERSHOWITZ, Ed. Lecture Notes on Computer Science, vol. 355. Springer-Verlag, New York, 137-151. Google ScholarGoogle Scholar
  17. HEHNER, E. C. R. 1984. Predicative programming. Comm. A CM 27, 2 (Feb.), 134-151. Google ScholarGoogle Scholar
  18. HOARE, C. 1969. An axiomatic basis for computer programming. Comm. A CM 12, 10 (Oct.), 576-583. Google ScholarGoogle Scholar
  19. KELLER, R. M. 1976. Formal verification of parallel programs. Comm. A CM 19, 7 (July), 371-384. Google ScholarGoogle Scholar
  20. LAM, S. S. AND SHANKAR, A. U. 1984. Protocol verification via projections. IEEE Trans. Softw. Eng. SE-IO, 4 (July), 325-342.Google ScholarGoogle Scholar
  21. LAMPORT, L. 1993. Hybrid systems in TLA+. In Hybmd Systems, R. L. GRoss- MAN, A. NERODE, A. P. RAVN, AND U. RISCHEL, Eds. Lecture Notes m Computer Science, vol. 736. Springer-Verlag, Berlin, 77-102. Google ScholarGoogle Scholar
  22. LAMPORT, L. 1983a. Specifying concurrent program modules. A CM Trans. Program. Lang. Syst 5, 2 (April), 190-222. Google ScholarGoogle Scholar
  23. LAMPORT, L. 1983b. What good is temporal logic. In Information Processing 83: Proceedings of the IFIP 9th World Congress, R. E. A. MASON, Ed. North-Holland, Amsterdam, 657-668.Google ScholarGoogle Scholar
  24. LAMPORT, L. 1977. Proving the correctness of multiprocess programs. IEEE Trans. Softw. Eng. SE-3, 2 (Mar.), 125-143.Google ScholarGoogle Scholar
  25. LE~SENR~NG, A. C. 1969. Mathematical Logic and Hilbert's e-Symbol. Gordon and Breach, New York.Google ScholarGoogle Scholar
  26. LIPTON, R. J. 1975. Reduction: A method of proving properties of parallel programs. Comm. ACM 18, 12 (Dec.), 717-721. Google ScholarGoogle Scholar
  27. LYNCH, N. AND TUTTLE, M. 1987. Hierarchical correctness proofs for distributed algorithms. In Proceedings of the 6th Symposium on the Princzples of Distributed Computing, ACM, New York, 137-151. Google ScholarGoogle Scholar
  28. MANNA, Z. AND PNUELI, A. 1991. The Temporal Logzc of Reactwe and Concurrent Systems. Springer-Vertag, New York. Google ScholarGoogle Scholar
  29. MISRA, J. 1990. Specifying concurrent objects as communicating processes. Scz. Comput. Program. 1~, 2-3, 159-184. Google ScholarGoogle Scholar
  30. OWICKI, S. 1975. Axiomatic proof techniques for parallel programs. Ph. D. thesis, Cornell University, Ithaca N. Y. Google ScholarGoogle Scholar
  31. PNUELI, A. 1979. The temporal semantics of concurrent programs. In Semantics of Concurrent Computation, G. KAHN, Ed, Lecture Notes in Co~np~ter Science, vol. 70. Springer-Verlag, New York, 1-20. Google ScholarGoogle Scholar
  32. PNUELI, A. 1977. The temporal logic of programs. In Procee&ngs of the 18th Annual Symposium on the Foundations of Computer Science, IEEE, New York, 46-57.Google ScholarGoogle Scholar
  33. SCHROEDER~ M. D., BIRRELL, A. D., BURROWS, M., MURRAY, H., NEED- HAM, R. M., RODEHEFFER, T. L., SATTERTHWAITE, E. H., AND THACKER, C. P. 1990. Autonet: A high-speed, self-configuring local area network using point-to-point links. Res. Rep. 59, Digital Equipment Corporation, Systems Research Center, Palo Alto, Calif.Google ScholarGoogle Scholar
  34. SHANKAR, A. U. AND LAM, S. S. 1984. Time-dependent communication protocols. In Principles of Communication and Networking Protocols, S. S. LAM, Ed. IEEE Computer Society Press, Los Alamitos, Calif., 504- 519.Google ScholarGoogle Scholar

Index Terms

  1. The temporal logic of actions

        Recommendations

        Comments

        Login options

        Check if you have access through your login credentials or your institution to get full access on this article.

        Sign in

        Full Access

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader