“有损信道系统把消息队列按子词排序;有限控制状态要求相同,多条信道逐分量比较。Higman 引理加有限乘积封闭性给 wqo,消息可丢失则负责迁移兼容性。这两项证明义务不能互相替代。”
形式陈述
有损信道系统由有限控制状态、有限消息字母表和有限条无界 FIFO 信道组成。配置
有损语义允许在可靠操作前后任意删除消息,保留剩余消息的顺序。用
当且仅当可先从
直觉
消息可以消失,却不能凭空插入、复制或重新排序。这个错误模型扩大了系统可能行为:可靠执行仍然允许,但还要考虑所有丢失模式。一个协议在此模型下安全,才经受了任意丢包的考验。
丢失会使某些任务更难完成,却让某些验证问题更容易决定,因为它允许大队列先删成小队列,再模仿小队列的动作。
例子与边界
接收队首和删除中间消息不同
假设控制边要求接收 ab 的队首为 b,然后接收成功,队列变空。
对队列 abac,一次丢失可得到 ac、bac 或空串,但不能得到 ca,因为顺序不允许改变,也不能得到 aaac,因为不能复制消息。
子词顺序怎样给单调性
规定两个配置可比时控制状态相同,且各信道逐项满足子词关系。Higman 引理保证有限字母表字串是 wqo,有限乘积和有限控制并合后仍为 wqo。
若小队列配置
可靠 FIFO 系统没有这项模拟能力:小队列 b 能接收 ab 虽包含它为子词,却被队首
控制状态错误如何变成覆盖
设错误控制状态为
给定有限基,可按有限条发送、接收规则计算最小前驱;再调用 后向覆盖算法。例如接收
推论与应用
有限控制有损信道的覆盖/控制状态可达性可判定,但最坏复杂度极高。不能由 Higman 引理直接推出多项式甚至初等复杂度,也不能把同一结论转给可靠无界 FIFO 通信系统。[1,2]
本模型不承诺每条消息最终送达。若所有重传都可以丢失,协议可能永远收不到确认;证明活性需要另给公平性、限制丢失或概率模型。给丢包概率并问“几乎必然完成”,已经是在研究概率信道系统,不是本页的非确定语义。
参考资料
- [1] Parosh Aziz Abdulla and Bengt Jonsson, Verifying Programs with Unreliable Channels, Information and Computation 127, 1996,pp. 91–101。
- [2] Alain Finkel and Philippe Schnoebelen, Well-Structured Transition Systems Everywhere!, 2001,信道系统与有效前驱基部分。