了解乌帕尔的紧急渠道

Understanding Urgent Channels in Uppaal

我有三个自动机(见下文),单个全局声明 urgent chan u; 和系统声明 system UrgentChannel, P1, P2;。我的理解是,通过使 u 成为紧急渠道,从 startgoal 的过渡必须采取

我想明白为什么属性P1.start --> P1.goal不满意了。来自模拟器的反例似乎在这里没有帮助。

下载的型号是here。感谢阅读!

模拟器中的反例(diagnostic trace)有一个尾标为红色,表示无限重复(P2可以执行齐诺环路)。基本上,Uppaal 试图说明存在一个可能会阻止紧急转换到达目标状态的无限循环。

如果删除进程 P2,则 属性 成立。

如果您关心活性属性,​​那么这种芝诺循环是不可取的,因此 Uppaal 正确地将它们报告为反例。

延迟转换 (L,v) -d-> (L,v+d) 的文档说“对于 L 中的所有位置 l 和所有位置 l'(不一定在 L 中),如果有是从 l 到 l' 的边,则: - 此边缘不通过紧急通道同步,或者 - 这条边确实在紧急通道上同步,但是对于所有 0 ≤ d' ≤ d 我们有 v+d' 不满足边的守卫。

那么为什么P2的边沿可以触发呢?