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