[发明专利]一种层次式时间自动机平展化算法有效
申请号: | 201210218467.4 | 申请日: | 2012-06-28 |
公开(公告)号: | CN102799521A | 公开(公告)日: | 2012-11-28 |
发明(设计)人: | 周宇;胡军;黄志球 | 申请(专利权)人: | 南京航空航天大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 南京经纬专利商标代理有限公司 32200 | 代理人: | 许方 |
地址: | 210016 江*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 层次 时间 自动机 平展 算法 | ||
技术领域
本发明属于软件测试和验证领域,特别涉及一种针对层次式时间自动机模型的平展算法,即将层次式时间自动机划归为传统的时间自动机模型,主要用于解决现有软件模型检测工具不能直接检验层次式自动机模型正确性问题。
背景技术
模型检测技术是形式化验证软件正确性的重要方法之一,该方法的主要输入部分包括软件系统模型和规约,通过工具软件对系统的状态进行穷尽搜索,从而可以验证所设计的系统模型是否满足规约要求,当发现系统存在不满足规约的状态时,能够给出从初始状态到达该非法状态的路径,从而便于分析。由于模型检测工具具备自动化程度高、覆盖面广的特点,能够检测出传统的软件测试方法难以发现的错误,因此该技术广泛应用于对于软件可靠性要求较高的领域,例如航空、航天等。
系统模型和规约是进行模型检测的要素,形式化的系统模型通常是有穷状态迁移系统,这在实践中往往被转换成不同的有穷状态自动机,这样,现实中的问题被转换成了自动机所描述的语言之间的包含问题,而这个问题在计算机科学中已经被证明是可判定的,因此自动机是支持模型检测的重要的工具。
层次式时间自动机是在经典的时间自动机基础之上,为描述现实世界中客观对象的状态包含关系所扩充的一种自动机模型,其扩展之处在于增添了一个时钟,且该时钟只能被重置为0,在基于模型检测的反应式软件系统的形式化验证过程中有着重要的应用,也是诸多建模工具例如实时UML、状态图的理论基础。层次式时间自动机可直接对复杂状态(如包含多个区域的复合状态)进行建模,应用精化函数描述状态间的层次关系。该自动机模型在建模直观性,表达能力等方面有着明显的优势。
发明内容
本发明的目的,在于提供一种层次式时间自动机平展化算法,其可使得平展后的结果能够作为模型检测工具的输入,从而进行自动化的验证。
为了后续描述的方便,同时为了区别传统时间自动机与层次式时间自动机模型,我们称前一种模型为顺序时间自动机。首先对顺序时间自动机和层次式时间自动机分别进行定义,顺序时间自动机是一个八元组<S,s0,σ,C,Inv,μ,∑,T>,其中,S是状态集合,s是S中的元素,s0是起始状态,σ是状态的类型函数,该函数定义域是状态,值域是状态的类型,其状态类型包括原子类型、复合类型、历史类型以及初入类型;C是该自动机时钟集合,Inv指该自动机的不变量集合,μ是状态的历史标记函数,∑是状态迁移触发动作集合,T是状态转移集合,是S×∑×CC×2C×S的子集,其中CC是该自动机的时钟约束,t是T中的元素。根据顺序时间自动机模型,我们可以定义层次式时间自动机M如下:<F,E,ρ>,其中,F是顺序时间自动机模型集合,但要求任两个顺序时间自动机的状态集合是不相交的,E是触发事件集合,ρ是精化函数,将一个状态映射为顺序时间自动机集合,由上可知,该函数针对复合状态有定义,针对原子状态,该函数返回空集,层次式时间自动机中的层次主要由该精化函数进行描述;此外我们还需要定义源限制函数sr和目标限制函数tr,这两类函数的定义域都是转移,其中源限制函数主要用于得到转移的源状态集合,而目标限制函数主要用于得到转移的目标状态集合。
为了达成上述目的,本发明的解决方案是:
一种层次式时间自动机平展化算法,包括如下步骤:
(1)针对层次式时间自动机中的每一个非根顺序时间自动机,相应地添加inactive状态;
(2)针对每个非根节点顺序时间自动机,添加一个特殊状态,并从源于复合状态的转移的相应的源限制函数值中的每个状态添加相应的转移到该特殊状态,并将该转移对应的事件扩充为广播通道类型,并将上面到达新状态的转移事件扩充为该广播通道类型的接受类型;
(3)从步骤(2)每个顺序时间自动机中新添加的特殊状态出发引出新的转移,到达步骤(1)中所添加的对应的顺序时间自动机中的inactive状态。
上述步骤(1)与步骤(2)之间,还包括如下步骤:
(a)遍历层次式时间自动机中的每一个复合状态,判断其是否包含历史信息,如果不包含,转步骤(b1),如果包含,则转步骤(c1);
(b1)针对每一个进入无历史信息的复合状态的转移,从inactive状态添加这些复合状态内部相应的默认初入状态,触发事件同于t的触发事件;如果复合状态本身是初始状态,那么该状态中的默认初入状态被标记为初入状态,否则将步骤(1)添加的inactive状态标记为初入状态;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京航空航天大学,未经南京航空航天大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210218467.4/2.html,转载请声明来源钻瓜专利网。