[发明专利]一种基于FQLTL语言的实例生成方法及系统有效
申请号: | 202111570950.4 | 申请日: | 2021-12-21 |
公开(公告)号: | CN114356294B | 公开(公告)日: | 2023-07-14 |
发明(设计)人: | 陈羽;李建文;张小禹;蒲戈光;王燕芩;李卫娟;张程;魏民;朱迎春;张铭瑶 | 申请(专利权)人: | 华东师范大学;卡斯柯信号有限公司;上海工业控制安全创新科技有限公司 |
主分类号: | G06F8/30 | 分类号: | G06F8/30 |
代理公司: | 上海德禾翰通律师事务所 31319 | 代理人: | 夏思秋 |
地址: | 200241 *** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 fqltl 语言 实例 生成 方法 系统 | ||
1.一种基于FQLTL的实例生成方法,其特征在于,包括如下步骤:
步骤1、对公式进行语法解析:
输入FQLTL公式,系统中的语法解析器读取公式后,根据其语法结构进行解析,生成相应的语法树并且传递给下一个步骤;所述FQLTL公式的语法结构如下:
Formula::= T|⊥| p | f |~ Formula |
Formula Formula| Formula # Formula| Formula → Formula|
ALL object Formula| SOME object Formula| object = object |
PRE Formula | X Formula | Formula S Formula | Formula U Formula,
所述FQLTL公式,即语法结构中的Formula是递归定义的,包括以下五部分:
1)由原子T、⊥、 p、 f 组成,其中,T表示永真,⊥表示永假,p是任意布尔值,f表示函数;
2)公式的“~”逻辑,公式与公式之间的“”“#”“→”逻辑组合;
3)量词、个体object和公式组合,其中量词包含全称量词ALL和存在量词SOME;
4)等式,此处的等式只能是个体层面的等式;
5)时序算子:PRE、X、S、U;其中PRE表示前一个周期,X表示下一个周期;U表示Until操作符,S表示Since操作符;
f函数的定义:
f::= Name (Ø | v[,v]*)
{
Formula
}
函数由函数名Name、参数以及FQLTL公式组成;参数在函数式的小括号内,公式在函数式的花括号内;其中参数是空集Ø或参数个体v的集合,由逗号分隔;
步骤2、预处理:
FQLTL公式中包括关系函数和状态函数;在可满足性检查前,对步骤1中生成的语法树进行预处理,即在FQLTL公式中标记出需要被验证器识别并验证的状态函数,并将所述状态函数替换为可供验证器识别的变量,并且打上状态函数标签和关系函数进行区分,使得后续步骤只针对关系函数进行;所述关系函数是指限定范围的函数,所述范围指公式中个体的性质以及个体和个体之间的关系;所述状态函数是指除关系函数以外的所有函数;将所述状态函数替换为可供验证器识别的变量的操作通过包含函数名-变量对应关系的数据结构进行;所述数据结构中,每个函数名都有对应的变量;所述验证器对变量的布尔值进行验证;
步骤3、遍历语法树,进行可满足性检查:
可满足性检查在语义解释器中进行,主体是一个递归的算法,根据已得到的FQLTL公式语法树从根节点进行递归,层层向下解析,根据树节点的不同类别来进行不同方式的处理,并且逐级向上返回结果;当返回的结果逻辑值被需要时,则保留结果实例供后续验证;
步骤3中,在语法树节点遍历时,树节点共有四种类别,分别是量词节点、逻辑符号节点、函数节点和时序符号节点;当遍历到不同类别的节点的时候,进行与节点类别相对应的操作;不同节点的相应操作有:
1)当前节点为量词节点时,对量词所约束的设备进行遍历,将设备的每一个对象添加到当前设备集合中,再以该设备集合进入下一层进行计算;若返回值中逻辑返回值为-1,即结果不确定,证明该设备集合的对象需要进一步验证,此时将结果保留;当返回值为1或者0,即结果分别为真或假时都不保留结果,仅作为该层递归的返回值返回给上层;
2)当前节点为逻辑符号节点时,根据逻辑符号对应的含义进行相应的计算,得到返回结果;
3)当前节点为函数节点时,如果是状态函数则直接返回结果;如果是关系函数,调用函数执行器,根据函数名和参数进行相应的计算并且返回给核心的语义解释器;
4)当前节点为时序符号节点时,根据时序符号对应的含义进行相应的计算,得到返回结果;
当前节点为逻辑符号节点或时序符号节点时,所述相应的计算得到的返回结果包含逻辑返回结果和字符串返回结果;其中逻辑返回结果的计算规则是一种三值逻辑:规定逻辑返回值可能的取值为0,1和-1,分别表示假、真、不确定或未知;字符串返回结果则是根据不同符号进行相应字符串拼接操作;
步骤4、输出可满足性检查结果:
将最后得到的逻辑公式进行拆分,去除最外层的逻辑符号,得到若干条待验实例;
步骤4中,所述最后得到的逻辑公式的组成结构形如(Φ1)(Φ2)…(Φn),其中每个Φ都是结构相似的逻辑子公式;
所述拆分的方法为括号匹配;拆分后会生成单独的Φ1、Φ2、…Φn这样n条实例。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华东师范大学;卡斯柯信号有限公司;上海工业控制安全创新科技有限公司,未经华东师范大学;卡斯柯信号有限公司;上海工业控制安全创新科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111570950.4/1.html,转载请声明来源钻瓜专利网。