Better separate models and specs
See original GitHub issueWe want specs to describe systems. Verification with model-checkers such as TLC is import, but ultimately a secondary concern. We do not want users to write specs that are amenable to model-checking.
The primary purpose of the Toolbox’s model editor is to make it convenient to check specs without amending them for model-checking. Until (if ever) vscode-tlaplus has first-class support for TLC models, I suggest to adopt the convention of the pre-toolbox era: Where vscode-tlaplus currently creates a Foo.cfg
config file for a Foo
spec, vscode-tlaplus should create the pair MCFoo.tla
and MCFoo.cfg
(with the necessary boilerplate such as EXTENDS Foo, …).
/fyi @xxyzzn
Issue Analytics
- State:
- Created 3 years ago
- Reactions:1
- Comments:17 (11 by maintainers)
Top Results From Across the Web
Model Specification: Choosing the Best Regression Model
Model specification is the process of determining which variables to include and exclude from a model. Learn how to choose the best regression...
Read more >Tesla Model X vs. Tesla Model Y Specs Comparison
Here, we take a look at the similarities and differences between the Model X and Y based on the data in order to...
Read more >Car Make and Model: What Does it Mean? - ValuePenguin
Cars from the same make with the same body style can have drastically different values, so just knowing you have or are looking...
Read more >Compare iPhone Models - Apple
Compare features and technical specifications for the iPhone 14 Pro, iPhone 14 Pro Max, iPhone 14, iPhone 14 Plus, iPhone SE, and many...
Read more >Tesla models compared: Model S, Model 3, Model X, Model Y ...
Tesla has taken more than its fair share of headlines over the past few years. ... There are four current on-sale models, with...
Read more >
Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free
Top Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
I consider myself fairly proficient with TLA+, but not so much with the .cfg files since I’m used to using the Toolbox. I’m trying to make the switch to VSCode, and the mapping between the Toolbox way and the VsCode way is eluding me. I do find that having several Toolbox models helps me make tradeoffs that I can communicate to other engineers by checking them in.
Whether or not support is added for toolbox-style models, at least documenting how to achieve a similar result would be helpful for users trying to make the transition like myself.
There is no support to inherit from configs. Let
S.tla
be the “underlying” spec andS.cfg
the corresponding config. As a workaround, you can reuseS.cfg
when checking the model specMCS.tla
by running TLC withtlc -config S.cfg MCS.tla
. In VSCode, this amounts to selecting “TLA+: Check model with TLC using non-default config...
” in the command palette.