The temporal logic of actions

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.

[1]  Martín Abadi An Axiomatization of Lamport's Temporal Logic of Actions , 1990, CONCUR.

[2]  Richard J. Lipton,et al.  Reduction: a method of proving properties of parallel programs , 1975, CACM.

[3]  Jean-Pierre Banâtre,et al.  Parallel Program Design , 1991, Research Directions in High-Level Parallel Programming Languages.

[4]  K. Mani Chandy,et al.  Parallel program design - a foundation , 1988 .

[5]  G. K. Smelser The structure of the eye , 1961 .

[6]  Martín Abadi,et al.  An old-fashioned recipe for real time , 1991, TOPL.

[7]  P. L. Juliff,et al.  Program design , 1986 .

[8]  Leslie Lamport,et al.  Proving Liveness Properties of Concurrent Programs , 1982, TOPL.

[9]  Bowen Alpern,et al.  Defining Liveness , 1984, Inf. Process. Lett..

[10]  A. Pnueli The Temporal Semantics of Concurrent Programs , 1979, Theor. Comput. Sci..

[11]  Amir Pnueli,et al.  The temporal logic of programs , 1977, 18th Annual Symposium on Foundations of Computer Science (sfcs 1977).

[12]  Robert W. Floyd,et al.  Assigning Meanings to Programs , 1993 .

[13]  Simon S. Lam,et al.  Time-Dependent Communication Protocols , 1984 .

[14]  B. Welch The structure , 1992 .

[15]  Fred Kröger,et al.  Temporal Logic of Programs , 1987, EATCS Monographs on Theoretical Computer Science.

[16]  Edsger W. Dijkstra,et al.  A Discipline of Programming , 1976 .

[17]  Leslie Lamport,et al.  The ``Hoare Logic'' of CSP, and All That , 1984, TOPL.

[18]  Lawrence Flon,et al.  Consistent and complete proof rules for the total correctness of parallel programs , 1978, 19th Annual Symposium on Foundations of Computer Science (sfcs 1978).

[19]  Stephen J. Garland,et al.  An Overview of LP, The Larch Power , 1989, RTA.

[20]  A. Udaya Shankar,et al.  Protocol Verification via Projections , 1984, IEEE Transactions on Software Engineering.

[21]  Jayadev Misra Specifying Concurrent Objects as Communicating Processes , 1990, Sci. Comput. Program..

[22]  K. Mani Chandy Parallel program design , 1989 .

[23]  Leslie Lamport,et al.  "Sometime" is sometimes "not never": on the temporal logic of programs , 1980, POPL '80.

[24]  Michael Burrows,et al.  Autonet: A High-Speed, Self-Configuring Local Area Network Using Point-to-Point Links , 1991, IEEE J. Sel. Areas Commun..

[25]  Susan S. Owicki,et al.  Axiomatic Proof Techniques for Parallel Programs , 1975, Outstanding Dissertations in the Computer Sciences.

[26]  Edward A. Ashcroft,et al.  Proving Assertions about Parallel Programs , 1975, J. Comput. Syst. Sci..

[27]  Edsger W. Dijkstra,et al.  The structure of the “THE”-multiprogramming system , 1968, CACM.

[28]  Vaughan R. Pratt,et al.  SEMANTICAL CONSIDERATIONS ON FLOYD-HOARE LOGIC , 1976, FOCS 1976.

[29]  Leslie Lamport,et al.  Mechanical Verification of Concurrent Systems with TLA , 1992, Larch.

[30]  Leslie Lamport,et al.  Hybrid Systems in Tla + Hybrid Systems in Tla + , 1993 .

[31]  Martín Abadi,et al.  Conjoining specifications , 1995, TOPL.

[32]  Amir Pnueli The Temporal Semantics of Concurrent Programs , 1981, Theor. Comput. Sci..

[33]  Grzegorz Rozenberg,et al.  Real-Time: Theory in Practice: Rex Workshop, Mook, the Netherlands, June 3-7, 1991: Proceedings , 1992 .

[34]  Leslie Lamport,et al.  Hybrid Systems in TLA+ , 1992, Hybrid Systems.

[35]  LamportLeslie The temporal logic of actions , 1994 .

[36]  C. A. R. Hoare,et al.  An axiomatic basis for computer programming , 1969, CACM.

[37]  Grzegorz Rozenberg,et al.  Real-Time: Theory in Practice , 1991, Lecture Notes in Computer Science.

[38]  A. Leisenring Mathematical logic and Hilbert's ε-symbol , 1971 .

[39]  Leslie Lamport,et al.  Specifying Concurrent Program Modules , 1983, TOPL.

[40]  Eric C. R. Hehner,et al.  Predicative programming Part I , 1984, CACM.

[41]  Leslie Lamport,et al.  What Good is Temporal Logic? , 1983, IFIP Congress.

[42]  Leslie Lamport,et al.  Proving the Correctness of Multiprocess Programs , 1977, IEEE Transactions on Software Engineering.

[43]  Leslie Lamport,et al.  Artificial Intelligence and Language Processing ]acques Cohen Editor a Simple Approach to Specifying Concurrent Systems , 2022 .

[44]  Edmund M. Clarke,et al.  Symbolic Model Checking: 10^20 States and Beyond , 1990, Inf. Comput..

[45]  Martín Abadi,et al.  The existence of refinement mappings , 1988, [1988] Proceedings. Third Annual Information Symposium on Logic in Computer Science.

[46]  Zohar Manna,et al.  The Temporal Logic of Reactive and Concurrent Systems , 1991, Springer New York.

[47]  Robert M. Keller,et al.  Formal verification of parallel programs , 1976, CACM.

[48]  Nancy A. Lynch,et al.  Hierarchical correctness proofs for distributed algorithms , 1987, PODC '87.

[49]  Martín Abadi,et al.  An old-fashioned recipe for real time , 1994, TOPL.

[50]  Krzysztof R. Apt,et al.  Ten Years of Hoare's Logic: A Survey—Part I , 1981, TOPL.