CSP 定时输入输出关系与机械化验证
1. 自动售货机 CSP 规范
在建模自动售货机(VM)的操作时,会考虑变量的带撇版本(如 pOutput)来执行相关操作。带撇变量表示执行相应操作后的值,而不带撇的版本表示操作前的值,这就是代码 1.1 中出现 pMode 和 pOutput 变量的原因。同时,内存状态通道上的通信对于 CSPTIO 的定义至关重要。
以下是自动售货机的 CSP 规范代码:
Code 1.3. Vending Machine CSP Specification
1 VM = get ! mode? I . vMode −>
. . .
−> get ! eta1 ?B. vEta1 −>
. . .
−> (
. . .
2
[ ]
(vMode == 2
and
vEta3 &
s e t ! di sTrans !B. true −>
3
s e t ! pOutput ! I . 1 −> memory state ! output ! I . 1 −>
4
s e t ! pMode ! I . 0 −> memory state ! mode ! I . 0 −> SKIP)
5
[ ]
(vMode == 3
and
vEta4 &
s e t ! di sTrans !B. true −>
6
s e t ! pOutput ! I . 2 −> memory state ! output ! I . 2 −>
7
s e t ! pMode ! I . 0 −> memory stat
超级会员免费看
订阅专栏 解锁全文
15

被折叠的 条评论
为什么被折叠?



