符号化模型检测CTL
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第28卷 第11期2005年11月
计 算 机 学 报
CH INESE JOURNA L OF COM PU TERS
V ol.28N o.11
No v.2005
收稿日期:2004-08-29;修改稿收到日期:2005-07-14.本课题得到国家自然科学基金(60496327,10410638,60473004)、广东省自然科学
基金团队项目(04205407)与教育部留学回国人员科研启动基金以及上海市智能信息处理重点实验室(筹)开放课题资助.苏开乐,男,1964年生,教授,博士生导师,研究兴趣包括模型检测、知识推理、非单调推理、多智能体系统、模态逻辑、时态逻辑、概率推理、安全协议验证和逻辑程序设计等.E -mail:issraymond@.骆翔宇,男,1974年生,博士研究生,研究兴趣包括模型检测、时态逻辑、模态逻辑、知识推理、多智能体系统、安全协议验证和逻辑程序设计等.吕关锋,男,1973年出生,博士研究生,研究兴趣包括模型检测、知识推理、多智能体系统、模态逻辑、时态逻辑、概率推理、安全协议验证和逻辑程序设计等.
符号化模型检测CTL
*
苏开乐
1),2)
骆翔宇1) 吕关锋
3)
1)
(中山大学计算机科学系 广州 510275)
2)(河南科技大学电子信息工程学院 洛阳 471003)
3)(
北京工业大学计算机科学与技术学院 北京 100022)
摘 要 提出了一个关于时态逻辑CT L *的符号化模型检测算法.该算法通过所谓的tableau 构造方法来判定一个有限状态系统是否满足CT L *规范.根据该理论,作者已实现了一个基于O BDD 技术的CT L *符号化模型检测工具M CT K ,并完成了相当数量的实验.到目前为止,已知有名的符号化模型检测工具,如SM V 和N uSM V 等,都只能对CT L *的子集逻辑(如CT L ,L T L )进行检测,而文中算法的结果是令人满意的,并且当规范不是特别复杂时,高效的CT L *符号化模型检测是可能的.
关键词 模型检测;时态逻辑;有序二值判定图(O BDD)中图法分类号T P 301
Symbolic Model Checking for CTL *
SU Ka-i Le 1),2) LUO Xiang -Yu 1) LU Guan -Feng 1)
1)
(Dep artment of Comp ute r Sc ienc e ,S un Yat -S en Univ er sity ,Guang z hou 510275)
2)
(I nstitu te of E le ctr onics and I nf ormation Eng ine ering ,H enan Univ e rsity of S cie nce and T echnolog y ,L uoy ang 471003)
3)(Colle ge
of Comp ute r Science and Tec hnology ,Be ij ing Univ er sity of T echnolog y ,B eij ing 100022)
Abstract T his paper gives a symbolic m odel checking algo rithm for the temporal lo gic CT L *
.
The algo rithm determ ines w hether a finite state sy stem satisfies a form ula in CTL *
using the method of sy mbolic tableau construction.According to our algor ithm,w e had implem ented a new CT L *sym bo lic m odel checker (M CTK)by m eans of OBDD and o btained so me ex perimental re -sults.U p to now ,the w el-l kno w n sy mbolic model checking tools (SM V,N uSM V etc.)have been implem ented only for the sublo gics of CT L *,such as CTL and LTL.T he results that w e have obtained in this paper are quite sur prising and show that efficient CT L *model checking is possible w hen the specifications are not ex cessiv ely complicated.
Keywords model checking;tem poral log ic;Or dered Binary Decision Diagram s (OBDD)
1 引 言
1.1 概述
模型检测是一种被广泛使用的验证有限状态系
统满足规范的自动化技术.在这里,形式化规范被描
述为时态逻辑公式,如工具SPIN [1]及FORSPEC [2]使用的LT L (线性时态逻辑)、SMV 中使用的CT L (分支时态逻辑)[3].这些验证技术被称为时态逻辑模型检测,是由Clarke 和Em erson [4]及Queille 和
Sifakis[5]在20世纪80年代最先发展的.在这种方法中,规范被描述成命题时态逻辑公式,系统(如电路设计、协议)被模型化为状态转换系统,使用高效的搜索算法来判定规范是否在系统中成立.
对于描述状态转换系统的性质来说,时态逻辑CT L*是一种表达力很强的规范描述逻辑[6].它用时态算子描述沿计算路径的状态变化,用路径算子解释时间分支性质.很多系统性质可以用CTL或LT L表达,但有些性质只能用CT L*表达.例如, CT L*公式A(FG p)D AG(EF p),表示沿着所有的计算路径,要么命题p从某一状态开始一直成立下去;要么始终存在另一计算路径,使得命题p在这条路径的某一状态上成立.可以看出CTL和LTL 均不能表达该公式.所以一个功能全面的模型检测工具应能检测CT L*公式.
大体上,有两种基本的模型检测方法.第一种方法是构造出系统的所有可达状态(例如文献[4,7]对于CTL及文献[8,9]对于LTL).但这种方法面临着状态爆炸问题,特别当系统转换关系很复杂时.使用偏序归约(partial o rder reduction)[10~12]可一定程度上减轻该问题.另一种更好的方法就是所谓的符号化方法(sy mbolic method)[13],该方法使得系统的规模得以大幅度地提高,这种提高得益于有序二值判定图(Order ed Binary Decision Diagrams,OB-DDs)[14]的使用,OBDDs是一种用来表示布尔函数的数据结构.
目前已有关于CT L[3,13]及LT L[15,16]的符号化模型检测方法.这自然导致一个问题:是否同样技术可用于CTL*的模型检测?
Emerson等在文献[6,17]里表明,CT L*模型检测有LT L模型检测一样的复杂度.Emerso n和Lei[6]已给出如何把CTL*模型检测问题转化为LT L模型检测问题的方法.考虑到这一点,Clarke 等在文献[15]中给出了将LT L检测转化为CTL模型检测的方法,同时希望通过这两种方法的结合,来解决CT L*的符号化模型检测问题.但是,从CTL*模型检测到LTL模型检测[6]不是基于OBDDs的,而LTL到CT L的转化是基于OBDDs.所以集成这两种方法是困难的.
在本文中,我们给出一个CTL*符号化模型检测算法.该算法时间复杂度和已知的CT L*算法(非符号化)相一致.同时我们指出如何构造出在实际应用中高效的CTL*模型检测工具.对于CT L规范,我们的CTL*模型检测工具和CT L符号化模型检测工具在空间和时间的花费上是相同的.另外,我们也验证了复杂的CT L*(非CTL或LTL)公式.
1.2相关工作
在过去的15年中,在CT L*的子逻辑(CT L, LT L)的符号化模型检测方面研究者们做了很多工作.对于分支时态逻辑CT L,Em erson等基于OB-DDs实现了CTL模型检测算法[4,7],该算法能够验证超过1020个状态[3,13],甚至10120个状态的系统[18,19].
对于线性时态逻辑LT L的符号化模型检测, Clarke,Grumberg和H amaguchi[15]给出一种把LT L模型检测问题转化为带有公平性约束(fair-ness constraints)的CTL模型检测问题,从而可应用现有的CTL符号化模型检测工具(SM V)来对LT L公式进行检测.Kesten,Pnueli和Raviv[16]给出了一个一致且自包含的LTL符号化模型检测方法,不需要把LT L检测转化为CTL检测或自动机.关于CT L*模型检测,研究者们也提出了一些算法. Bhat,Cleaveland和Grum berg在文献[20]中给出了一个o n-the-fly算法.Bernholtz,Vardi和Wolper 在文献[21]中提出了另一个CTL*模型检测算法.但是,这些算法都不是符号化模型检测算法.最近, Kesten和Pnueli在文献[22]中给出了一个包含符号化模型检测和演绎验证技术的组合方法验证CT L*规范,其中的符号化模型检测算法与本文给出的比较相似,然而文献[22]中没有给出详细的证明和实验结果.
第2节给出OBDDs的扼要介绍;第3节给出时态逻辑CTL*的语法和语义;第4节给出我们的主要贡献,即CT L*的符号化模型检测算法;第5节给出算法的试验结果.第6节总结全文.
2二值判定图(Binary Decision
Diagrams,BDDs)
BDDs是一种表示布尔函数的高效方法.它首先是作为一种简单的形式,即Binary Decision T rees被提出的.在Binary Decision Trees中每个非终结节点被布尔变量x,y,z,,标注(记为v ar(v), v为节点),终结节点用1或0标注,每个非终结节点v有两个后继节点,记为low(v)(当v赋值0时)和high(v)(当v赋值1时).BDDs通常包含有冗余,所以不是一种高效简洁的布尔函数的表达方法,因为它有和真值表一样的大小.Bry ant在文献[14]
1799
11期苏开乐等:符号化模型检测CT L*