This repository is designed to test the translation from Alloy to TLA+, and the performance of the translated models.
-
Clone the repository by running
git clone https://github.com/WatForm/alloy-to-tla-testing -
Ensure that the java version locally installed is >= 25, by running
java --version -
Ensure that
dashplusis accessible, by running./scripts/setup.sh- this sets up a local copy ofdashplus, separate from any other copy stored locally. It is cloned from the github watform repository for dashplus. -
Ensure that python is installed locally, by running
python --version -
Run the translation script:
python ./scripts/translate_tla.py -
To run the generated code:
python ./scripts/run_tla.py -
To run the Alloy files on the Analyzer:
python ./scripts/run_alloy.py -
To clean up the artefacts, run
./scripts/cleanup.sh
-
Install the nix package manager: https://nixos.org/download/
-
Enable flakes, which is an experimental feature of nix
-
Run
nix develop ./nix- this sets up all the dependencies needed, and creates a development shell where all the dependencies are present, except dashplus -
Ensure that
dashplusis accessible, by running./scripts/setup.sh- this sets up a local copy ofdashplus, separate from any other copy stored locally. It is cloned from the github watform repository for dashplus. -
After testing, exit the shell to remove all dependencies
-
To clean up the artefacts, run
./scripts/cleanup.sh
- sat/unsat status
- instances
- is fuzz testing possible?
- manage dashplus cloning
- running tlc