CPN ML编程:表达式、类型与函数的深度解析
1. 列表在CPN模型中的应用
在CPN模型里,采用列表可以实现诸如栈和优先队列等规则,从而确定从库所中消耗令牌的顺序。列表的运用改变了库所中令牌的数量。例如,网络库所中的数据包原本每个数据包对应一个令牌,现在用一个令牌来表示所有数据包。这一改变影响了CPN模型的并发特性,即能够并发出现的绑定元素。
在之前的示例中, SendPacket 和 TransmitPacket 可以并发执行,但现在由于它们都需要访问库所A上的单个列表令牌,所以无法再并发执行。不过, SendPacket 和 ReceivePacket 仍可以并发执行。除了之前介绍的颜色集构造函数,CPN ML还提供了索引颜色集构造函数和子集颜色集构造函数。
2. 表达式和类型
在CPN模型中,弧表达式、防护条件和初始标记所使用的表达式可以非常复杂,只要表达式具有正确的类型,就可以使用完整的标准ML表达式。具体要求如下:
- 弧表达式类型 :
- 若弧表达式始终计算为单个令牌,则其类型必须等于连接库所的颜色集。
- 若弧表达式计算为令牌的多重集,则其类型必须是连接库所颜色集上的多重集类型。
- 初始标记类型 :
- 若初始标记是单个令牌,则必须计算为库所颜色集中的值。
- 若初始标记是令牌的多重集,则必须计算为库所颜色集上的多重集。
- 防护条件类型
超级会员免费看
订阅专栏 解锁全文
508

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



