2.1过渡系统

来源:互联网 发布:阿里推送 js sdk 编辑:程序博客网 时间:2024/05/17 02:15

过渡系统(Transition Systems)

在计算机科学领域,过渡系统用来描述计算机系统的行为,并通过有向图的形式,节点表示状态,箭头标示过渡。比如红绿灯的颜色表示状态,而红绿灯从一种颜色变为另一种颜色表示过渡。我们采取以下五元组来表示过渡系统:

我们使用动作名(action names)来表示过渡,原子命题(atomic propositions)表现了时态特征,该系统具有以下特征:

标记函数(labeling function)

标记函数L将原子命题和各个状态相联系。s状态下的标记函数L(s)表示是的该状态为正确的原子命题集合,它属于原子命题幂集的子集。也就是说

其中满足标记有以下定义和性质

饮料自动售货机(beverage vending machine)

我们以饮料自动售货机为例深入理解过渡系统。示意图如下所示

根据过渡系统的定义,我们很容易得到以下信息:

•S={pay,select,soda,beer}
•I={pay}
•Act={insert_coin,get_soda,get_beer,t}

当我投入硬币之后,机器选择性的掉出啤酒或苏打水。该系统的标记函数如下:

直接前任和直接后继(Direct Predecessors and Successors)

在TS中,若s属于S,α属于Act,那么直接后继可以用以下式子表示:


直接前任用以下式子表示:


结束状态(terminal State)

状态s被称为结束状态,当且仅当Post(s)=∅。对于过渡系统建模一个顺序程序,结束状态表示程序的结束;而并发系统的结束状态往往是不需要的。

过渡系统的确定性

尽管不确定性行为对于计算机系统是至关重要的,但是我们也会考虑一些可观察的确定性行为。我们由两种方式来形式化表示可见的确定性行为,一个是根据行为(action),另一个是根据状态的标签。基于行为的方法假设执行的行为可知,基于状态的方法忽略动作并且依赖使得状态正确的原子命题。对于过渡系统,若它是确定的,那么他在行为和状态角度都会有以下要求。
TS=(S,Act,→,I,AP,L)是一个过渡系统,那么
1、TS是基于行为可确定的,如果|I|≤1并且对于所有状态s和行为α的|Post(s,α)|≤1。
2、TS是基于状态可确定的,如果|I|≤1并且对于所有状态s,|Post(s)∩{s’∈S|L(s’)=A}|≤1,A属于原子命题的幂集。

执行(executions)

到目前,我们已经直观了解了过渡系统,现在我们从执行这个概念形式化表示过渡系统。
TS=(S,Act,→,I,AP,L)是一个过渡系统,那么有限执行片段(finite execution fragment)ρ是状态和动作交替并以状态结尾的序列。


其中n表示执行片段ρ的长度。而对于无限执行片段(infinite execution fragment),n的值是无穷大。特别地,若n为0,它也是合法的有限序列。
最大执行片段(maximal execution fragment)要么是以一个结束状态结尾的有限执行片段,要么是无限执行片段。而初始执行片段(initial execution fragment)是以初始状态开始的片段。
以饮料自动售货机为例

执行片段ρ1和ρ是初始化的,ρ2不是;ρ不是最大执行片断,因为没有以结束状态结尾。
对于过渡系统TS,一个执行是初始、最大化的执行片断。故ρ1是一次执行,而ρ2因为不是初始化的,ρ不是最大化的,都不属于一次执行。
若TS=(S,Act,→,I,AP,L)是一个过渡系统,则状态s被称为可到达的(reachable),如果存在一个初始化的、有限片段能够执行到。

Reach(TS)表示TS可到达状态的集合。