1.

Record Nr.

UNINA9910300360703321

Autore

Wayne Hillel

Titolo

Practical TLA+ : Planning Driven Development / / by Hillel Wayne

Pubbl/distr/stampa

Berkeley, CA : , : Apress : , : Imprint : Apress, , 2018

ISBN

9781484238295

148423829X

Edizione

[1st ed. 2018.]

Descrizione fisica

1 online resource (234 pages)

Disciplina

005.13

Soggetti

Programming languages (Electronic computers)

Computer programming

Software engineering

Programming Languages, Compilers, Interpreters

Programming Techniques

Software Engineering

Lingua di pubblicazione

Inglese

Formato

Materiale a stampa

Livello bibliografico

Monografia

Note generali

Includes index.

Nota di contenuto

Part I: The Semantics of TLA+ and PlusCal -- 1. An Example -- 2. PlusCal -- 3. Operators and Functions -- 4. Constants, Models, and Imports -- 5. Concurrency -- 6. Temporal Logic -- Part II: Applying TLA+ -- 7. Algorithms -- 8. Data Structures -- 9. State Machines -- 10. Ambiguity and Feature Interation -- 11. Case Study: MapReduce -- Appendix A: Mathematics -- Appendix B: PT library -- Appendix C: PlusCal to TLA+.

Sommario/riassunto

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. 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.