递归规范的解决方案与项模型
1. 复杂自动售货机的递归规范
在自动售货机的场景中,存在不同类型的机器。有比普通咖啡机更复杂的机器,它售卖咖啡和热巧克力,咖啡售价25美分,热巧克力售价20美分,可接受5美分、10美分和20美分的硬币。为这个自动售货机给出递归规范时,需要考虑以下几个问题:
- 是否允许投入过多的钱?
- 硬币可以任意顺序投入吗?
- 硬币可以同时投入吗?
- 机器会终止运行吗?
- 要注意做出选择的时刻。
还有一种用于售卖提神饮料(咖啡不算在内)的自动售货机,只接受5美分、10美分和20美分的硬币,顾客需支付25美分购买饮料。当投入错误的硬币时,机器会拒绝;有时机器也不接受正确的硬币。可以使用以下原子动作来描述这个自动售货机:
- 5 :投入5美分硬币;
- 10 :投入10美分硬币;
- 20 :投入20美分硬币;
- re :拒绝错误硬币;
- a :接受硬币;
- na :不接受正确硬币;
- r :提供饮料。
2. 递归规范的解决方案
对于带有递归规范的过程理论,其操作语义基于由转换系统构建的模型,也就是转换系统模双模拟等价的代数。递归规范在这样的模型中的语义是该模型域中的一组过程,规范中的每个递归变量对应一个过程,当在模型中解释时,这些过程能使规范中的方程有效。这样的一组过程被称为递归规范的解。
超级会员免费看
订阅专栏 解锁全文

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



