This long-awaited book shows how to write unambiguous specifications of complex computer systems. The first part provides a concise and lucid introduction to specification, explaining how to describe, with mathematical precision, the behavioral properties of a system -- what that system is allowed to do. The emphasis here is on safety properties. The second part of the book covers more advanced topics, including liveness and fairness, real-time properties, and composition. The book's final two parts provide a complete reference manual for the TLA+ language and tools, as well as a handy minimanual. TLA+ is the language developed by the author for writing simple and elegant specifications of algorithms and protocols and for verifying the correctness of a design. The language already has proved to be a valuable aid in understanding and building concurrent and distributed systems. Tools for TLA+ syntax analysis and model checking are freely available from the Web, where you can also find supplemental materials for this book, including exercises.
This book provides a guide to the writing of unambiguous specifications of complex computer systems. It explains how to describe, with mathematical precision, the behavior properties of a system. Safety properties are stressed, but topics like liveliness, fairness, and real time are also covered. The book also supplies a reference manual for the TLA+ language and tools. Lamport is a computer scientist, best known for creating the LaTeX typesetting program. Annotation c. Book News, Inc., Portland, OR