Description
“TLA+ represents the only effective methodology I’ve seen for visualizing and quantifying algorithmic complexity in a way that is meaningful to engineers.”–Brannon Batson, Processor Architect, Intel CorporationThis 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 mini-manual. 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. 032114306XB06262002




