12、使用 TLA+ 设计和证明 Abaco 自动伸缩器的属性

使用 TLA+ 设计和证明 Abaco 自动伸缩器的属性

1. 安全与不安全的示例行为

RevisionNumberInv 是 Abaco 操作的关键属性。Abaco 服务于科研社区,是科研工作流程的一部分,满足其基础设施和计算需求。科研成果的可靠性和可重复性依赖于使用正确版本的软件。

以下是两个示例行为的状态序列快照,假设系统中只有一个参与者(actor)和一个工作者(worker):
- 行为 A
1. 在 t0 时刻为初始状态。
2. 在 t1 时刻,使用参与者当前的镜像版本号 r1 创建一个工作者。
3. 在 t2 时刻,工作者开始执行消息,状态从 IDLE 变为 BUSY。
4. 在 t3 时刻,Abaco 收到 HTTP 参与者更新请求,参与者的版本号从 r1 变为 r2,状态从 READY 变为 UPDATING IMAGE。
5. 在 t4 时刻,工作者完成当前执行,状态从 BUSY 变为 IDLE。
6. 在 t5 时刻,自动伸缩器决定删除工作者,因为工作者使用的镜像版本号与参与者当前的镜像版本号不同。工作者的状态变为 SHUTDOWN REQUESTED,并向工作者的命令队列发送“SHUTDOWN”命令消息。
7. 在 t6 时刻,工作者删除完成,状态重置为‘−’,版本号重置为 r0,时间戳重置为 t0。
8. 在 t7 时刻,创建工作者。如果使用参与者当前的镜像版本号 r2 创建工作者,则满足 RevisionNumberInv;如果使用旧版本号 r1,则违反该安全属性。
9. 在 t8 时刻,当工作者使用正确的镜像版本号创建后,参与者的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值