tla-plus/Percolator/README.md

22 lines
1.0 KiB
Markdown
Raw Normal View History

# TLA+ for Percolator
This directory contains the TLA+ specification of Percolator, the transaction protocol of [TiKV](https://github.com/pingcap/tikv).
- [TLA+ specification](Percolator.tla)
- [TLC configuration](Percolator.cfg)
- [TLA+ toolbox configuration](Percolator.toolbox/Percolator___PercolatorModel.launch)
## How to run in TLA+ toolbox?
- Install [TLA+ toolbox](https://lamport.azurewebsites.net/tla/toolbox.html#installing).
- Install [TLAPS](https://tla.msr-inria.inria.fr/tlaps/content/Download/Binaries.html).
- Import the TLA+ toolbox configuration.
Note TLAPS is optional. You can remove all TLAPS proof, it does not affect the model.
## How to run in command line?
- Download [tla2tools.jar](https://tla.msr-inria.inria.fr/tlatoolbox/dist/tla2tools.jar).
- Install [TLAPS](https://tla.msr-inria.inria.fr/tlaps/content/Download/Binaries.html).
- Execute `java -cp ./tla2tools.jar tlc2.TLC -deadlock -workers 4 Percolator`. `-worker 4` sets the number of worker threads, which should equal to the number of cores on machine.