UPPAAL:导致时钟停止运行的原因

时间:2014-02-24 05:08:24

标签: model-checking uppaal

我目前正在运行我的UPPAAL模拟器。我的模拟器在某个点之后停止运行代码。这一点取决于我提供的声明。但我想知道时钟什么时候停止运行?有什么东西可以触发这个吗?

1 个答案:

答案 0 :(得分:1)

我不确定我是否正确解释了你的问题,如果我能阅读你的模型,我可能会给你一些准确的建议。

尝试猜测问题是什么,我可以说Uppaal模拟器有时会采用无限多个离散步骤(转换)而不增加任何时钟变量。

感觉是“时钟停止”,而其余的模拟正在进行中。在这种情况下,时间实际上并没有停止:Uppaal,在所有可能的路径中,它只是探索时钟不发展的路径。如果模拟器(或模型检查器)可以在不增加时钟变量的情况下进行无限多次转换,那么这就是“芝诺路径”的一个例子。

编写模型的人有责任避免采用zeno路径的可能性。

如果您不确定您的模型是否没有Zeno路径,您可以使用已知方法来验证Timed Automaton没有zeno路径(在Uppaal中)。

另一种可能性是模拟器停止运行,说有死锁。在这种情况下,问题不是时钟停止运行,而是你到达了所有可能的转换被禁用的情况(可能是因为所有可能的保护从未启用,或者因为启用的转换的所有可能的目标状态都有一些时间不变的不变量