如何在 TLA+ Toolbox 中对 Paxos 进行建模?

How to model Paxos in TLA+ Toolbox?

我尝试对 Paxos 建模 (Paxos example) in TLA+ Toolbox (toolbox)。我应该在模型中输入什么数字才能使其工作?或者在这个工具箱中有其他方法可以确认这个算法吗?

基于此代码:

CONSTANT Value,     \* The set of choosable values.
     Acceptor,  \* A set of processes that will choose a value.
     Quorum     \* The set of "quorums", where a quorum" is a 
                \*   "large enough" set of acceptors

我尝试这样的数字:

受体 <- [11,12,13,14,15];

法定人数 <- [11,12,13,14,15,16,17,18,19];

值 <- [0,1];

但我收到 ArrayIndexOutOfBoundsException 错误。

您的模型存在一些问题:

  1. 为了指定一个集合,你应该使用花括号,所以 Acceptor <- {11,12,13,14,15}.

  2. 法定人数应该是一组接受者的集合,例如法定人数 <- {{11,12,13},{12,13,14}}.