Formal models specified iwth TLA+ and PlusCal
Ensure that the modules
directory is added to the libraries path of your TLA+ Toolbox!
Note that the original Raft specification can be found here: github.com/ongardie/raft.tla. The version here is modified with the model invariants as specified by @jinlmsft and to include details for hierarchical consensus.
An excellent resource for learning TLA+" learntla.com
Other Notes/Resources: