引言:
在时间自动机(TA)里,因为时钟值是实数值的关系,TA的状态空间可能是无限大的,这对于状态空间的搜索和验证问题不是乐观的,为此,想要将这种无限的状态空间转化成对等的有限状态空间的符号化的迁移系统,从而提出了region graph和zone graph。region graph用region来表示状态空间,但对等转化时region数量可能会出现指数型的增长,所以提出了zone graph的概念,zone graph相对更加抽象,规模更小。(图Fig.1是有两个时钟xy的TA)
注:
1.图中节点称作location,每个location的时钟约束叫做这个location的local invariant,它表示了时钟可以在location里停留多久
2.每一条边称作一个switch,当时钟值满足边上的时钟约束(guard),并且给出相应的动作(abc)时会发生状态迁移。
关于zone graph的一些基本的概念:
zone graph:用转化产生的zone来表示时间自动机的状态空间,对于一个时间自动机TA,它的zone graph记做Z(A)。
zone:用一个有序对表示〈l, [δ]〉 ,l是location,[δ]是满足local invarinant的最大的时钟集合,[δ]被称作clock zone。
Fig1所示TA的对等的Z(A)如下图Fig3:
由Fig3可以看出TA的无限的状态空间,用region graph来表现的话,需要28个region,被zone graph表示为5个zone,简化了状态的表达,而且可达性分析在Z(A)里是可实现的。(注:可达性分析是对于最终的状态判断是否可达,可达性是衡量一个系统安全性的特性)
由TA转化成对等的zone graph的算法:
zone 〈l0, [C = 0]〉是 Z(A) 的初始状态(l0 属于TA的的初始状态,初始时钟值为0),TA对等转换成Z(A)时,应用这样的转换规则:〈〈l, [δ]〉, a, (〈l, [δ]〉)〉,返回由〈l, [δ]〉作为起始zone,并且第一次switch为e的可到达的所有的zone,并且在新的location里随着时间的流逝仍然满足local invariant,由此得到Z(A)。
存在问题及解决办法:
zone graph也不总是有限的,解决办法有两个:
1.构造region-closed zone图,将zone用与clock zone相交的region替换,这种方法得到的zone可能不是一个凸集,因此所表达zone的数据结构(DBM)不能被应用,所以没有被实际应用。
2.构造k-extrapolation zone图的方法,将时钟约束转化成k有界的约束(k是TA中出现的最大的常数),因为k是固定的常数,所以得到的zone图肯定是有限的。例子如下: