Uppaal:火车出入口示例中的概率估计

时间:2018-09-04 08:57:13

标签: formal-verification uppaal

我正在运行Train Gate示例,并且我想运行一个验证属性

Pr [<= 100](<> Train(0).Cross)
100次 火车(0) 穿越 的概率是多少单位

我已将时钟添加到 Safe 状态,如附件中所示。

1

通过运行上述属性,它给我以下错误;

定位火车(1)。安全 [火车(0).x = 19.641971035860478878021240234375火车(1).x = 4.758311911486089229583740234375火车(2).x = 19.416877078358083963394165039062火车(3).x = 19.25746748410165309906005859375火车(4).x = 19.96133 = 1370820522522349349375375375 12565905327火车(5)。时间= 20.623387750703841447830200195312] Gate.list [0] = 4 Gate.list 1 = 5 Gate.list [2] = 0 Gate.list [3] = 2 Gate.list [4] = 3 Gate.list [5] = 0 Gate.list [6] = 0 Gate.len = 5 在过渡期间违反了模型的理智性 火车(1)。跨->火车(1)。安全{x> = 3,离开[id] !, 1} Gate.Occ-> Gate.Free {1 == front(),离开https://stackoverflow.com/a/51980599/7203487 ?, dequeue()}

在最后一行中,它说“在过渡时违反了模型的理智性”。我一直在寻找(搜索)此错误,但到目前为止还没有运气,有人可以帮助我修复它。

谢谢!

1 个答案:

答案 0 :(得分:0)

问题在于,当火车从CrossSafe时,时钟x的估值大于或等于3,这与Safe的不变性({{ 1}}),因此SMC抱怨该模型无法满足有关该模型的假设。

解决方法是将x<=2的时钟从x=0重置为Cross

SMC中有许多假设:

  1. 系统不应包含死锁
  2. 系统不应包含时间锁(不应停止时间)
  3. 系统不应包含zeno行为
  4. 输入处理应确定性
  5. 进程应能够独立进行:仅允许广播同步,输入不能强制输出。

仅举几例...