In this workshop, we are introducing TLA+ and its model checkers: TLC and Apalache. No prior knowledge of TLA+ is required.
If you want to reproduce the steps, make sure that you have installed the following tools first:
- TLA Toolbox or VScode plugin for TLA+
- Apalache from the branch igor/with-snowcat9. Check the Apalache manual on Building Apalache from source. If you are reading these lines after March 31, 2021, most likely, this branch has been merged into unstable and released as version 0.15.0. Check Apalache releases.
Follow the step-by-step instructions.
WARNING: The final specification TokenTransfer8.tla is not a complete specification of ICS20. If you want to specify ICS20, you have to introduce the following features:
- receiving (and sending) on (and to) coin source,
- acknowledgments,
- timeouts