《Principles of Model Checking》Chapter 2 Modelling Concurrent Systems 2.1 Transition Systems(转换系统)

Chapter 2 Modelling Concurrent Systems

​ 模型检查的先决条件是考虑中的系统模型即对系统进行建模。本章介绍了转换系统(transition systems),这是一种(到目前为止)表示硬件和软件系统的标准模型类。讨论了并发系统建模的不同方面,从进程完全自主运行的简单情况到进程以某种方式通信的更真实的情况。

2.1 Transition Systems

转换系统在计算机科学中经常被用作描述系统行为的模型。它们基本上是有向图,其中节点表示状态,边模型转换,即状态变化。状态描述了系统在其行为的特定时刻的一些信息。例如,交通灯的状态指示灯的当前颜色。类似地,顺序计算机程序的状态指示所有程序变量的当前值以及指示要执行的下一个程序语句的程序计数器的当前值。在同步硬件电路中,状态通常表示寄存器的当前值和输入位的值。转换指定系统如何从一种状态演化到另一种状态。

Definition 2.1. Transition System (TS)

一个转换系统(TS)是一个六元组(S, Act, →, I, AP, L):

  • S是状态集合;
  • Act是行为集合;
  • ⊆ S × A ct × S 是转换关系
  • I ⊆ S 是初始状态集合
  • AP 是一组原子命题 (一般用原子命题来表示状态)
  • L : S → 2^{AP} 是标签函数 (L将原子命题AP与状态s联系起来)

如果S、Act、和AP是有限的,则称为有限的转换系统。

L(s)直观的表示那些原子命题中a哪个是满足状态s的,例如 假设Φ是一个命题逻辑公式,如果L(s)的求值是Φ为真,则s满足公式Φ;即:

请添加图片描述

Example 2.2. Beverage Vending Machine

请添加图片描述
.png)]

​ 如图所示,椭圆中表示的是状态,有向箭头表示转换,有向箭头上的文字是转换条件即行为。

​ 则这个TS:状态集合S = { pay, select, soda, beer },行为集合Act = { insert coin, get_soda, get_beer, τ}, 初始状态 I ={pay} , → 是所有有向箭头.

​ AP需要再考虑,转换系统中的原子命题取决于所考虑的性质。一个简单的选择是让状态名充当原子命题,即对于任何状态s,L(s)={s}。但是,如果唯一相关的属性不是指所选的饮料,如属性中所示,

“自动售货机只在提供硬币后才提供饮料”

​ 使用命题的两元素集AP={paid,drink}和标记函数就足够了:L(pay) = ∅, L(soda) = L(beer) = { paid , drink }, L(select) = { paid }.

​ 在这里,paid命题正是用户已经付费但尚未获得饮料的那些状态的特征。

The set of propositions AP is always chosen depending on thecharacteristics of interest. In depicting transition systems, the set of propositions AP often is not explicitly indicated and it is assumed that AP ⊆ S with labeling function L(s) = { s } ∩ AP.

命题集AP总是根据感兴趣的特征进行选择。在描述过渡系统时,命题集AP通常没有明确表示,并且假设AP⊆ 带标号函数L(S)={S}∩ AP。

​ 本例子到此结束,对于通过转换系统对硬件或软件系统进行建模至关重要的是不确定性,在这种情况下,它远不止是一个理论概念,如本例而言select后是两个不确定的选择。对于并发系统的建模,不确定性与并发性是极其重要的考虑元素。对于不确定性的设计是一种“欠规范”,“欠规范”的概念是指早期设计阶段,其中提供了系统的粗略模型,表示不确定性可能行为的几个选项。粗略的想法是,在进一步的细化步骤中,设计师实现了一个不确定的替代方案,但跳过了其他替代方案。在这种情况下,过渡系统中的不确定性可以表示实现自由。

随机选择一个初始状态 s∈ s0:
while 状态s不是终止状态 do
	随机选择一个转换 s -α-> s'
	执行这个转换 s := s' 
end
Definition 2.3. Direct Predecessors and Successors (直接前导和后继)

​ 设TS=(S,Act,→, I, AP,L)是一个转换系统。

  • 对于s∈ S和α∈ s的直接α-后继定义为:
    请添加图片描述

  • s的α-前导集定义为:
    请添加图片描述

请添加图片描述

Definition 2.4. Terminal State

State s in transition system TS is called terminal if and only if Post(s) = ∅.

Definition 2.5. Deterministic Transition System

请添加图片描述

  1. 行为确定性转换系统: 初始状态只有一小于等于一个 且任意状态的直接α-后继只有小于等于一个(即任何状态经过动作转移到下一个状态是确定的)
  2. AP确定性 : 初始状态只有小于等于一个 且 任意状态直接后继的标记函数的映射结果元素 小于等于一个
2.1.1 Executions

到目前为止,过渡系统的行为已经在直观的层面上进行了描述。现在将使用执行(也称为运行)的概念将其形式化。转换系统的执行是由于解决了系统中可能存在的不确定性。因此,执行描述了转换系统的可能行为。

Definition 2.6. Execution Fragment

设TS=(S,Act,→, I, AP,L)是一个过渡系统。有限执行片段ρ是TS中以状态结束的状态和动作的交替序列

请添加图片描述

当n大于等于0时,ρ是一个有限执行片段,其长度为n。当n时无限大是,ρ是无限的、交替的状态和动作序列。

Definition 2.7. Maximal and Initial Execution Fragment

​ An execution fragment is called maximal when it cannot be prolonged:

最大执行片段要么是以终端状态结束的有限执行片段,要么是无限执行片段。当执行片段是从初始状态开始的则称初始执行片段.

Definition 2.9. Execution

过渡系统TS的执行是以初始状态为开始的最大执行片段。

Definition 2.10. Reachable States

如果有一些执行片段以s结束,并以某个初始状态开始,则状态s称为可达。

2.1.2 Modeling Hardware and Software Systems
Example 2.11. A Simple Sequential Hardware Circuit

请添加图片描述

请添加图片描述

请添加图片描述

请添加图片描述

Definition 2.13. Program Graph (PG)

请添加图片描述

​ l ∈ Loc,l取决于当前变量的值 η;

​ 动作α的执行取决于Effect(α, η) = η’ , 随后系统改变位置,如果每一个转换是可行的,系统中止。

Example 2.14. Beverage Vending Machine

​ 变量集合 Var = { nsoda, nbeer};

​ Dom(Var) = {0, 1, …, max};

​ 位置集合 Loc = {start, sleect} Loc0 = { start };

​ Act = {bget, sget, coin, ret_coin, refill};

​ Effect函数:

	Effect(coin, η) = η
	Effect(ret coin, η) = η
	Effect(sget, η) = η[nsoda := nsoda−1]
	Effect(bget, η) = η[nbeer := nbeer−1]
	Effect(refill, η) = [nsoda := max , nbeer := max ]

​ 初始条件g0 当且仅当初始时售货机中饮料是满的, g0 = (nsoda = max ∧ nbeer = max).

​ 每个程序图都可以解释为一个过渡系统。程序图的转换系统可以由程序图展开得到。

Definition 2.15. Transition System Semantics of a Program Graph

请添加图片描述

请添加图片描述

请添加图片描述

​ 如图所示,AP = Loac ∪ Cond(Var) , TS(PG)定义了非常大的一个原子命题集合AP。但通常来说,只有一小部分原子命题 a∈AP 对制定系统相关属性是有必要的。

请添加图片描述

请添加图片描述

请添加图片描述

TS(PG) bv machine 实例

请添加图片描述

猜你喜欢

转载自blog.csdn.net/qq_40893490/article/details/125779200