Practical TLA+: Planning Driven Development
Book information
Description
Learn how to design complex, correct programs and fix problems before writing a single line of code. This book is a practical, comprehensive resource on TLA+ programming with rich, complex examples. Practical TLA+ shows you how to use TLA+ to specify a complex system and test the design itself for bugs. 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 LearnRead and write TLA+ specsCheck specs for broken invariants, race conditions, and liveness bugsDesign concurrency and distributed systemsLearn 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+. Front Matter ....Pages i-xxiii Front Matter ....Pages 1-1 An Example (Hillel Wayne)....Pages 3-22 PlusCal (Hillel Wayne)....Pages 23-42 Operators and Functions (Hillel Wayne)....Pages 43-64 Constants, Models, and Imports (Hillel Wayne)....Pages 65-77 Concurrency (Hillel Wayne)....Pages 79-96 Temporal Logic (Hillel Wayne)....Pages 97-110 Front Matter ....Pages 111-111 Algorithms (Hillel Wayne)....Pages 113-126 Data Structures (Hillel Wayne)....Pages 127-136 State Machines (Hillel Wayne)....Pages 137-148 Business Logic (Hillel Wayne)....Pages 149-166 MapReduce (Hillel Wayne)....Pages 167-197 Back Matter ....Pages 199-221
Similar books
C++ mit Visual Studio 2019 und Windows Forms-Anwendungen : C++17 für Studierende und erfahrene Programmierer – Windows Programme mit C++ entwickeln
2020 · PDF
C++ mit Visual Studio 2019: C++17 für Studierende und erfahrene Programmierer
2021 · PDF
Masterkurs Client/Server-Programmierung mit Java: Anwendungen entwickeln mit Standard-Technologien
2019 · PDF
Programmorganisation und indirektes Programmieren für AOS-Rechner
1982 · PDF
Programming Languages and Systems: 28th European Symposium on Programming, ESOP 2019, Held as Part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2019, Prague, Czech Republic, April 6–11, 2019, Proceedings
2019 · PDF
Introduction to Programming with Fortran
2018 · PDF
Grundkurs JAVA
2018 · PDF
Programmierung in Python
2018 · PDF