Practical TLA+ : planning driven development /
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 b...
Clasificación: | Libro Electrónico |
---|---|
Autor principal: | |
Formato: | Electrónico eBook |
Idioma: | Inglés |
Publicado: |
[New York, NY] :
Apress,
[2018]
|
Temas: | |
Acceso en línea: | Texto completo (Requiere registro previo con correo institucional) |
Tabla de Contenidos:
- Intro; Table of Contents; About the Author; About the Technical Reviewer; Acknowledgments; Introduction; Part I: The Semantics of TLA+ and PlusCal; Chapter 1: An Example; The Problem; Boilerplate; Specifying; Implementing; Verifying; Initial Conditions; Multiple Processes; Temporal Properties; Summary; Chapter 2: PlusCal; Introduction; Specifications; Layout of a Spec; Expressions; Values; PlusCal Algorithm Body; Assignment; assert; skip; if; while; Macros; Example; Complex Behaviors; Multiple Starting States; Example; Nondeterministic Behavior; Either; With; Example; Summary.
- Chapter 3: Operators and FunctionsOperators; Invariants; Logical Operators; \A and \E; => and ; Expressions; LET-IN; IF-THEN-ELSE; CASE; CHOOSE; Functions; Functions and Operators; DOMAIN; Outline Placeholder; Outline Placeholder; Sets of Functions; Example; Summary; Chapter 4: Constants, Models, and Imports; Constants; Ordinary Assignment; Model Values; Sets of Model Values; ASSUME; Infinite Sets; TLC Runtime; Configuration; Error Traces; The TLC Module; Print and PrintT; Assert; Permutations and SortSeq; Imports; EXTENDS; INSTANCE; Summary; Chapter 5: Concurrency; Labels; Processes.
- AwaitDeadlocks; Process Sets; Procedures; Example; Summary; Chapter 6: Temporal Logic; Termination; Stuttering; Fairness, Weak and Strong; The Temporal Operators; Outline Placeholder; Outline Placeholder; Outline Placeholder; and ; Limitations of Liveness; Example; Summary; Part II: Applying TLA+; Chapter 7: Algorithms; Single-Process Algorithms; Max; Leftpad; Properties of Algorithms; Multiprocess Algorithm; Summary; Chapter 8: Data Structures; Validation; Example; Summary; Chapter 9: State Machines; State Machines; Scaffolding Implementations; Ghost Variables; Summary.
- Chapter 10: Business LogicThe Requirements; Adding Invariants; Adding Liveness; Adding Reservations; Updating Assumptions; Expiring Reservations; Summary; Chapter 11: MapReduce; Problem Overview; Part One: Basics; Part Two: Liveness; Part Three: Statuses; Exercise; Summary; Appendix A: Math; Propositional Logic; Evaluating Propositions in TLA+; Sets; Predicate Logic; Evaluating Predicates in TLA+; Appendix B: The PT Module; Appendix C: PlusCal to TLA+; Temporal Logic; Actions; TLA; Limitations of PlusCal; Index.