[发明专利]一种基于源代码的模型验证方法有效
| 申请号: | 202010011065.1 | 申请日: | 2020-01-06 |
| 公开(公告)号: | CN111209203B | 公开(公告)日: | 2022-03-08 |
| 发明(设计)人: | 史建琦;焦明月;黄滟鸿;孙文圣;战云龙;郭欣 | 申请(专利权)人: | 上海丰蕾信息科技有限公司 |
| 主分类号: | G06F11/36 | 分类号: | G06F11/36 |
| 代理公司: | 北京辰权知识产权代理有限公司 11619 | 代理人: | 付婧 |
| 地址: | 200062 上海市*** | 国省代码: | 上海;31 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 基于 源代码 模型 验证 方法 | ||
1.一种基于源代码的模型验证方法,其特征在于,所述方法包括:
获取目标源代码;
根据AADL建模技术将所述目标源代码进行建模后生成AADL模型;其中,
所述根据AADL建模技术将所述目标源代码进行建模后生成AADL模型,包括:
将所述目标源代码转换成AADL所需的构件集合,所述构件集合包括软件构件、执行平台构件及系统构件;
获取所述目标源代码对应的包;
基于所述包将所述构件集合组织后生成实时系统;
将所述实时系统确定为AADL语言子集,生成AADL模型;其中,
所述基于所述包将所述构件集合组织后生成实时系统,包括:
获取所述包对应的属性和特征;
利用所述构件集合对系统中的软件和硬件进行建模;
利用所述属性和特征对系统中的功能性质和非功能性质进行建模;
当建模结束后生成AADL模型;
基于预设转换方式将所述AADL模型转换生成时间自动机模型;
利用预设模型检测器对所述时间自动机模型进行检查;其中,所述利用预设模型检测器对所述时间自动机模型进行检查,包括:
构造模型检测器;对所述时间自动机模型进行形式化验证;对所述时间自动机模型使用计算树逻辑描述其规范;采用模型检测器验证所述规范在指定模型中是否成立;
所述获取目标源代码之前,还包括:
采用电子数据表单对系统、设备和软件接口进行处理后生成目标源代码;
所述采用电子数据表单对系统、设备和软件接口进行处理后生成目标源代码,包括:
采用电子数据表单对系统、设备和软件接口进行处理后生成处理后的电子数据表单;
基于形式化模型转换技术将所述处理后的电子数据表单进行转换生成电子数据表单模型;
基于形式化的性质描述语言获取所述电子数据表单模型中的关键结构和属性;
根据关键结构和属性获取关键部分源代码,将所述关键部分源代码作为目标源代码;其中,
在根据AADL建模技术将所述目标源代码进行建模后生成AADL模型之前,还包括:
基于形式化模型转换技术将SEDS中关于系统、设备、软件接口部分进行转换后形成SEDS模型;
根据SEDS中接口描述、协议和程序的说明及文档将其对应的功能逻辑,基于形式化的性质描述语言进行功能逻辑的刻画。
2.根据权利要求1所述的方法,其特征在于,所述基于预设转换方式将所述AADL模型转换生成时间自动机模型,包括:
基于预设时间抽象状态机将所述AADL模型映射生成时间抽象状态机模型;
根据转换算法将所述时间抽象状态机模型转换成时间自动机模型。
3.根据权利要求2所述的方法,其特征在于,所述基于预设时间抽象状态机将所述AADL模型映射生成时间抽象状态机模型,包括:
获取预设抽象状态机的抽象语法;
基于所述抽象语法获取所述AADL模型和所述预设抽象状态机的映射关系;
根据所述映射关系将所述AADL模型映射生成时间抽象状态机模型。
4.根据权利要求1所述的方法,其特征在于,所述利用预设模型检测器对所述时间自动机模型进行检查,包括:
根据预设模型检测器对所述目标源代码对应的逻辑正确性进行验证生成验证结果;
当所述验证结果中出现死锁时,通过获取死锁产生路径来去除死锁。
5.根据权利要求1所述的方法,其特征在于,所述利用预设模型检测器对所述时间自动机模型进行检查,包括:
根据模型检测器对所述目标源代码对应的变量进行检查生成检查结果;
当所述检查结果和预设结果不一致时,输出错误信息。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海丰蕾信息科技有限公司,未经上海丰蕾信息科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010011065.1/1.html,转载请声明来源钻瓜专利网。





