分布式自主异步自动机(DA3):原理与应用
在计算机工程实践中,为了表达并发组件的行为,常常会使用各种形式的自动机。这主要基于两个原因:图形化表示和对独立组件的单独建模,例如 UML 状态图就是一个很好的例子。
为了对分布式系统进行图形化表示,并从并行系统组件的角度进行模拟,分布式自动机 DA3(D - triple A 或 DA - cubed)应运而生。它相较于其他一些自动机,能更好地描述真实分布式环境(具有完全异步性)中的并行性和协作性。
1. 不同概念的“分布式自动机”
在文献中,有几种不同的概念被称为“分布式自动机”:
- 基于 Zielonka 自动机的分布式字母表自动机 :这些自动机基于 Zielonka 的工作(Zielonka 1987),在许多关于并发系统行为的论文中被称为分布式自动机。部分还配备了实时时钟,用于进行具有实时约束的时间分析。不过,它们仅在输入符号不同时才异步执行动作,在共同输入符号上会进行同步移动,从某些角度看应被称为同步自动机。Alur 的定时自动机(Alur 和 Dill 1994)与之相近,只是添加了时间约束和时间不变量。CSP 进程也类似,通过 ! 和 ? 操作(分别为发送和接收)进行同步,其优势在于能确定通信方向。
- Büchi 自动机 :用于 LTL 模型检查,与 Zielonka 自动机接近,但会区分一些状态为接受状态,在 Brim 等人(2006)的研究中被称为分布式自动机。
- 消息传递自动机(MPA) :真正的分布式和异步自动机,包含等待接受的有序符号集,即缓冲区或队列。
超级会员免费看
订阅专栏 解锁全文
51

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



