Engee 文档

自旋中的线性时间逻辑(LTL)

线性时间的时间或时间逻辑(Linear Temporal Logic)的公式在Promela语言中用作模型的规范(约束,要求)。

每个这样的公式都可以包含全局名称(甚至是本地名称-特殊语法 <process-name>[<process-number>]:<变量名>) 通过逻辑链接连接的变量 零阶逻辑通过零担运营商.

自旋中的ltl时间算子

LTL公式是使用时间运算符构建的,这些运算符描述变量随时间的行为-在不同的模拟步骤中值应该如何变化或保持不变。

下表显示了Spin工具支持的主要LTL运算符。

图形表示法(在LTL文献中使用) 自旋中的短操作符指定 自旋中的替代算子名称 操作员描述

或_G_

[]

永远如此

公式 φ 它读起来像"公式始终为真"或"公式全局为真。"这意味着 φ 在仿真模型的每一步都必须是真实的:初始的、当前的和所有未来的。

◊或_F_

<>

最终

公式 φ 它读起来像是"公式有一天会变成真的。"这意味着 φ 它必须至少一次是真的,无论是在当前步骤还是将来的某个时候。

∪或_U_

U

直到强者,强者

公式 ツ督个仰楪都_ 它读起来像"公式是真的,直到有一天公式成为真。"这意味着 ψ 它必须在当前步骤或将来成为现实;在此之前 φ 这一定是真的。

W

W

弱者,弱者

公式 ツョツ。 它读起来像"只要公式为假,公式必须保持为真。"这与 ツ督个仰楪都 但是 ψ 它不必成为真实(然后 φ 必须始终执行): ツツツ=(ツツツツツツツツツツツツツツツ_.

R

V

发行版

公式 ツツツツツツツツツツツ_ 它读起来像"公式_φ_释放公式_ψ"。 公式 V 是对偶_until_公式(U): (φ_u)=φ_v_ψ. 意义 ツツツツツツツツツツツ_: ψ 它必须始终保持真实,或者直到(包括它)的那一刻。 φ 这将成为现实。

X

下一个

公式 φ 它读起来像"在下一步中,公式_φ_将变为真。"

LTL自旋中允许的逻辑连接词的名称

除时态运算符外,LTL公式还使用通常的逻辑连接词-否定、连词、析取等。

下表显示了它们在Spin和LTL文献中的名称。

图形符号(在文献中) 旋转中的短名称 Spin中的替代指定 资料描述

!

否认。

&&

/\

连词(逻辑"和")。

`

`

\/

析取(逻辑"或")。

^

的排他性"或"(XOR)。

暗示

暗示("如果。..,然后。..").

<→