Enjoy fast, free delivery, exclusive deals, and award-winning movies & TV shows with Prime
Try Prime
and start saving today with fast, free delivery
Amazon Prime includes:
Fast, FREE Delivery is available to Prime members. To join, select "Try Amazon Prime and start saving today with Fast, FREE Delivery" below the Add to Cart button.
Amazon Prime members enjoy:- Cardmembers earn 5% Back at Amazon.com with a Prime Credit Card.
- Unlimited Free Two-Day Delivery
- Streaming of thousands of movies and TV shows with limited ads on Prime Video.
- A Kindle book to borrow for free each month - with no due dates
- Listen to over 2 million songs and hundreds of playlists
- Unlimited photo storage with anywhere access
Important: Your credit card will NOT be charged when you start your free trial or if you cancel during the trial period. If you're happy with Amazon Prime, do nothing. At the end of the free trial, your membership will automatically upgrade to a monthly membership.
Buy new:
-29% $31.76$31.76
Ships from: Amazon.com Sold by: Amazon.com
Save with Used - Good
$25.95$25.95
Ships from: Amazon Sold by: CatShak Online
Download the free Kindle app and start reading Kindle books instantly on your smartphone, tablet, or computer - no Kindle device required.
Read instantly on your browser with Kindle for Web.
Using your mobile phone camera - scan the code below and download the Kindle app.
Practical TLA+: Planning Driven Development 1st ed. Edition
Purchase options and add-ons
You’ll learn how even a short TLA+ spec can find critical bugs. Start by getting your feet wet with an example of TLA+ used in a bank transfer system, to see how it helps you design, test, and build a better application. Then, get some fundamentals of TLA+ operators, logic, functions, PlusCal, models, and concurrency. Along the way you will discover how to organize your blueprints and how to specify distributed systems and eventual consistency.
Finally, you’ll put what you learn into practice with some working case study applications, applying TLA+ to a wide variety of practical problems: from algorithm performance and data structures to business code and MapReduce. After reading and using this book, you'll have what you need to get started with TLA+ and how to use it in your mission-critical applications.
What You'll Learn
- Read and write TLA+ specs
- Check specs for broken invariants, race conditions, and liveness bugs
- Design concurrency and distributed systems
- Learn how TLA+ can help you with your day-to-day production work
Who This Book Is For
Those with programming experience who are new to design and to TLA+.
- ISBN-101484238281
- ISBN-13978-1484238288
- Edition1st ed.
- PublisherApress
- Publication dateOctober 12, 2018
- LanguageEnglish
- Dimensions7.01 x 0.56 x 10 inches
- Print length244 pages
Frequently bought together

Customers who bought this item also bought
Editorial Reviews
From the Back Cover
You’ll learn how even a short TLA+ spec can find critical bugs. Start by getting your feet wet with an example of TLA+ used in a bank transfer system, to see how it helps you design, test, and build a better application. Then, get some fundamentals of TLA+ operators, logic, functions, PlusCal, models, and concurrency. Along the way you will discover how to organize your blueprints and how to specify distributed systems and eventual consistency.
Finally, you’ll put what you learn into practice with some working case study applications, applying TLA+ to a wide variety of practical problems:from algorithm performance and data structures to business code and MapReduce. After reading and using this book, you'll have what you need to get started with TLA+ and how to use it in your mission-critical applications.
You will:
- Read and write TLA+ specifications
- Check specs for broken invariants, race conditions, and liveness bugs
- Design concurrency and distributed systems
- Learn how TLA+ can help you with your day-to-day production work
About the Author
Hillel Wayne is a software consultant who specializes in formal methods and specification. He also writes on empirical engineering, software history, and education. In his free time, he juggles and makes chocolate. He lives in Chicago. You can find his other work at hillelwayne.com or on Twitter at @hillelogram.
Product details
- Publisher : Apress; 1st ed. edition (October 12, 2018)
- Language : English
- Paperback : 244 pages
- ISBN-10 : 1484238281
- ISBN-13 : 978-1484238288
- Item Weight : 15.5 ounces
- Dimensions : 7.01 x 0.56 x 10 inches
- Best Sellers Rank: #833,913 in Books (See Top 100 in Books)
- #71 in Software Programming Compilers
- #322 in Software Testing
- #983 in Software Development (Books)
- Customer Reviews:
Customer reviews
Customer Reviews, including Product Star Ratings help customers to learn more about the product and decide whether it is the right product for them.
To calculate the overall star rating and percentage breakdown by star, we don’t use a simple average. Instead, our system considers things like how recent a review is and if the reviewer bought the item on Amazon. It also analyzed reviews to verify trustworthiness.
Learn more how customers reviews work on Amazon-
Top reviews
Top reviews from the United States
There was a problem filtering reviews right now. Please try again later.
Do note that the title is a misnomer. The book focuses on PlusCal rather than core TLA⁺. (Pluscal is a programmer friendly language that compiles into TLA⁺). If you want to know more about TLA⁺ after reading this book, it is worthwhile to view the training videos on the TLA⁺ homepage.
If you do purchase this book, check-out the errata on the authors github page (the errors are mostly minor). It is also informative to look at Leslie Lamport's commentary on the book: https://lamport.azurewebsites.net/tla/practical-tla.html .
The author, Hillel Wayne, has an excellent style and is an experienced instructor. I hope that he writes a follow-on book that delves deeper into TLA⁺, explores more advanced examples, and demonstrates the TLAPS proof assistant.
When I purchased this book, I didn't realize that but for practical purposes it doesn't matter since I'm still able to write specifications in PlusCal and have TLA+ check them.
I enjoyed that the examples showed the thought process that the author took to check the specifications.
One thing I would like to have seen is more exercises that tested your knowledge after each chapter.
Also, because I'm friends with Hillel Wayne, and had him on instant messenger the whole time . He gave me a free copy to review, and told me to be extra harsh.
I've posted a long review on my blog. Amazon does not allow links in reviews, but you can find it by search for the blog's name, "Path Sensitive." Below is a summary of my review. Also, Hillel wants me to tell you that my actual rating is 3.5/5, rounded up for Amazon's purposes.
Practical TLA+ is the first of its kind: a practical programming book about formal verification. It is still a rough book. Whenever a snippet of code repeats, the changes are supposed to be marked in bold, yet I’d often find the bolding missing. He once introduced a piece of syntax, and then didn’t use it till 100 pages later. In a lot of ways, the TLA+ syntax makes no sense; as a result, I got completely stuck in the first chapter, and had to ask Hillel to bail me out. The book can teach you TLA+, but if you're just dabbling, consider waiting for the second edition.
For the programmer looking for mind expansion but not code verification, I don’t think this book has much to offer. The benefit of cross-training comes from seeing ideas that are a subtle part of one discipline become a blatant part of another. Just as it’s easier to understand harmony by playing piano than by singing in a choir, new paradigms are valuable when they take concepts that are implicit in software design and give them syntax and compiler errors. For TLA+, these concepts are: modeling, nondeterminism, and temporal correctness properties. However, Practical TLA+ gives you little practice writing correctness properties, and does its best to hide the most mind-expanding parts of modeling (refinement) and nondeterminism (guards) from the reader. It does what it set out to do: turn formal verification into ordinary programming.
But, nonetheless, I can say that I went through Practical TLA+ in an hour a day for 10 days, I had fun doing so, and — hey — now I know TLA+.








