Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/talex5/tla
A Dockerfile for building the TLA+ tools
https://github.com/talex5/tla
Last synced: 6 days ago
JSON representation
A Dockerfile for building the TLA+ tools
- Host: GitHub
- URL: https://github.com/talex5/tla
- Owner: talex5
- License: other
- Created: 2018-04-30T13:47:24.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2018-12-30T10:43:18.000Z (almost 6 years ago)
- Last Synced: 2024-10-30T06:08:02.537Z (about 2 months ago)
- Language: Dockerfile
- Size: 6.84 KB
- Stars: 13
- Watchers: 4
- Forks: 1
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
This is useful to run automated tests on models (e.g. in CI).
It can:
1. Run TLC models.
2. Check TLAPS proofs.
3. Generate PDFs.Example `Makefile`:
```
WORKERS := 4TLA := docker run --rm -it --workdir /mnt -v ${PWD}:/mnt talex5/tla
.PHONY: all check tlaps pdfs
all: check tlaps pdf
check:
${TLA} tlc -workers ${WORKERS} Spec.tlatlaps:
${TLA} tlapm -I /usr/local/lib/tlaps Spec.tla%.pdf: %.tla
[ -d metadir ] || mkdir metadir
${TLA} java tla2tex.TLA -shade -latexCommand pdflatex -latexOutputExt pdf -metadir metadir $<pdfs: Spec.pdf
```The `tlc` command runs `java tlc2.TLC` and then greps the results for the string `Model checking completed. No error has been found.`,
returning a non-zero exit status if it is not found.I tried to follow the instructions
at https://tla.msr-inria.inria.fr/tlaps/content/Download/Source.html and fix up any problems as they turned up.To use this with the toolbox for interactive proof checking, I put this file in my PATH:
```bash
#!/bin/bash
docker run --rm -i -v ${PWD}:${PWD} --entrypoint tlapm talex5/tla "$@"
```