(19)中华 人民共和国 国家知识产权局
(12)发明 专利申请
(10)申请公布号
(43)申请公布日
(21)申请 号 202111228147.2
(22)申请日 2021.10.21
(71)申请人 南京航空航天大 学
地址 210016 江苏省南京市秦淮区御道街
29号
(72)发明人 杨志斌 张泽伦 李晓劼 周勇
黄志球 李维
(74)专利代理 机构 南京苏高专利商标事务所
(普通合伙) 32204
代理人 颜盈静
(51)Int.Cl.
G06F 11/36(2006.01)
G06N 20/00(2019.01)
(54)发明名称
一种基于机器学习的SCADE模 型组合验证环
境假设自动生成方法
(57)摘要
本发明公开了一种基于机器学习的SCADE模
型组合验证环境假设自动生成方法, 包括: 基于
SCADE支持的API, 获取目标SCADE模型的I/O信
息; 对I/O信息进行映射处理, 生成指定 数量的测
试用例; 将测试用例转换为SCADE仿真的场景文
件; 采用SCADE仿真器对SCADE仿真的场景文件进
行仿真, 得到仿真结果文件; 基于仿真结果文件,
生成环境假设Assume所需的数据集; 基于数据
集, 借助机器学习算法生成组件环境假设
Assume; 采用本发明的方法能减少人工编写环境
假设的错误并提高组合验证过程中形式化契约
的编写效率。
权利要求书3页 说明书8页 附图4页
CN 114036041 A
2022.02.11
CN 114036041 A
1.一种基于机器学习的SCADE模型组合验证环境假设自动生成方法, 其特征在于: 包括
以下步骤:
S100: 基于SCADE支持的API, 获取目标SCADE模型的I/O信息;
S200: 对I/O信息进行映射处 理, 生成指定数量的测试用例;
S300: 将测试用例转换为SCADE 仿真的场景文件;
S400: 采用SCADE 仿真器对SCADE 仿真的场景文件进行仿真, 得到 仿真结果文件;
S500: 基于仿真结果文件, 生成环境 假设Assume所需的数据集;
S600: 基于数据集, 借助机器学习算法生成组件环境 假设Assume。
2.根据权利要求1所述的一种基于机器学习的SCADE模型组合验证环境假设自动生成
方法, 其特 征在于: S20 0包括以下步骤:
基于SCADE数据类型到Java数据类型的映射规则, 将I/O信息进行映射处理, 得到完整
的SCADE模型输入列表;
采用随机自适应测试用例自动生成方法, 为SCADE模型输入列表中的每个输入参数随
机生成一个数值, 最终得到n个测试用例, 所有的测试用例构成测试用例列表。
3.根据权利要求2所述的一种基于机器学习的SCADE模型组合验证环境假设自动生成
方法, 其特 征在于: 所述的SCADE数据类型到Java数据类型的映射 规则, 包括:
typeConvertMap.put("ui nt8","shor t");
typeConvertMap.put("ui nt16","shor t");
typeConvertMap.put("ui nt32","int");
typeConvertMap.put("ui nt64","l ong");
typeConvertMap.put("i nt8","shor t");
typeConvertMap.put("i nt16","shor t");
typeConvertMap.put("i nt32","int");
typeConvertMap.put("i nt64","l ong");
typeConvertMap.put("fl oat32","float");
typeConvertMap.put("fl oat64","double");
typeConvertMap.put("bo ol","bool");
typeConvertMap.put("c har","char")。
4.根据权利要求2所述的一种基于机器学习的SCADE模型组合验证环境假设自动生成
方法, 其特征在于: 所述的采用随机自适应测试用例自动生成方法, 为SCADE模型输入列表
中的每个输入参数随机生成一个数值, 最终得到n个测试用例, 具体为: 对每个输入参数执
行以下操作, 最终得到n个测试用例:
若输入参数取自于连续区间, 则在其定义域上插入若干个控制点, 控制点将定义域分
成若干个小区间, 在每 个小区间上随机取值, 得到的数值作为该输入参数的一个测试 取值;
若输入参数取自于离散区间, 则在其定义域上随机生成n个候选测试点, 对每个测试
点, 取其与该输入参数测试数据集中每个测试数据的距离的最小值, 该最小值作为一个测
试数据, 若 该输入参数的测试数据集为空则随机选一个候选测试点加入; 而对每个测试点,
取其与测试数据集中每个测试数据的距离的最大值, 该最大值作为测试数据加入该输入参
数的测试数据集; 重复上述过程, 直至达到最大循环次数或该参数测试数据集数据量达到权 利 要 求 书 1/3 页
2
CN 114036041 A
2上限。
5.根据权利要求2所述的一种基于机器学习的SCADE模型组合验证环境假设自动生成
方法, 其特征在于: S300中, 基于以下SCADE仿真场景格式模板, 将每组测试用例转换为
SCADE仿真的场景文件中的一个仿真用例;
SSM::set Operator1/I nput1 1.0;
SSM::set Operator1/I nput2 2.0;
SSM::cycle 1;
其中, Input1和I nput 2指模型输入参数名, cycle指该仿真用例被执 行的次数。
6.根据权利要求1所述的一种基于机器学习的SCADE模型组合验证环境假设自动生成
方法, 其特征在于: S400中, 采用SCADE仿真器对SCADE仿真的场景文件进行仿真, 得到.csv
后缀的仿真结果文件, 其格式表示 为:
第一行视为表头, 自左向右 记载了步骤序号STEP、 模型输入参数列表和所有输出;
第二行以分号隔开所有数据和序号。
7.根据权利要求1所述的一种基于机器学习的SCADE模型组合验证环境假设自动生成
方法, 其特 征在于: S5 00具体包括:
联合预输入的逻辑语言描述的需求R, 对每一个仿真结果文件进行解析, 得到操作结
果;
若操作结果 为true, 则给 该仿真结果添加 “pass”标签, 否则添加 “not pass”标签;
得到标记好的生成环境 假设Assume所需的数据集;
所述的对每一个仿真结果文件进行解析, 具体实现方法如下:
将逻辑语言替换为逻辑符号;
将表达式 中的变量 替换为仿真结果文件中的实际值;
计算String类型的逻辑表达式。
8.根据权利要求7所述的一种基于机器学习的SCADE模型组合验证环境假设自动生成
方法, 其特征在于: S600中, 基于数据集, 采用决策树生 成组件环 境假设Assume, 具体实施方
法为:
将SCADE模型的输入属性、 “pass”标签属性、 “not pass”标签属性合并为属性集; 选取
最大信息增益 为分支划分依据; 根据属性 集、 数据集和分支划分依据, 建立决策树:
先序遍历决策树, 对于任意一个非叶子结点, 设它的取值是x, 对应的属性是A; 若属性A
是连续性属性, 则取该结点通向其左孩子的分支对应的逻辑表达式ck= ‘A<=x’, 取该结点
通向其右孩子的分支对应的逻辑表达式ck= ‘A>x’, 其中k=1,2,...; 若属性A是离散属性,
则取该结点通向其左孩子的分支对应的逻辑表达式ck= ‘A=x, 取该结点通向其右孩子的
分支对应的逻辑表达式ck =‘A≠x’, 其中, k=1,2,...;
按上述规则, 每当遍历到一个标签属性值为 “pass”的叶子结点时, 都可以找到一条从
决策树根结点到该叶子结点的路径, 从而 得到n个逻辑表达式c1...ck …cn, 对这n个表达式
取合取式A1=c1^ c2^...cn, A1即为 一条从根节点到叶子结点路径所对应的As sume;
对于一颗决策树, 可以得到A1,...,As共s个Assume; 取A1...As的析取式, 最终得到组
件环境假设Assume=A1V A2V...VAs;
在组件环境假设A ssume=A1\/A2\/...\/As的限制下, 对S300得到的SCADE仿真的场景权 利 要 求 书 2/3 页
3
CN 114036041 A
3
专利 一种基于机器学习的SCADE模型组合验证环境假设自动生成方法
文档预览
中文文档
16 页
50 下载
1000 浏览
0 评论
309 收藏
3.0分
温馨提示:本文档共16页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
本文档由 人生无常 于 2024-03-19 01:59:32上传分享