以语句LTl,spin表示的形式

时间:2014-03-04 18:17:42

标签: spin promela

对不起我的英语,我来自乌克兰)才开始研究旋转系统验证。我们问了以下问题: “以LTL表达下面的形式出现:如果我爱玛莎,我就不能爱大傻”。我无法理解如何做到这一点。这是我得到的: p - 像玛莎 获得的Gp,以[] p的形式表示 代码(虽然我不知道怎么写):

int m = 4;
int d = 5;

proctype lab1(byte a; byte b){
    if
    :: (a > b) -> printf("%e\n",a)
    :: (a < b) -> printf("%e\n",b)
    fi
}

init {
    run lab1(m, d)
}

ltl la { []m } 

我知道这是胡说八道,但我请求你的帮助。

1 个答案:

答案 0 :(得分:1)

如果你只需要一个LTL表达'如果我爱玛莎,我就不能爱达莎'那么这可能就够了:

bool i_love_masha;
bool i_love_dasha;

ltl la { i_love_masha -> !i_love_dasha }

然后问题是模型的行为是什么。我猜是这样的:

init {
  i_love_masha = true;
  i_love_dasha = true;   /* should be a violation! */
}

也许这会让你开始。但是,我不确定这是否完全回答了你的问题!