All Topics
All Topics
Technology
Technology
Design
Design
Programming
Programming
Science
Science
News
News
Gaming
Gaming
Entertainment
Entertainment
Business
Business
Finance
Finance
Sports
Sports
Health
Health
Food
Food
Travel
Travel
Art
Art
Music
Music
Books
Books
Education
Education
Politics
Politics
Personal
Personal
No algorithm. No AI slop. No ads. Just RSS. Pro-human. Indie writers. Real journalism. Open web. Chronological. Hand toasted.

Practical TLA+ Modeling Principles: Minimalist Approaches and Specification Techniques

By

birdculture

5mo ago· 4 min readen

Summary

The article provides practical advice for using TLA+ (Temporal Logic of Actions) for formal specification and modeling. It emphasizes minimalist modeling approaches, starting with a tiny core and only adding components when necessary. Key principles include modeling specification rather than implementation, writing declaratively, focusing on what must hold rather than how to achieve it, and cutting unnecessary layers and components. The article stresses that abstraction involves knowing what to omit and that most models should focus on specific slices of behavior rather than entire systems.

Key quotes

· 5 pulled
Model minimalistically. Start from a tiny core, and always keep a working model as you extend.
Your default should be omission. Add a component only when you can explain why leaving it out would not work.
Most models are about a slice of behavior, not the whole system in full glory.
Abstraction is the art of knowing what to cut. Deleting should spark joy.
Model specification, not implementation. Write declaratively. State what must hold, not how it is achieved.
Snippet from the RSS feed
Model minimalistically Start from a tiny core, and always keep a working model as you extend. Your default should be omission. Add a compone...

You might also wanna read

Using Lean 4's Type System to Enforce POSIX Socket State Machine Correctness

The article discusses using Lean 4's type system to encode the POSIX socket API state machine, eliminating runtime errors by enforcing corre

ngrislain.github.io·2mo ago

The Practical Limitations of Formally Verified Code: When Mathematical Proofs Fail in Real Systems

This article explores the practical limitations of formally verified code, explaining how even mathematically proven 'correct' code can fail

buttondown.com·7mo ago

Three Years In: A Senior Engineer's Reflection on AI's Impact on the Software Development Role

A senior engineer reflects on the long-term sustainability of AI tools in software development, three years into deep organizational adoptio

jamiehurst.co.uk·14h ago

Three Years In: A Senior Engineer's Reflection on AI's Impact on the Software Development Role

A senior engineer reflects on the long-term sustainability of AI tools in software development, three years into deep organizational adoptio

jamiehurst.co.uk·14h ago

Bijou64: A variable-length integer encoding that's both correct and accidentally fast

This article describes the development of bijou64, a variable-length integer (varint) encoding created for the Subduction CRDT sync protocol

inkandswitch.com·1d ago

Bijou64: A variable-length integer encoding that's both correct and accidentally fast

This article describes the development of bijou64, a variable-length integer (varint) encoding created for the Subduction CRDT sync protocol

inkandswitch.com·1d ago