了解乌帕尔的紧急渠道
Understanding Urgent Channels in Uppaal
我有三个自动机(见下文),单个全局声明 urgent chan u;
和系统声明 system UrgentChannel, P1, P2;
。我的理解是,通过使 u
成为紧急渠道,从 start
到 goal
的过渡必须采取 。
我想明白为什么属性P1.start --> P1.goal
不满意了。来自模拟器的反例似乎在这里没有帮助。
下载的型号是here。感谢阅读!
- P1:
- P2:
- 紧急频道:
模拟器中的反例(diagnostic trace)有一个尾标为红色,表示无限重复(P2可以执行齐诺环路)。基本上,Uppaal 试图说明存在一个可能会阻止紧急转换到达目标状态的无限循环。
如果删除进程 P2,则 属性 成立。
如果您关心活性属性,那么这种芝诺循环是不可取的,因此 Uppaal 正确地将它们报告为反例。
延迟转换 (L,v) -d-> (L,v+d) 的文档说“对于 L 中的所有位置 l 和所有位置 l'(不一定在 L 中),如果有是从 l 到 l' 的边,则:
- 此边缘不通过紧急通道同步,或者
- 这条边确实在紧急通道上同步,但是对于所有 0 ≤ d' ≤ d 我们有 v+d' 不满足边的守卫。
那么为什么P2的边沿可以触发呢?
我有三个自动机(见下文),单个全局声明 urgent chan u;
和系统声明 system UrgentChannel, P1, P2;
。我的理解是,通过使 u
成为紧急渠道,从 start
到 goal
的过渡必须采取 。
我想明白为什么属性P1.start --> P1.goal
不满意了。来自模拟器的反例似乎在这里没有帮助。
下载的型号是here。感谢阅读!
- P1:
- P2:
- 紧急频道:
模拟器中的反例(diagnostic trace)有一个尾标为红色,表示无限重复(P2可以执行齐诺环路)。基本上,Uppaal 试图说明存在一个可能会阻止紧急转换到达目标状态的无限循环。
如果删除进程 P2,则 属性 成立。
如果您关心活性属性,那么这种芝诺循环是不可取的,因此 Uppaal 正确地将它们报告为反例。
延迟转换 (L,v) -d-> (L,v+d) 的文档说“对于 L 中的所有位置 l 和所有位置 l'(不一定在 L 中),如果有是从 l 到 l' 的边,则: - 此边缘不通过紧急通道同步,或者 - 这条边确实在紧急通道上同步,但是对于所有 0 ≤ d' ≤ d 我们有 v+d' 不满足边的守卫。
那么为什么P2的边沿可以触发呢?