ImageNet classification with deep convolutional neural networks
Alex Krizhevsky, Ilya Sutskever et al.
1.9k
Citations
0
Influential Citations
ACM Transactions on Programming Languages and Systems
Venue
1994
Year
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.
Leslie Lamport's "The Temporal Logic of Actions" (TLA) introduced a formalism that fundamentally changed how researchers and practitioners specify and reason about concurrent systems. Before TLA, temporal logics for concurrent systems often separated the specification of a system from the specification of its properties, leading to complex and sometimes error-prone reasoning. TLA's key insight is to represent both systems and their properties within a single logical framework, so that the assertion that a system meets its specification and the assertion that one system implements another are both expressed as logical implication. This unification simplifies reasoning and provides a clean mathematical foundation for verification.
The paper is significant because it achieves a rare combination of simplicity and power. TLA's syntax and complete formal semantics are summarized in about a page, making it accessible and easy to teach. Yet, as Lamport demonstrates, TLA is not merely a logician's toy; it is extremely powerful both in principle and in practice. The logic has been used to specify and verify a wide range of concurrent algorithms, and it underpins the TLA+ specification language and its associated tools, which are used in industry for designing and validating complex systems.
Moreover, the paper's influence extends beyond concurrent algorithms. TLA has been adopted in areas such as distributed systems, hardware verification, and security protocols. Its emphasis on practical usability, combined with formal rigor, has made it a cornerstone of formal methods education and research. The citation count of 1855 attests to its enduring impact.
The paper does not report quantitative metrics or empirical comparisons. Instead, it presents TLA as a logical framework and demonstrates its utility through examples of specifying and verifying concurrent algorithms. The main result is the definition of TLA and the argument that it is both simple and powerful. The abstract notes that TLA's syntax and semantics are summarized in about a page, and that it is extremely powerful in principle and in practice. The paper also mentions that the use of TLA for open systems will be described elsewhere, indicating that the current work focuses on closed systems.
TLA has had a profound impact on the field of formal methods and beyond. It provided a simple yet expressive logic for concurrent systems that has been used to verify numerous algorithms and protocols. The development of TLA+ and its toolset (including the TLC model checker and the TLAPS proof system) has brought formal methods to industrial practice, with applications at companies such as Amazon, Microsoft, and Intel. The paper's emphasis on simplicity and practical applicability has made it a standard reference in the field. Its influence continues to grow as the need for reliable concurrent and distributed systems increases.
Alex Krizhevsky, Ilya Sutskever et al.
Ashish Vaswani, Noam Shazeer et al.
Douglas M. Bates, Martin Mächler et al.
Diederik P. Kingma, Jimmy Ba