CN112115615A - 面向scr的安全关键系统模型转换方法、装置和系统 - Google Patents
面向scr的安全关键系统模型转换方法、装置和系统 Download PDFInfo
- Publication number
- CN112115615A CN112115615A CN202010992819.6A CN202010992819A CN112115615A CN 112115615 A CN112115615 A CN 112115615A CN 202010992819 A CN202010992819 A CN 202010992819A CN 112115615 A CN112115615 A CN 112115615A
- Authority
- CN
- China
- Prior art keywords
- model
- unit
- conversion
- xmv
- variable
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000006243 chemical reaction Methods 0.000 title claims abstract description 75
- 238000000034 method Methods 0.000 title claims abstract description 40
- 238000012545 processing Methods 0.000 claims abstract description 7
- 230000014509 gene expression Effects 0.000 claims description 8
- 230000008569 process Effects 0.000 claims description 8
- 238000013507 mapping Methods 0.000 claims description 6
- 238000004590 computer program Methods 0.000 claims description 4
- 238000013508 migration Methods 0.000 claims description 4
- 230000005012 migration Effects 0.000 claims description 4
- 230000006870 function Effects 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 8
- 230000007704 transition Effects 0.000 description 6
- 230000006399 behavior Effects 0.000 description 3
- 230000009466 transformation Effects 0.000 description 3
- 238000007781 pre-processing Methods 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000010531 catalytic reduction reaction Methods 0.000 description 1
- 238000005094 computer simulation Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Devices For Executing Special Programs (AREA)
Abstract
本发明公开了一种面向SCR的安全关键系统模型转换方法,包括:S1,根据预先设计的SS模型平展化算法,消除导入的SS模型的递归定义,得到经平展化处理后的SS模型;S2,编写平展化处理后的SS模型的ANTLR语法文件,获取相应的抽象语法树;S3,结合SS模型平展化结果,设计得到转换规则和对应的转换算法,利用步骤S2中获取的抽象语法树,构建结点遍历器,将步骤S1中获取的平展好的SS模型转换为对应的NuXMV模型。本发明能够实现安全关键系统从SCR模型直接转化为NuXMV模型,通过转换后的NuXMV模型检查工具进行安全性分析,检查需求模型的一致性和完备性,验证系统的正确性。
Description
技术领域
本发明涉及安全关键系统建模和模型转换技术领域,具体而言涉及一种面向SCR的安全关键系统模型转换方法、装置和系统。
背景技术
T-VEC是基于四变量模型中的SCR方法,进行需求设计、需求建模的工具。它运用表格表达式的方式,通过用模式转换表、条件表和事件表等代替形式化数学符号,描述系统在不同的模式、条件和状态下,状态变量不同的取值,表现系统状态迁移的逻辑关系,从而实现对系统行为形式化描述。T-VEC语言定义了以需求为中心,以表格表达式的表示的系统模型形式,其将模型保存为以.SS为后缀文件格式。将T-VEC抽象需求模型称为SS模型,每一个SS模型都包含多个SS文件,每一个带有约束的和正向输出的中间变量和输出变量都保存为一个.SS文件,其中,每一个.SS文件包含了一个系统定义变量和多条系统控制约束语句,针对不同的系统控制约束,系统定义变量有不同的取值。
NuXMV是一种传统的符号化模型检测器。NuXMV是SMV扩展而来的,SMV是第一个基于BDD的模型检查器。后经由功能扩展和重新实现的NuXMV加入了基于SAT算法的验证引擎,能够对有限状态和无线状态的系统进行形式化验证。NuXMV的模型建模语言XMV通过对有限状态自动机Finite State Machine(FSM)和无限状态系统的状态转换的描述,对系统建模,用状态迁移定义事件触发下的系统变量取值的改变。NuXMV定义了从系统状态出发,用状态迁移描述系统运作进程的模型形式,其将模型保存为以.SMV为后缀的单个文件格式,为了方便,下文中均将NuXMV需输入的抽象需求模型称为XMV模型。一个XMV模型由一个主模块(MODULE)与若干个子模块构成,模块之间由变量参数关联,子模块之间可以互相嵌套迭代,可以多次复用,最后都由主模块单独调用。与SS模型不同,XMV模型由状态驱动,以状态的迁移反映模型的动态行为,状态由最小单元状态变量(VAR)组成。在XMV模型中,用ASSIGN声明进入状态转换,定义状态变量赋值;用INIT代表新引入的状态变量初始赋值;用NEXT代表在当前状态约束下,下一状态的变量取值。
ANTLR4(Another Tool for Language Recognition)是一个开源的语法分析器生成工具。语法分析器生成工具可以根据特殊的领域语言生成语法分析器,解决了手写分析器复杂耗时的问题。ANTLR4由ANTLR工具扩展演变而来,最早是旧金山大学的教授TerenceParr研发,提供了构建框架、语言和遍历解析树的解析器。ANTLR4支持读取、处理、执行或翻译结构化文本或二进制文件。ANTLR4词法规则采用正则表达式描述,语法结构精确定义为扩展巴克斯-诺尔范式(E-BNF)消除左递归。ANTLR4对输入的词法文件读取字符流,将字符聚类为单词和符号(Token);解析语法文件和识别语法结构,最终对每一个输入模型生成语法分析树。ANTLR4语法程序parser根据语法文件(grammer.g4)构造生成语法分析树,语法树自上而下递归解析,其根结点是序列化语句的起始,包含了语法文件中描述的所有情况的文件结构,其子结点是组成该文件结构的所有递归词组名,最下层的叶子结点即为实例中对应该词组名的具体单词。
针对安全关键系统的安全行分析模型构建,在获知需求的基础上,目前多直接创建SS模型。然而,由于SS模型是一种变量关系模型,用表格表达式描述系统变量之间的约束关系,构建系统模型,因此SS模型具有变量定义的递归性、嵌套性和离散性,无法直接进行安全性分析。因此,亟需一种方法能够实现安全关键系统从SCR模型转化为NuXMV模型。
发明内容
本发明针对现有技术中的不足,提供一种面向SCR的安全关键系统模型转换方法、装置和系统,能够实现安全关键系统从SCR模型直接转化为NuXMV模型,由于转换后的NuXMV文件是基于状态机的模型,可以通过模型检查工具进行安全性分析,检查需求模型的一致性和完备性,验证系统的正确性。
为实现上述目的,本发明采用以下技术方案:
一种面向SCR的安全关键系统模型转换方法,所述转换方法包括以下步骤:
S1,根据预先设计的SS模型平展化算法,消除导入的SS模型的递归定义,得到经平展化处理后的SS模型;
S2,编写平展化处理后的SS模型的ANTLR语法文件,获取相应的抽象语法树;
S3,结合SS模型平展化结果,设计得到转换规则和对应的转换算法,利用步骤S2中获取的抽象语法树,构建结点遍历器,将步骤S1中获取的平展好的SS模型转换为对应的NuXMV模型。
为优化上述技术方案,采取的具体措施还包括:
进一步地,步骤S1中,所述根据预先设计的SS模型平展化算法,消除导入的SS模型的递归定义,得到经平展化处理后的SS模型的过程包括以下步骤:
S11,获取SS模型中所有表述变量约束的树形模型单元;将每个包含约束定义的变量向上抽象为模型基本单元,其中:
(1)ITO单元:带有输入、中间和输出约束的可解释变量单元;
(2)IT单元:带有输入和中间约束的可解释变量单元;
(3)IO单元:带有输入和输出约束的可解释变量单元;
(4)TO单元:带有中间和输出约束的可解释变量单元;
(5)T单元:仅带有中间约束的基础单元;
(6)O单元:仅带有输出约束的基础单元;
(7)I单元:仅带有输入约束的基础单元;
S12,对每个表述变量约束的树形模型单元向下层平展,遍历树形模型单元的每一个分支,对每一个分支进行深度检索,直至将该单元以及该单元下层的复杂单元分解成基础单元,所述基础单元包括I单元、T单元和O单元;
S13,将T单元和O单元简化为一组I单元,以将树形模型单元最终向下平展简化为一个I基础单元组,即从SS模型上说,将含有递归、嵌套的复杂变量约束关系转换为仅含有输入变量约束关系组。
进一步地,步骤S2中,所述编写平展化处理后的SS模型的ANTLR语法文件,获取相应的抽象语法树的过程包括以下步骤:
S21,根据SS模型的语法说明文件,利用ANTLR的元语言构建SS模型的ANTLR语法解析文件,通过运行ANTLR的内置方法,获取SS模型的词法和语法解析器;
S22,将SS模型实例输入词法和语法解析器,获取对应的语法树。
进一步地,步骤S3中,所述转换规则包括:
式中:TBasic表示基本类型,TCustom表示自定义类型,TXMV表示XMV模型中的类型,C表示SS模型中常量的声明,Statecon和分别表示XMV模型中的状态常量和常量值,I和TO分别表示SS模型中的原子单元与复杂单元,IVAR和VAR分别表示XMV模型中的输入变量和状态变量,LS代表SS模型中的逻辑结构集合,C代表XMV模型中的约束集合,f(ρ)=value代表SS模型中输出赋值函数,其中ρ代表逻辑结构,value代表变量值;next代表XMV模型状态迁移的赋值过程。
进一步地,步骤S3中,所述对应的转换算法包括以下步骤:
S31,类型转换:
对于SS模型中的基本类型,直接将之映射为XMV模型中的基本类型,取值范围向上扩大;对于SS模型中的数值型自定义类型,将其转换为XMV模型中的基本类型;对于SS模型中的字符型自定义类型,将其转换为XMV中的枚举型;
S32,常量转换:
将SS模型中的常量声明直接映射为XMV模型中的状态常量赋值语句;
S33,变量转换:
将SS模型的中变量分为两类,一类是可向下分解的中间变量和输出变量,即复杂单元TO,另一类是不可向下分解的输入变量,即原子单元I;
将复杂单元的声明TO映射为XMV模型中的状态变量声明语句,原子单元I的声明映射为XMV模型中的输入变量声明语句;
S34,约束转换:
设SS模型采用逻辑结构LS定义变量间的约束关系,一条逻辑结构描述一条约束关系;在XMV模型中,用DEFINE关键字做宏定义声明,定义约束名称和对应约束关系;
基于前述设定,将SS模型中的逻辑结构集合转换为XMV模型中的约束集;
S35,输出赋值转换:
在SS模型中,输入表现为条件选择,对于每一条逻辑结构,输出变量都有一个对应的输出值;
将其转换成XMV模型后,转换得到的XMV模型中,采用下一状态赋值关键字NEXT描述赋值关系,采用条件选择关键字CASE描述对于不同的约束宏定义,状态变量下一状态的赋值有不同的取值。
本发明还提及一种面向SCR的安全关键系统模型转换装置,所述转换装置包括:
用于根据预先设计的SS模型平展化算法,消除导入的SS模型的递归定义,得到经平展化处理后的SS模型的模块;
用于编写平展化处理后的SS模型的ANTLR语法文件,获取相应的抽象语法树的模块;
用于结合SS模型平展化结果,设计得到转换规则和对应的转换算法,利用获取的抽象语法树,构建结点遍历器,将平展好的SS模型转换为对应的NuXMV模型的模块。
本发明还提及一种面向SCR的安全关键系统模型转换系统,所述转换系统包括存储器和处理器;
所述存储器中存储有计算机程序,所述处理器用于运行存储器中存储的计算机程序以执行如前所述的面向SCR的安全关键系统模型转换方法。
本发明的有益效果是:
(1)能够实现安全关键系统从SCR模型直接转化为NuXMV模型,由于转换后的NuXMV文件是基于状态机的模型,可以通过模型检查工具进行安全性分析,检查需求模型的一致性和完备性,验证系统的正确性。
(2)本发明提出的SS模型平展化的算法和转换算法结合SS模型特性创建,具有一定的普适性。
附图说明
图1是本发明的面向SCR的安全关键系统模型转换方法的流程图。
图2是本发明的其中一个例子的转换方法流程图。
图3是本发明的SS模型单元平展简化过程示意图。
图4是本发明的变量约束平展化伪代码示意图。
图5是本发明的变量转换规则图。
图6是本发明的约束转换规则图。
图7是本发明的输出转换规则图。
具体实施方式
现在结合附图对本发明作进一步详细的说明。
需要注意的是,发明中所引用的如“上”、“下”、“左”、“右”、“前”、“后”等的用语,亦仅为便于叙述的明了,而非用以限定本发明可实施的范围,其相对关系的改变或调整,在无实质变更技术内容下,当亦视为本发明可实施的范畴。
具体实施例一
结合图1,本发明提及一种面向SCR的安全关键系统模型转换方法,所述转换方法包括以下步骤:
S1,根据预先设计的SS模型平展化算法,消除导入的SS模型的递归定义,得到经平展化处理后的SS模型。
S2,编写平展化处理后的SS模型的ANTLR语法文件,获取相应的抽象语法树。
S3,结合SS模型平展化结果,设计得到转换规则和对应的转换算法,利用步骤S2中获取的抽象语法树,构建结点遍历器,将步骤S1中获取的平展好的SS模型转换为对应的NuXMV模型。
本发明主要解决了从SS模型转换为NuXMV模型的问题,为了解决这个问题,本发明主要包括三部分内容。其一,设计并实现SS模型平展化的算法,消除SS模型的递归定义。其二,编写平展后的SS模型的ANTLR语法文件,获取相应的抽象语法树。其三,设计定义转换规则,并设计对应的转换算法,利用已经生成的语法树,构建结点遍历器,将输入的平展好的SS模型转换为NuXMV模型。图2是本发明的其中一个例子的转换方法流程图。
下面结合附图对本发明的技术方案进行详细阐述。
第一部分,设计并实现SS模型平展化的算法,消除SS模型的递归定义。SS模型包含两个配置文件coreRTS.SS和runTimeData.SS和多个中间、输出变量定义文件。配置文件分别描述了所有基本类型、该基本类型的取值范围的定义和用户定义类型与基本类型间的传递定义,变量定义文件运用了模型中的条件表、事件表、模式类等描述了模型中的状态迁移,体现了模型行为的动态性。
因为SS模型变量约束间存在递归嵌套,将每个包含约束定义的变量向上抽象为模型基本单元,其中:
(1)ITO单元:带有输入、中间和输出约束的可解释变量单元;
(2)IT单元:带有输入和中间约束的可解释变量单元;
(3)IO单元:带有输入和输出约束的可解释变量单元;
(4)TO单元:带有中间和输出约束的可解释变量单元;
(5)T单元:仅带有中间约束的基础单元;
(6)O单元:仅带有输出约束的基础单元;
(7)I单元:仅带有输入约束的基础单元;
本文提出的变量关系平展简化方式如图3所示,对每个表述变量约束的树形模型单元向下层平展,遍历这个复杂模型单元的每一个分支,对每一个分支进行深度检索,直至将该单元以及该单元下层的复杂单元分解成基础单元(I、T、O),再将T和O单元简化为一组I单元。至此,将一个复杂单元向下平展简化为一个I基础单元组,即从SS模型上说,将一个含有递归、嵌套的复杂变量约束关系转换为一个仅含有输入变量约束关系组。变量约束平展化伪代码如图4所示。
第二部分,编写平展后的SS模型的ANTLR语法文件,获取相应的抽象语法树。通过SS模型的语法说明文件,利用ANTLR的元语言构建SS模型的ANTLR语法解析文件,通过运行ANTLR的内置方法,获取到SS模型的词法和语法解析器,通过输入的某个SS模型实例,可以获取对应的语法树。
第三部分,设计转换规则,编写算法,对语法树进行遍历,根据定义好的五条转换规则,将SS模型转换为XMV模型。具体转换规则如下:
给出如下精确定义:TBasic表示基本类型,TCustom表示自定义类型,TXMV表示XMV模型中的类型,C表示SS模型中常量的声明,Statecon和分别表示XMV模型中的状态常量和常量值,I和TO分别表示SS模型中的原子单元与复杂单元,IVAR和VAR分别表示XMV模型中的输入变量和状态变量,LS代表SS模型中的逻辑结构集合,C代表XMV模型中的约束集合,f(ρ)=value代表SS模型中输出赋值函数,其中ρ代表逻辑结构,value代表变量值;next代表XMV模型状态迁移的赋值过程。根据每个部分转换算法,下面给出转换的具体步骤。
步骤一:类型转换。SS模型的类型分为基本类型和自定义类型,对于基本类型,可以直接映射为XMV模型中的基本类型,取值范围向上扩大;自定义类型分为数值型和字符型,数值型自定义类型转换为其基本类型,字符型自定义类型转换为XMV中的枚举型即可。
步骤二:常量转换。SS模型中的常量声明可以直接映射为XMV模型中的状态常量赋值语句。
步骤三:变量转换。将SS模型的中变量分为两类,一类是可向下分解的中间变量和输出变量(即复杂单元TO),另一类是不可向下分解的输入变量(即原子单元I)。复杂单元的声明映射为XMV模型中的状态变量声明语句,原子单元的声明映射为XMV模型中的输入变量声明语句。图5是变量转换规则图。
步骤四:约束转换。SS模型中用逻辑结构LS定义变量间的约束关系,一条逻辑结构描述一条约束关系。在XMV模型中,用DEFINE关键字做宏定义声明,定义约束名称和对应约束关系。则约束转换就是将SS模型中的逻辑结构集合转换为XMV模型中的约束集。图6是约束转换规则图。
步骤五:输出赋值转换。在SS模型中,输入表现为条件选择,对于每一条逻辑结构,输出变量都有一个对应的输出值。在XMV模型中,用下一状态赋值关键字NEXT去描述赋值关系,用条件选择关键字CASE去描述对于不同的约束宏定义,状态变量下一状态的赋值有不同的取值。图7是输出转换规则图。
具体实施例二
根据前文所述的本发明的步骤。具体的模型转换步骤如下:
第1步,用SCR方法对系统需求建模为SS模型,对SS模型的描述文件预处理,删除注释,并将格式规范化。根据系统需求的输入和输出要求,构建系统SS模型。SS模型的描述文件中用ATTRIBUTE关键声明注释,对已经根据模型语法建立好的语法树进行递归遍历,搜索到注释关键字,并将注释语句置空。借助ANTLR4,调整SS模型字符合法性,规范格式,完成文件预处理。
第2步,判断每一层变量约束的可分解性,对约束分类。outputVarConstraint、termVarConstraint和inputVarConstraint分别代表输入文件一个复杂单元中的输出变量约束(O基础单元)集合、中间变量约束(T基础单元)和输入变量约束(I原子单元)集合。平展时,首先针对输出变量约束集合中的每一个O单元,判断这个O单元是否为复杂单元,存在其他的T、O单元,如果存在则向下递归,对这个O单元平展化,深度遍历出O单元这个分支上的所有I单元加入inputVarConstraint集合,如果不存在则将这个O单元包含的原子约束加入inputVarConstraint集合,作为递归出口。
第3步,深度遍历查找每一个原子约束,平展化重构约束关系,输出中间文件和平展化后的模型文件。针对中间变量约束集合中的每一个T单元,,将每一个T单元平展简化为原子约束,加入原子约束集合,将T单元的约束信息写入到一个termxml文件中,其中约束信息包括变量的名称varname、依赖的其他变量importvar和相关约束cons。最后,将描述所有原子约束的inputVarConstraint集合写入到Modelname.pSS文件,完成平展简化后的文件输出。
第4步,对平展化后的模型中的类型进行转换。将数据类型分类为基本类型和自定义类型,其中基本类型的转换规则定义在basictype哈希表中,其转换规则一一对应,并且将基本类型与基本类型的初值定义在basicinit哈希表中。对于自定义类型,与基本类型分开存储,自定义类型可以分为两大类,一类是基于枚举基本类型的自定义类型,另一种是基于数值类型的基本类型。这两类的类型名称都在data_element_name结点中。判断自定义类型是否为枚举类型之后,分类获得取值范围入栈。
第5步,对平展化后的模型中的常量进行转换。首先遍历语法树的叶子结点获取模型中的常量存入到常量哈希表constant中,其中key是常量名,value是常量值,再根据定义好的转换格式将常量声明按顺序写入到文件中。
第6步,对平展化后的模型中的变量进行转换。平展后的SS模型包含了复杂变量和原子变量的约束关系,遍历语法树,建立变量哈希表Var,其中key是变量名,value是变量的可分解性。对变量声明转换,变量Var表,根据每个元素的value判断其是否是原子单元,若是则转换为输入变量的定义语句,若不是则转换为状态变量定义语句。
第7步,对平展化后的模型中的约束定义进行转换。约束声明的转换过程是自下而上的,在获取到底层的约束结点后,对结点内的约束进行逻辑转换用逻辑符号“&”、“|”和“!”替换“AND”、“OR”和“NOT”,然后再对结点间约束转换,首先要判断是否存在兄弟结点,如不存在,则将全部约束向上递交给父结点,然后再对父结点进行约束转换;如果存在,就需要将结点“AND”和“OR”约束转换为逻辑符,再向上递交转换,直至约束的顶层结点结束,最后用DEFINE关键字给约束命名。
第8步,对平展化后的模型中的输出赋值语句进行转换。对于每一个输出变量,都用一个对应的哈希表assignmMap保存上一步已经转换好的关于这个变量的约束宏定义,其中key是宏定义名称,value是在这个约束宏定义下,输出变量的取值,根据转换规则,用next和case关键字,对输出赋值重构。
第9步,将转换好的XMV模型格式规范化,并写入到对应名称的xmv文件中,完成模型的转换。
以上仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,应视为本发明的保护范围。
Claims (7)
1.一种面向SCR的安全关键系统模型转换方法,其特征在于,所述转换方法包括以下步骤:
S1,根据预先设计的SS模型平展化算法,消除导入的SS模型的递归定义,得到经平展化处理后的SS模型;
S2,编写平展化处理后的SS模型的ANTLR语法文件,获取相应的抽象语法树;
S3,结合SS模型平展化结果,设计得到转换规则和对应的转换算法,利用步骤S2中获取的抽象语法树,构建结点遍历器,将步骤S1中获取的平展好的SS模型转换为对应的NuXMV模型。
2.根据权利要求1所述的面向SCR的安全关键系统模型转换方法,其特征在于,步骤S1中,所述根据预先设计的SS模型平展化算法,消除导入的SS模型的递归定义,得到经平展化处理后的SS模型的过程包括以下步骤:
S11,获取SS模型中所有表述变量约束的树形模型单元;将每个包含约束定义的变量向上抽象为模型基本单元,其中:
(1)ITO单元:带有输入、中间和输出约束的可解释变量单元;
(2)IT单元:带有输入和中间约束的可解释变量单元;
(3)IO单元:带有输入和输出约束的可解释变量单元;
(4)TO单元:带有中间和输出约束的可解释变量单元;
(5)T单元:仅带有中间约束的基础单元;
(6)O单元:仅带有输出约束的基础单元;
(7)I单元:仅带有输入约束的基础单元;
S12,对每个表述变量约束的树形模型单元向下层平展,遍历树形模型单元的每一个分支,对每一个分支进行深度检索,直至将该单元以及该单元下层的复杂单元分解成基础单元,所述基础单元包括I单元、T单元和O单元;
S13,将T单元和O单元简化为一组I单元,以将树形模型单元最终向下平展简化为一个I基础单元组,即从SS模型上说,将含有递归、嵌套的复杂变量约束关系转换为仅含有输入变量约束关系组。
3.根据权利要求1所述的面向SCR的安全关键系统模型转换方法,其特征在于,步骤S2中,所述编写平展化处理后的SS模型的ANTLR语法文件,获取相应的抽象语法树的过程包括以下步骤:
S21,根据SS模型的语法说明文件,利用ANTLR的元语言构建SS模型的ANTLR语法解析文件,通过运行ANTLR的内置方法,获取SS模型的词法和语法解析器;
S22,将SS模型实例输入词法和语法解析器,获取对应的语法树。
5.根据权利要求4所述的面向SCR的安全关键系统模型转换方法,其特征在于,步骤S3中,所述对应的转换算法包括以下步骤:
S31,类型转换:
对于SS模型中的基本类型,直接将之映射为XMV模型中的基本类型,取值范围向上扩大;对于SS模型中的数值型自定义类型,将其转换为XMV模型中的基本类型;对于SS模型中的字符型自定义类型,将其转换为XMV中的枚举型;
S32,常量转换:
将SS模型中的常量声明直接映射为XMV模型中的状态常量赋值语句;
S33,变量转换:
将SS模型的中变量分为两类,一类是可向下分解的中间变量和输出变量,即复杂单元TO,另一类是不可向下分解的输入变量,即原子单元I;
将复杂单元的声明TO映射为XMV模型中的状态变量声明语句,原子单元I的声明映射为XMV模型中的输入变量声明语句;
S34,约束转换:
设SS模型采用逻辑结构LS定义变量间的约束关系,一条逻辑结构描述一条约束关系;在XMV模型中,用DEFINE关键字做宏定义声明,定义约束名称和对应约束关系;
基于前述设定,将SS模型中的逻辑结构集合转换为XMV模型中的约束集;
S35,输出赋值转换:
在SS模型中,输入表现为条件选择,对于每一条逻辑结构,输出变量都有一个对应的输出值;
将其转换成XMV模型后,转换得到的XMV模型中,采用下一状态赋值关键字NEXT描述赋值关系,采用条件选择关键字CASE描述对于不同的约束宏定义,状态变量下一状态的赋值有不同的取值。
6.一种面向SCR的安全关键系统模型转换装置,其特征在于,所述转换装置包括:
用于根据预先设计的SS模型平展化算法,消除导入的SS模型的递归定义,得到经平展化处理后的SS模型的模块;
用于编写平展化处理后的SS模型的ANTLR语法文件,获取相应的抽象语法树的模块;
用于结合SS模型平展化结果,设计得到转换规则和对应的转换算法,利用获取的抽象语法树,构建结点遍历器,将平展好的SS模型转换为对应的NuXMV模型的模块。
7.一种面向SCR的安全关键系统模型转换系统,其特征在于,所述转换系统包括存储器和处理器;
所述存储器中存储有计算机程序,所述处理器用于运行存储器中存储的计算机程序以执行权利要求1-5任意一项中所述的面向SCR的安全关键系统模型转换方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010992819.6A CN112115615B (zh) | 2020-09-21 | 2020-09-21 | 面向scr的安全关键系统模型转换方法、装置和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010992819.6A CN112115615B (zh) | 2020-09-21 | 2020-09-21 | 面向scr的安全关键系统模型转换方法、装置和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112115615A true CN112115615A (zh) | 2020-12-22 |
CN112115615B CN112115615B (zh) | 2024-10-15 |
Family
ID=73801362
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010992819.6A Active CN112115615B (zh) | 2020-09-21 | 2020-09-21 | 面向scr的安全关键系统模型转换方法、装置和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112115615B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112989631A (zh) * | 2021-04-19 | 2021-06-18 | 河南科技大学 | 一种有限状态自动机等效构件的识别方法及系统 |
CN114595152A (zh) * | 2022-03-08 | 2022-06-07 | 南京航空航天大学 | 一种面向NuXMV的安全关键系统状态转换图测试用例生成方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108089861A (zh) * | 2017-12-27 | 2018-05-29 | 南京航空航天大学 | 一种从SysML模型转换到AltaRica模型的转换方法 |
CN108363631A (zh) * | 2018-02-06 | 2018-08-03 | 南京航空航天大学 | 一种从RSML-e模型转换到NuSMV模型的转换方法 |
CN109857458A (zh) * | 2019-03-01 | 2019-06-07 | 南京航空航天大学 | 基于ANTLR的AltaRica 3.0的扁平化的转化方法 |
CN111176639A (zh) * | 2019-12-30 | 2020-05-19 | 南京航空航天大学 | 一种从SysML到AltaRica的自动化模型转换方法 |
-
2020
- 2020-09-21 CN CN202010992819.6A patent/CN112115615B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108089861A (zh) * | 2017-12-27 | 2018-05-29 | 南京航空航天大学 | 一种从SysML模型转换到AltaRica模型的转换方法 |
CN108363631A (zh) * | 2018-02-06 | 2018-08-03 | 南京航空航天大学 | 一种从RSML-e模型转换到NuSMV模型的转换方法 |
CN109857458A (zh) * | 2019-03-01 | 2019-06-07 | 南京航空航天大学 | 基于ANTLR的AltaRica 3.0的扁平化的转化方法 |
CN111176639A (zh) * | 2019-12-30 | 2020-05-19 | 南京航空航天大学 | 一种从SysML到AltaRica的自动化模型转换方法 |
Non-Patent Citations (1)
Title |
---|
战芸娇: "基于SCR的安全关键系统需求归约与验证", 《中国优秀硕士学位论文全文数据库 工程科技Ⅱ辑》, 15 February 2019 (2019-02-15), pages 35 - 54 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112989631A (zh) * | 2021-04-19 | 2021-06-18 | 河南科技大学 | 一种有限状态自动机等效构件的识别方法及系统 |
CN114595152A (zh) * | 2022-03-08 | 2022-06-07 | 南京航空航天大学 | 一种面向NuXMV的安全关键系统状态转换图测试用例生成方法 |
CN114595152B (zh) * | 2022-03-08 | 2024-08-27 | 南京航空航天大学 | 一种面向NuXMV的安全关键系统状态转换图测试用例生成方法 |
Also Published As
Publication number | Publication date |
---|---|
CN112115615B (zh) | 2024-10-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2592396C1 (ru) | Способ и система для машинного извлечения и интерпретации текстовой информации | |
JP2012504826A (ja) | 拡張可能な構文を有するプログラミング言語 | |
US20070006134A1 (en) | Data processing method compatible with an object modeling formalism | |
Pereira et al. | Ontological approach for DSL development | |
Harris et al. | Glast: Learning formal grammars to translate natural language specifications into hardware assertions | |
Gabmeyer et al. | A feature-based classification of formal verification techniques for software models | |
Nalepa et al. | UML representation for rule-based application models with XTT2-based business rules | |
CN112115615A (zh) | 面向scr的安全关键系统模型转换方法、装置和系统 | |
US7409619B2 (en) | System and methods for authoring domain specific rule-driven data generators | |
CN113655996B (zh) | 一种基于需求模型的企业级系统生成方法 | |
CN114528846A (zh) | 一种用于人工智能的概念网络及其生成方法 | |
Schulze | Analysis and removal of code clones in software product lines | |
Stansifer et al. | Parsing reflective grammars | |
Rajbhoj et al. | DocToModel: automated authoring of models from diverse requirements specification documents | |
Nuzzolese et al. | Fine-tuning triplification with Semion | |
Schraps et al. | Semantic annotation of a formal grammar by SemanticPatterns | |
Klempa et al. | JInfer: A framework for XML schema inference | |
Gordon et al. | Trustworthy Formal Natural Language Specifications | |
Rémy et al. | From ML to MLF: Graphic type constraints with efficient type inference | |
Zhu et al. | A supporting tool for syntactic analysis of SOFL formal specifications and automatic generation of functional scenarios | |
Cardoso et al. | Synthetic Data Generation from JSON Schemas | |
Mishchenko et al. | New functionalities of the system for processing natural language specifications and its operating environment | |
Chaochaisit et al. | CSV-X: A Linked Data Enabled Schema Language, Model, and Processing Engine for Non-Uniform CSV | |
Zhu et al. | Lay-it-out: Interactive Design of Layout-Sensitive Grammars | |
Vajk et al. | Incremental OCL to C# code generation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant |