从Simulink-StateFlow模型到NuSMV模型的转换方法技术

技术编号:35735105 阅读:32 留言:0更新日期:2022-11-26 18:37
本发明专利技术涉及一种从Simulink

【技术实现步骤摘要】
从Simulink

StateFlow模型到NuSMV模型的转换方法


[0001]本专利技术属于系统安全可靠性领域,具体为一种从Simulink

StateFlow模型到NuSMV模型的转换方法。

技术介绍

[0002]模型检测是用来在程序执行过程中证明系统性质正确性的形式化验证方法。其主要思想是先建立待检测系统的有限状态模型,然后用算法穷尽检测模型中的状态,判断其是否满足待测属性,若不满足,则根据反馈信息判断具体系统中是否确实存在违反此属性的执行路径,即反例路径。模型检测的过程包括系统建模、性质描述和系统验证。系统建模选用一种形式化描述方法,将待验证的系统设计转化为验证工具所能接受的模型。建模中会采用抽象的方法去除不重要或不相关的细节,以避免引入过多的细节而引起状态爆炸。系统所要验证的性质通常是采用逻辑公式来描述,如时态逻辑,能够描述系统随着时间变化而引起的行为变化。模型检测提供了许多验证模型是否满足性质的方法,但这并不能保证这些性质包含所有系统所要满足的性质,因此要求设计人员在性质描述时要保证性质的完本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种从Simulink

StateFlow模型到NuSMV模型的转换方法,其特征在于,包括如下步骤:步骤1、对待评估的系统进行需求形式化分析,并构建Simulink

StateFlow模型;生成项目工程文件,项目工程文件包括:JSON格式文件、C语言格式文件和SVG格式文件;步骤2、分析JSON格式文件的格式特征,从JSON格式文件中提取程序语句,构建程序语句数据表;步骤3、分析C语言格式文件的格式特征,从C语言格式文件中提取自定义函数语句,构架自定义函数数据表;步骤4、分析SVG格式文件的格式特征,读取步骤2中提取到的程序语句的逻辑顺序关系,构建逻辑顺序数据表;步骤5、根据步骤2、步骤4中构建的程序语句数据表和逻辑顺序数据表,使用算法整合模型程序及顺序,生成Simulink模型信息表;步骤6,对程序语句所使用的Matlab编程语言进行分析,构建Matlab语言的语法规则;步骤7,根据步骤6给出的Matlab语言的语法规则对Simulink模型信息表中的程序语句进行处理,将程序语句解析为抽象语法树AMT;步骤8,对抽象语法树AMT进行处理,确定转换为NuSMV语句的转换算法;根据转换算法,处理Simulink模型信息表,生成NuSMV模型。2.如权利要求1所述的从Simulink

StateFlow模型到NuSMV模型的转换方法,其特征在于:步骤1中,构建Simulink

StateFlow模型的具体内容是:绘制模型的图块、起点、转移、连接点,输入程序语句,以及编写自定义函数;Simulink状态图绘制完成后,通过Simulink菜单:File

>Export Model to

>Web,选择导出模式为Entire Model

Export,生成项目工程文件;JSON格式文件用于记录Simulink建模过程中填写的所有状态迁移所需程序语句;C语言格式文件用于记录Simulink建模过程中填写的所有自定义函数语句;SVG格式文件用于记录Simulink建模过程中所绘制的所有状态迁移流程。3.如权利要求1所述的从Simulink

StateFlow模型到NuSMV模型的转换方法,其特征在于,步骤2中,提取程序语句的算法具体为:遍历JSON数据文件序列、过滤冗余项inspector、提取程序语句所在项、过滤冗余字符和整合数据结构;根据JSON格式文件特征,定义如下的数据结构来表示程序语句数据表的数据关系:[Sid,ExecutionOrder,Program],其中,Sid表示程序的标识编号,ExecutionOrder表示程序执行的分支顺序信息,ExecutionOrder={1,2},当ExecutionOrder为1时,表示该程序语句所在分支为优先执行的分支,当ExecutionOrder为2时,表示该程序语句执行顺序处于分支1之后,Program表示具体的程序语句体。4.如权利要求1所述的从Simulink

StateFlow模型到NuSMV模型的转换方法,其特征在于,步骤3中,提取自定义函数语句的算法具体为:遍历C语言格式文件序列、定位自定义函数关键词所在行、提取函数名、提取函数体、过滤冗余字符和整合数据结构;根据C语言格式文件和自定义函数体格式,定义如下的数据结构来表示自定义函数数据表的数据关系:[FunctionTitle,FunctionBody],其中,FunctionTitle表示自定义函数的函数名,FunctionBody表示自定义函数的函数体。
5.如权利要求1所述的从Simulink

StateFlow模型到NuSMV模型的转换方法,其特征在于,步骤4中,使用的读取算法具体如下:步骤401、读入SVG格式文件;步骤402、在各图块内部进行逻辑排序操作;首先寻找块内各框图的起点,计算并标明起点坐标、编号、类型;其次寻找块内各框图中的连接点,计算并标明连接点坐标、类型、编号;寻找块内各框图中的转移,计算并标明转移起始端点坐标、终止端点坐标、类型、编号;针对每一组转移,寻找其起始和到达的起点或连接点;最后读取规范化转移列表信息,根据前置连接点和后置连接点,过滤掉连接点的中间运算,列举转移间的逻辑关系;步骤403、在各图块之间进行逻辑排序操作;首先寻找总框图的起点,并标明起点坐标、编号、类型;寻找总图中的转移,并标明转移起始端点坐标、终止端点坐标、类型、编号;寻找块内各图块中的上下边界,并标明图块边界的坐标、类型、编号;针对每一组转移,寻找其起始和到达的图块边界;读取规范化转移列表信息,根据前置图块边界和后置图块边界,列举转移和图块间的逻辑关系;步骤404、整合步骤402与步骤403中获得的逻辑关系信息。6.如权利要求5所述的从Simulink

StateFlow模型到NuSMV模型的转换方法,其特征在于:定义如下的数据结构来表示程序对应的框图编号关系:[Identifier_Front,Identifier_Behind];其中,Identifier_Front表示逻辑前置元素的编号,...

【专利技术属性】
技术研发人员:杜晔吴润方黎妹红吴雪松张乐
申请(专利权)人:北京交通大学
类型:发明
国别省市:

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

1