Fr. 63.00

Practical TLA+ - Planning Driven Development

English · Paperback / Softback

Shipping usually within 1 to 2 weeks (title will be printed to order)

Description

Read more

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

List of contents

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

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.

Summary

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

Product details

Authors Hillel Wayne
Publisher Springer, Berlin
 
Languages English
Product format Paperback / Softback
Released 13.12.2018
 
EAN 9781484238288
ISBN 978-1-4842-3828-8
No. of pages 221
Dimensions 177 mm x 16 mm x 254 mm
Weight 475 g
Illustrations XXIII, 221 p. 22 illus.
Subjects Natural sciences, medicine, IT, technology > IT, data processing > Programming languages

B, Software Engineering, Programming Techniques, Programming Languages, Compilers, Interpreters, Computer programming, Computer programming / software engineering, Professional and Applied Computing, Compilers & interpreters, Programming languages (Electronic computers)

Customer reviews

No reviews have been written for this item yet. Write the first review and be helpful to other users when they decide on a purchase.

Write a review

Thumbs up or thumbs down? Write your own review.

For messages to CeDe.ch please use the contact form.

The input fields marked * are obligatory

By submitting this form you agree to our data privacy statement.