Kripke建筑物可以有门卫吗?

时间:2019-04-06 04:09:31

标签: verification model-checking nusmv

我有一个简单的kripke结构,其中有3个状态,并具有以下转换:

s1 --> s2
s2 --> s1
s1 --> s3
s3 --> s3

s1是唯一的初始状态。我不希望循环s1到s2重复超过一定数量(例如两次)。在其他过渡系统中,我可以为过渡添加防护。

Q1:Kripke结构能否在过渡上设置防护装置?

Q2:如果可以,如何在NuSmv中对其建模?

谢谢

1 个答案:

答案 0 :(得分:1)

您在这里比较苹果和橙子。带防护的模型(例如NuSMV中的模型)定义了一个状态空间,该状态空间又可以看作是Kripke结构(这里我们忽略诸如死锁之类的问题)。

警卫是建模方法的要素,而Kripke结构是用于描述状态空间的基本理论概念。

让我们举个例子:我们有一个带有变量v的模型,该模型可以接受两个值1和2,其中初始值为1,以及两个带有警卫的转换:

a == WHEN v=1 THEN v:=2
b == WHEN v=2 THEN v:=1

结果状态空间为:

[v=1] --> [v=2]
[v=2] --> [v=1]

实际上这是一个Kripke结构(其中[v=1]是唯一的初始状态,并且在节点上未定义任何标签)不包含任何防护。

更新: 每个节点的标签集的一个示例是所有布尔表达式,在那里计算结果为true。

总结一下您的两个问题:

  1. 不,Kripke结构本身没有防护装置。
  2. 尽管如此(正如所解释的那样,Kripke结构中没有任何守护者并不意味着模型中一定没有守护者),我认为您可以将案例陈述中的条件视为捍卫结肠行动权。或者使用TRANS,您可以在表达式中隐含防护。