PPTL符号模型检测方法技术

技术编号:7759365 阅读:255 留言:0更新日期:2012-09-14 01:37
本发明专利技术是一种PPTL符号模型检测方法,属可信计算领域,本发明专利技术使用具有完全正则表达能力的规范语言PPTL描述待验证系统期望性质;使用Kripke结构M=(S,R,L)描述系统模型,借助ROBDD对符号化系统模型M进行搜索,通过构建标记正则图检查期望性质公式是否可满足,节省后续操作时间,提高检测效率。本发明专利技术仅需基于时序操作符“○”的检测过程,降低了检测复杂度。本发明专利技术提升了模型检测可处理问题的规模,有效缓解状态空间爆炸问题,同时具有描述状态敏感、顺序和闭包性质的能力,可以应用于工业、农业、军事、科研等领域硬件系统设计缺陷的检测,软件系统控制逻辑错误的检查以及通信协议正确性的形式化验证。

【技术实现步骤摘要】

本专利技术属于可信计算领域,主要涉及系统形式化建模与验证
,尤其涉及命题投影时序逻辑(PPTL)和符号模型检测方法(SMC),具体是一种PPTL符号模型检测方法。可应用于工业、农业、军事、科研等领域硬件系统设计缺陷的检测,软件系统控制逻辑错误的检查以及通信协议正确性的形式化验证。
技术介绍
近几年来,随着各种计算机应用软件,硬件电路、嵌入式系统和网络通信协议等在工业、农业、军事、科研等领域的广泛应用,这些系统及协议的复杂度日益增加俱增,对于可靠性的需求不断提高。形式化验证技术的发展和不断成熟使得我们可以利用计算机来解决上述问题。形式化验证技术起源于20世纪60年代的软件危机。当前,较为流行的形式化验证方法分为三类,分别是定理证明、等价性验证和模型检测。定理证明可以应用于有穷和 无穷系统的验证,但是其自动化程度不高,证明过程耗时且容易出错,并且不能在证明失败时给出反例;等价性验证技术可用于验证不同抽象层次系统模型的等价性,但是它只能发现设计中的错误,不能发现其中的缺陷;模型检测技术是一种自动化的形式化验证方法,它通过穷举搜索状态空间的方式决定待验证系统模型是否满足期望的性质,并且在不满足期望性质时给出反例。在模型检测中,通常将验证系统期望的性质用时序逻辑(TL)公式描述,将待验证系统建模为有限状态机,如Kripke结构、迁移系统或者自动机。然后,遍历待验证系统模型的状态空间以检查待验证系统是否满足期望性质,并在期望性质不满足时提供反例,以定位设计错误和缺陷。传统的模型检测方法大多基于显式状态空间描述,当验证问题规模过大时,系统状态数目会随着系统并发执行部件数目的上升呈现指数级增长,从而引发状态空间爆炸问题。在本领域内提出了许多压缩状态空间的方法。常用的方法有抽象模型检测(AMC),限界模型检测(BMC),组合模型检测(CMC)和符号模型检测(SMC)等方法。符号模型检测方法由McMillan于1992年提出,其主要思想是将待验证系统模型的状态空间编码为布尔公式,然后使用归约有序二叉决策图(ROBDD)的压缩存储机制,降低存储和搜索状态空间所需的内存空间,从而缓解状态空间爆炸问题。虽然,近几年来学术界提出了很多用于验证并发系统性质的时序逻辑,如计算树逻辑(CTL)和线性时序逻辑(LTL)等,但是这些时序逻辑的描述能力有限,至少有两种类型的性质是CTL和LTL都无法描述的(I)状态敏感性质,例如,性质Q在第X个状态成立或者Q在第X个状态和第y个状态之间成立;(2)顺序性质和闭包性质,例如,性质Q在性质P成立之后成立,或者性质Q周期性的成立。进而导致使用模型检测对系统正则性质进行验证比较困难。命题投影时序逻辑(PPTL)引入了顺序(Chop)和投影(Projection)时序算子,其表达能力达到完全正则。使用PPTL可以方便地描述CTL和LTL无法描述的状态敏感、顺序和闭包性质。因此,如何应对状态空间爆炸问题并扩展期望性质的描述能力成为模型检测
研究和亟待解决的关键问题之一。
技术实现思路
本专利技术主要针对现有模型检测方法中,被验证系统模型存在过多并发执行部件引发的状态空间爆炸以及现有时序逻辑语言描述能力不足问题,提出一种高效、简洁的、状态空间紧凑、期望性质描述能力更强的PPTL符号模型检测方法。下面对本专利技术进行详细说明本专利技术是一种PPTL符号模型检测方法,本专利技术使用具有完全正则表达能力的规范语言PPTL描述待验证系统的期望性质;使用Kripke结构M = (S,R,L)描述待验证系统模型,进而将编码得到的布尔公式使用ROBDD表示,借助于ROBDD的压缩存储和有效地布尔公式操作机制高效地对被验证系统模型M进行搜索。PPTL符号模型检测的具体步骤包括 步骤I :首先对待验证系统建模,采用Kripke结构描述模型M = (S, R,U,并将模型M中的状态集合S和迁移关系R分别编码为形如X1*\和(X1-X2.... *xn) * (x/ .x2, . . . -x/ )的布尔公式,其中“ ”为逻辑与操作符,布尔公式的逻辑操作使用ROBDD实现,并将标记函数L定义为AP — 2s,其中AP为原子命题的集合,2s为状态集合S的幂集;标记函数L将每个原子命题% G AP映射到满足%的状态集合;步骤2 :使用PPTL描述待验证系统的期望性质,得到期望性质公式Q ;本专利技术的步骤I是对待验证系统建模并将模型M中的状态集合S和迁移关系R用布尔公式表示,步骤2是将待验证系统的期望性质使用规范语言PPTL进行描述,步骤I和步骤2可同时进行,也可先进行步骤I再进行步骤2。将步骤I和步骤2的结果相结合用于计算满足期望性质公式Q的状态集合的布尔编码。步骤3 :计算满足期望性质公式Q的状态集合的布尔编码Bq ;步骤4 :如果BQ# 0,那么待验证系统的模型M满足期望性质公式Q,模型检测结果显示待验证系统满足期望的性质;如果Bq = 0,那么待验证系统的模型M不满足期望性质公式Q,模型检测结果显示待验证系统不满足期望的性质;步骤5 :待验证系统的PPTL符号模型检测结束。本专利技术通过将待验证系统的状态空间和迁移关系使用布尔公式符号化表示,并借助ROBDD对状态空间进行高效、简洁的操作,降低了存储和操作状态空间所需要的内存空间,提升了模型检测处理问题的规模,并且缓解了状态空间爆炸问题;本专利技术还通过使用PPTL描述待验证系统性质,实现了对于CTL和LTL等现有的时序逻辑无法描述的状态敏感、顺序和闭包性质的描述,将待验证系统期望性质的描述能力扩展到完全正则型。本专利技术的实现还在于对于任何以PPTL描述的期望性质公式Q,可以将Q改写为其正则形,记为NFq,并构建Q的完全正则图Gq,步骤3中计算满足以PPTL描述的期望性质公式Q的状态集合的布尔编码Bq的具体步骤包括步骤3. I :定义期望性质公式Q的正则形,对于任何以PPTL描述的期望性质公式 Q, Q的正则形定义为 ▽"二必入empty)VJQci a〇Q/),其中Qp为Q中出现的原子命题的集合,=八:扣,I为Qp中原子命题的数量,I = |Qpl,n为Q的正则形中描述当前性质的析取项Qejj A empty的数量,Iitl为Q的正则形中描述未来性质的析取项Qcd八OQi'的数量,I彡Ii(Iici)彡31,!!!为状态公式Qej中原子命题的数目,Hitl为状态公式Qci中原子命题的数目,I < m(m0) ( I ;状态子公式Qjk和qih属于QP,对于任意公式r G QP,/=表示r或者,rjQ/是一个PPTL时序公式;步骤3. 2 :根据步骤3. I所述的正则形定义将期望性质公式Q改写为其正则形,记为NFq = V f2 V ... V fn,其中包含n个用析取操作符“ V ”连接的期望性质子公式f\,...,fn,用这些期望性质子公式组成期望性质子公式集合Nq = {f:, ... , fj ;步骤3. 3 :定义期望性质公式Q的标记正则图,对于任何以PPTL描述的期望性质公式Q,将Q的标记正则图(LNFG)定义为有向图G= (V(Q),E(Q),V0,L = H1,L2,…Lj),其中V(Q)是结点集合,每个结点对应一个PPTL公式;E (Q)是有向边的集合本文档来自技高网
...

【技术保护点】

【技术特征摘要】

【专利技术属性】
技术研发人员:段振华逄涛田聪王小兵
申请(专利权)人:西安电子科技大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1