| |
|
|
|
|
|
|
|
|
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 |
|
|
|
|
|
|
|
|
Edizione |
[1st ed. 2018.] |
|
|
|
|
|
Descrizione fisica |
|
1 online resource (234 pages) |
|
|
|
|
|
|
Disciplina |
|
|
|
|
|
|
Soggetti |
|
Programming languages (Electronic computers) |
Computer programming |
Software engineering |
Programming Languages, Compilers, Interpreters |
Programming Techniques |
Software Engineering |
|
|
|
|
|
|
|
|
Lingua di pubblicazione |
|
|
|
|
|
|
Formato |
Materiale a stampa |
|
|
|
|
|
Livello bibliografico |
Monografia |
|
|
|
|
|
Note generali |
|
|
|
|
|
|
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. |
|
|
|
|
|
| |