TLA - The Temporal Logic of Actions
TLA - The Temporal Logic of Actions
Last modified 9 February 2004
The TLA+ book is available
here.
The TLA+ tools are available
here.
What is TLA?
TLA (the Temporal Logic of Actions) is a logic for specifying and
reasoning about concurrent and reactive systems.
It is the basis for TLA+, a complete specification language.
This Web page will be updated to reflect new work on TLA.
I hope that all work on TLA and TLA tools will be accessible from
here.
If you want to be notified of changes to this page, or if you
want your work to be represented here, please send e-mail to
Leslie Lamport.
About TLA and TLA+
- Introduction to TLA
Leslie Lamport
16 December 1994
- A short (7-page) introduction to what TLA formulas mean.
It should allow you to understand TLA specifications.
- A Summary of TLA+
- This is a 7-page "cheat sheet" that briefly describes all the
constructs and built-in operators of TLA+ and the operators defined in
the common standard modules, and that lists the user-definable
operator symbols and the ascii representations of symbols.
Postscript (300K) -
Compressed Postscript (170K) -
PDF (120K)
- PODC 2000 Tutorial Handout
- This is the handout from the TLA+ tutorial at PODC 2000.
It will be meaningful only to people who attended the tutorial.
Postscript (300K) -
Compressed Postscript (170K) -
PDF (120K)
-
The Wildfire Verification Challenge Problem
- This challenge poses the problem of finding a bug in a system
formally specified with TLA+.
It is also a good example of a TLA+ specification of a realistic
system.
- TLA Papers
- The current corpus--all relevant papers and notes
by Leslie Lamport and friends that are about TLA or use TLA.
Related Issues
- Proofs
- About writing mathematical proofs.
- Useful LaTeX Style Files
- For writing in and about TLA.
-
Should Your Specification Language Be Typed?
Leslie Lamport and Lawrence C. Paulson
1 May 1997
- A discussion of types in specification languages that
should explain why TLA+ is untyped. (To appear in
ACM TOPLAS.)
- Logic Calculators
- Check it out.
Work on TLA Outside Compaq and Microsoft
Papers
-
"A formulation of TLA in Isabelle"--
Sara Kalvala
-
"Reasoning About Programs by Exploiting the Environment"--
Limor Fix and Fred B. Schneider
Links to Other Groups and Projects
-
Case Study in TLA+ / TLC
- Examples created by Michel Charpentier for a course he gave on
program verification.
-
Stephan Merz
- A page containing several papers on TLA by Stephan Merz, as well as
a link to
Isabelle/TLA,
Merz's encoding of TLA in the higher-order logic of the generic interactive
theorem prover Isabelle. (That page includes a machine-checked proof of
The Dagstuhl RPC-Memory Example.)
- Work With and On TLA .
- Publications by
the Networks and Distributed Systems group at the University of
Bielefeld, headed by
Peter Ladkin
-
The DisCo Home Page
- Disco is a specification language developed by Reino Kurki-Suonio
at the University of Tampere in Finland.
-
Tools for TLA based specifications
- This page describes work done at the University
of Dortmund, Department of Computer Science by the
Computer Networks and Distributed Systems group
headed by Dr. Heiko Krumm.
-
TLP
- TLP is a system for mechanically checking TLA proofs.
It was developed primarily by Urban Engberg
(ue@ccieurope.com) when he was a
doctoral student at Aarhus University, with help from
Peter Grønning. The page has not been updated
since 1995, but the program should still work.
(It uses an obsolete version of the LP theorem prover,
which is available from the site. It also has Emacs
macros that were written for an old version of Emacs
and may or may not work with newer versions.)
Further development
of TLP is a promising research project waiting for
someone to undertake it.
In 2000, this page was visited
about 33500 times from 8000 different hosts.
In 1999, this page was visited
about 31100 times from 8000 different hosts.
In 1998, this page was visited
about 18400 times from 5300 different hosts.
In 1997, this page was visited
about 19000 times from 5600 different hosts.
In 1996, this page was visited
about 18800 times from 5300 different hosts.
_____________________________________________________________________________________________________
This page can be found by searching the Web for the 21-letter
string
uidlamporttlahomepage.
Please do not put this string in any document that could wind up on
the web--including email messages and Postscript and Word documents.
You can refer to it in Web documents as "the string obtained by
removing the - from
uid-lamporttlahomepage".