Annotation variables/Better support for view maps
See original GitHub issueIt’d be awfully useful to be able to annotate transitions with a string (or other expression) to provide some extra context when interpreting error traces. This is particularly true when using PlusCal, since it takes considerable effort to link the transitions in an error trace back to the original PlusCal code.
It is clearly possible to add an annotation
variable and set it to a new value on each transition, but this can make the state space significantly larger: it separates out otherwise-equivalent states at which TLC arrived by distinct paths.
One possible solution could be the ability to mark a variable as “irrelevant to state equivalence”, avoiding the increase in state space size. I see that this feature would introduce a risk of restricting the state space exploration, if such a variable were ever read, but I’m not sure if that’s a big problem or not.
Issue Analytics
- State:
- Created 5 years ago
- Comments:9 (6 by maintainers)
A view can already be declared and activated on the advanced model editor page (enter its name into the view box and pass “-view” parameter to TLC). This is one area that could be enhanced at the Toolbox level.
Another enhancement would be for TLC or the PlusCal translator to be more clever when it comes to naming/generating actions.
@DaveCTurner Please have a look at #267 with which it should be possible to add an “annotation variable” to a trace without increasing the model’s state space.