An open API service indexing awesome lists of open source software.

https://github.com/federicoponzi/tla-plus-specs


https://github.com/federicoponzi/tla-plus-specs

Last synced: 6 months ago
JSON representation

Awesome Lists containing this project

README

          

## TLA+ Specs
My TLA+ specifications, mostly written in Pluscal.

* 2-phase commit: https://github.com/FedericoPonzi/tla-plus-specs/tree/main/2-phase-commit
* 3-phase commit: https://github.com/FedericoPonzi/tla-plus-specs/tree/main/3-phase-commit
* An incorrect way to model a lease algorithm: https://github.com/FedericoPonzi/tla-plus-specs/tree/main/lease-buggy-code
* Lamport Clock used to solve mutual exclusion problem: [logical-clocks-and-mutual-exclusion](https://github.com/FedericoPonzi/tla-plus-specs/tree/main/logical-clocks-and-mutual-exclusion)
* Modeling of the solution for the problem of Missionaries and Cannibals: https://github.com/FedericoPonzi/tla-plus-specs/tree/main/missionaries_and_cannibals_problem
* I've started watching this talk "[Weeks of debugging can save you hours of TLA+](https://www.youtube.com/watch?v=wjsI0lTSjIo)", and thought it would be fun to stop it and try to find the bug myself in tla+: https://github.com/FedericoPonzi/tla-plus-specs/tree/main/weeks_of_debugging
* Wolf, Goat and Cabbage is similar to the Missionaries and cannibals problem. A fun exercise to improve my tla+: https://github.com/FedericoPonzi/tla-plus-specs/tree/main/wolf_goat_cabbage
* Chandy-lamport distributed snapshots algorithm: https://github.com/FedericoPonzi/tla-plus-specs/tree/main/chandy-lamport-distributed-snapshots

## Posts:
I've also written some blog posts on TLA+:
* [TLA+ is easy if you know how to abstract](https://blog.fponzi.me/2023-10-26-tla-plus-is-easy-if-you-know-how-to-abstract.html)
* [Wolf, goat and cabbage problem](https://blog.fponzi.me/2023-10-30-wolf-goat-cabbage.html)
* [Lamport clocks](https://blog.fponzi.me/2024-02-02-lamport-clocks.html)
* [Distributed Snapshots: Chandy-Lamport protocol](https://blog.fponzi.me/2024-05-30-distributed-snapshots.html)