Skip to main content
  • Book
  • © 2018

Practical TLA+

Planning Driven Development

Apress

Authors:

  • Use TLA+ to uncover complex bugs before you code

  • Practical, useful examples in distributed systems, threading, business logic, and more

  • Three case studies that teach the real-world experience

Buy it now

Buying options

eBook USD 34.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book USD 44.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Other ways to access

This is a preview of subscription content, log in via an institution to check for access.

Table of contents (11 chapters)

  1. Front Matter

    Pages i-xxiii
  2. The Semantics of TLA+ and PlusCal

    1. Front Matter

      Pages 1-1
    2. An Example

      • Hillel Wayne
      Pages 3-22
    3. PlusCal

      • Hillel Wayne
      Pages 23-42
    4. Operators and Functions

      • Hillel Wayne
      Pages 43-64
    5. Constants, Models, and Imports

      • Hillel Wayne
      Pages 65-77
    6. Concurrency

      • Hillel Wayne
      Pages 79-96
    7. Temporal Logic

      • Hillel Wayne
      Pages 97-110
  3. Applying TLA+

    1. Front Matter

      Pages 111-111
    2. Algorithms

      • Hillel Wayne
      Pages 113-126
    3. Data Structures

      • Hillel Wayne
      Pages 127-136
    4. State Machines

      • Hillel Wayne
      Pages 137-148
    5. Business Logic

      • Hillel Wayne
      Pages 149-166
    6. MapReduce

      • Hillel Wayne
      Pages 167-197
  4. Back Matter

    Pages 199-221

About this book

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


Authors and Affiliations

  • Chicago, USA

    Hillel Wayne

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.

Bibliographic Information

Buy it now

Buying options

eBook USD 34.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book USD 44.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Other ways to access