The TLA+ tooling ecosystem is expanding, and that means there is demand for the Java-based tla2tools.jar to function not only as a standalone artifact, but also a reliable base for the parsing, interpretation, and model-checking of TLA+ specifications so other tools do not need to re-implement that functionality (related: #1048). Exporting the state graph explored by TLC is a common desire; TLC already implements the -dump format for multiple output formats (JSON and DOT graph description language), but this proposal is for design work to examine whether these formats are sufficient & should simply be improved upon with additional features & bugfixes, or a full custom format is necessary.
The TLC state graph output is consumed by several projects that I know of:
Scimitar - a tool for inductive proof composition written by @will62794 - consumes the state output as JSON
This talk by @defo10 et. al at the 2024 TLA+ conference about deriving useful visualizations of large state graphs using the DOT output format
The TLA+ tooling ecosystem is expanding, and that means there is demand for the Java-based tla2tools.jar to function not only as a standalone artifact, but also a reliable base for the parsing, interpretation, and model-checking of TLA+ specifications so other tools do not need to re-implement that functionality (related: #1048). Exporting the state graph explored by TLC is a common desire; TLC already implements the
-dump
format for multiple output formats (JSON and DOT graph description language), but this proposal is for design work to examine whether these formats are sufficient & should simply be improved upon with additional features & bugfixes, or a full custom format is necessary.The TLC state graph output is consumed by several projects that I know of:
So the questions are:
@lemmy mentioned state graph export was primarily intended for debugging the tools themselves, although people have found alternative uses for it.
CC @fwhdzh. As discussed in November community meeting.