一种面向限界检测技术的系统模型构造方法

文档序号:6584901阅读:218来源:国知局
专利名称:一种面向限界检测技术的系统模型构造方法
技术领域
本发明属于随机系统性能分析技术领域,涉及以概率模型检测工具PRISM为分析工具,面向以局部空间为搜索对象的限界检测技术的随机系统建模方法。
背景技术
模型检测是一种自动化程度非常高的有限状态系统验证技术,目前已经在计算机硬件、通信协议、安全协议的验证方面获得了较大的成功。传统的模型检测技术关注的是系统行为的绝对正确性,如系统不能进入死锁状态。然而在实际的系统中存在很多随机现象,例如不可靠信道上的消息丢失,对这一类现象往往关心某种概率度量,如消息传送失败的概率不高于1%等等。传统模型检测中使用的逻辑系统,如计算树和线性时态逻辑,无法刻画这类属性,因此研究人员在计算树和线性时态逻辑的基础上引入了概率算子,得到了概率计算树逻辑PCTL等逻辑系统,并提出了马尔科夫链,随机Petri网等不同随机模型上的概率模型检测方法。PRISM是由牛津大学的Marta Kwiatkowska教授主导开发,一款面向学术界可免费使用的概率模型检测工具,主要用来对随机系统的行为进行建模与分析。目前PRISM已经成功应用于通信与多媒体协议,随机分布式算法,安全协议,以及生物系统等领域的分析当中。使用PRISM进行性能与可靠性自动化分析的过程可以概括为1)利用PRISM自定义的系统建模语言为随机系统建立模型;2)利用概率逻辑PCTL或者CSL描述待分析的属性;3)调用全局模型检测算法自动完成分析过程。与传统模型检测一样,状态空间爆炸问题是PRISM进一步走向实用化的主要瓶颈,这里状态空间爆炸是指系统状态空间的大小随着进程数量的增加呈指数级增长。为缓解该问题,传统模型检测中的空间约简技术,如谓词抽象、偏序归约、对称归约、组合推理等均可被应用到PRISM上。目前PRISM只支持精确模型上的计算,因此实施这些约简技术需要修改PRISM的源代码,增加相应的处理模块。源代码的修改使得这些约简技术在实施上可操作性较差,工作量巨大。限界检测是新近出现的一种空间约简技术,其基本思想是在有限的局部空间中逐步搜索属性成立的证据或者失效的反例,从而达到约简状态空间的目的。限界检测的实现过程主要包括两个部分1)在局部空间上定义概率逻辑的限界语义;2)设计局部空间上限界语义的可满足性判定算法。只遍历分析属性所需的局部空间是限界检测能够有效克服状态空间爆炸的主要原因。PRISM目前具有一定的逐步计算局部空间的功能,只支持随机系统模型上无界语义的满足性判定算法,但是由于对状态转换关系采取了近似表示,如在可达深度为2时,利用路径Stl — S1 — S0替代循环结构Stl — S1 — Stl — S1 — L L,无法直接实现限界检测。限界检测采用的是逻辑系统的限界语义,这与全局检测采用的无界语义存在很大的不同。因此与谓词抽象、偏序归约等约简技术一样,在PRISM中为实现限界检测算法必须大量修改PRISM的源代码,并重新编译以实现步长限制下各种概率度量的近似计算。PRISM的源程序目前包含20个文件夹,平均每个文件夹包含20个文件,要具备修改PRISM源代码的能力必须熟悉这400个左右的文件,而且掌握近1000个函数之间的相互调用关系,因此修改PRISM源代码是非常困难的,这使得在PRISM上执行限界检测算法的可操作性很差,而
且工作量巨大。

发明内容
本发明的目的在于提供一种面向限界检测技术的系统模型构造方法,以提高在PRISM上执行限界检测技术的可操作性,降低工作量,同时保证利用限界检测技术约简状态空间的效果。为了解决以上技术问题,本发明的采用的技术方案如下。一种面向限界检测技术的系统模型构造方法,其特征在于包括以下步骤步骤一,设整数k为所需构造的局部空间的深度,在建模语言的全局变量声明处引入一个新的全局变量newv,并设置成整数型,初始值为O,即添加语句newv: [O. . k]initO ;步骤二,对语言中的每一条命令,依据符号“ + ”表示的概率分布进行分解,具体分解规则如下 原始命令
权利要求
1.一种面向限界检测技术的系统模型构造方法,其特征在于包括以下步骤步骤一,设整数k为所需构造的局部空间的深度,在建模语言的全局变量声明处引入一个新的全局变量newv,并设置成整数型,初始值为0,即添加语句newv :
init 0 ;步骤二,对语言中的每一条命令,依据符号“ + ”表示的概率分布进行分解,具体分解规则如下原始命令[]guard_l -> prob_l : update_l + . . . + prob_n : update_n 分解后的命令[]guard_l -> prob_l : update_l ;[]guard_l -> prob_2 : update_2 ;......[]guard_l -> prob_n : update_n ;步骤三,对每一个模块,依据各命令中值为真的谓词的数量以及谓词之间组合的不同重新构造模型;步骤四,为了防止出现死循环,在每一个模块的末尾添加如下命令newV=k-> newv, =newv ;步骤五,将所有模块重新组合在一起构成新的建模语言。
2.如权利要求1所述的一种面向限界检测技术的系统模型构造方法,其特征在于,所述步骤三进一步具体为不失一般性,每一个模块当中的建模语言抽象如下 module M[]guard_l -> prob_l : update_l ;[]guard_2 -> prob_2 : update_2 ;......[]guard_m -> prob_m : update_m ;Endmodule按下述方法重新构造模型步骤(一),对每一个update_i (1≤ i≤m),标识出其中被赋值的变量集合V_i,记为V_ i={v_{i, 1}, ···, v_{i, j}},对每个变量 v_{i,h} (I ≤ h ≤ j),引入记号 f (v_{i,h})表示 update」中对v_{i, h}的赋值操作;步骤(二),依据谓词guard_l,……,guarcLm中值为真的谓词的数量以及谓词之间组合的不同分别添加命令,新命令中谓词是三个部分的合取1)值为真的谓词保持不变;2) 值为假的谓词取其否定;3)对于任意谓词值为真的两条命令,令第一条命令对变量的赋值等于第二条命令对变量的赋值来构建新谓词;转换概率是所有谓词值为真的命令中转换概率之和;新命令中变量赋值部分从谓词为真的命令中随机选择;步骤(三),删除模块中所有的原始命令。
3.如权利要求2所述的一种面向限界检测技术的系统模型构造方法,其特征在于所述步骤(二)进一步具体为步骤(I ),只有一个谓词为真,添加如下命令
全文摘要
本发明涉及一种面向限界检测技术的系统模型构造方法,是基于概率模型检测工具PRISM。包括以下步骤对于局部空间搜索深度k,在建模语言的全局变量声明处引入新的整数型变量newv,初始值为0;对语言中的每一条命令,依据符号“+”表示的概率分布将其分解成若干只包含一条赋值语句的命令;依据各命令中值为真的谓词数量以及谓词之间组合的不同分别添加新命令。新命令中谓词是三个部分的合取值为真的谓词保持不变;值为假的谓词取其否定;对于任意谓词值为真的两条命令,令第一条命令对变量的赋值等于第二条命令对变量的赋值来构建新谓词。本发明可实施性强,工作量小,且保证了利用限界检测技术约简状态空间的效果,可应用于随机系统建模。
文档编号G06F9/44GK103049277SQ20131003473
公开日2013年4月17日 申请日期2013年1月29日 优先权日2013年1月29日
发明者周从华 申请人:江苏大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1