by doonesbury on 12/10/2020, 1:36:39 AM with 2 comments
I use the term brainwash as satire. Of course, the programmer imperative sensibility is quite important if you want to ship product, which is the bottom line.
But I've found the imperative mentality in my own work on TLA+ modeling initially confusing. I offer the following write-up to help clarify several important points (focusing on TLA+ Pluscal) in a technical note with example models, Python code. It's the first in a series on modeling a distributed key-value store I'm working on:
https://github.com/rodgarrison/tla_note1
Beyond basics I also give a recipe to use TLA+ at the command line for those of us who prefer it over IDEs. TLA's toolbox IDE is nice; still I prefer command line development when possible.
In the paper:
- program behavior versus model states
- deadlock
- termination
- coverage (label) checks
- setting up TLA+ on the command line
Hope it helps. As I note in the abstract I got some help of my own from the TLA Google Group.
I use the term brainwash as satire. Of course, the programmer imperative sensibility is quite important if you want to ship product, which is the bottom line.
But I've found the imperative mentality in my own work on TLA+ modeling initially confusing. I offer the following write-up to help clarify several important points (focusing on TLA+ Pluscal) in a technical note with example models, Python code. It's the first in a series on modeling a distributed key-value store I'm working on:
https://github.com/rodgarrison/tla_note1
Beyond basics I also give a recipe to use TLA+ at the command line for those of us who prefer it over IDEs. TLA's toolbox IDE is nice; still I prefer command line development when possible.
In the paper:
- program behavior versus model states
- deadlock
- termination
- coverage (label) checks
- setting up TLA+ on the command line
Hope it helps. As I note in the abstract I got some help of my own from the TLA Google Group.