[发明专利]一种机载IMA架构下的框架代码自动生成方法及装置在审
| 申请号: | 201910384413.7 | 申请日: | 2019-05-09 |
| 公开(公告)号: | CN110134383A | 公开(公告)日: | 2019-08-16 |
| 发明(设计)人: | 邢亮;牟明;路帅;陈宁;吴楠 | 申请(专利权)人: | 中国航空工业集团公司西安航空计算技术研究所 |
| 主分类号: | G06F8/30 | 分类号: | G06F8/30 |
| 代理公司: | 中国航空专利中心 11008 | 代理人: | 王世磊 |
| 地址: | 710000 *** | 国省代码: | 陕西;61 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 软件运行 类对象 元素生成 调用 架构 框架代码 自动生成 分区级 初始化代码 架构模型 应用分区 质量问题 主体框架 解析 分区 进程 | ||
1.一种机载IMA架构下的框架代码自动生成方法,其特征在于,在机载IMA架构下,所述方法包括:
解析IMA软件架构模型,生成软件运行时构件类对象实例;
调用软件运行时构件类对象实例的模块级元素生成主体框架代码;
调用软件运行时构件类对象实例的分区级元素生成应用分区初始化代码;
调用软件运行时构件类对象实例的分区级元素生成分区中进程相关代码。
2.根据权利要求1所述的方法,其特征在于,所述解析IMA软件架构模型,生成软件运行时构件类对象实例,包括:
将IMA软件架构模型自顶向下分为模块、分区、任务三级;
分别定义模块、分区、任务的XML模式;
将模块、分区、任务的相关资源及通信关系通过XML建模,形成XML架构模型;
解析XML架构模型,建立软件运行时构件类对象实例,软件运行时构件类对象实例的元素包括:软件运行时构件类对应的模块、分区、任务、端口、缓冲区、黑板、信号量、事件、分区间通信及分区内通信对象和实例。
3.根据权利要求2所述的方法,其特征在于,所述根据软件运行时构件类元素库的元素生成主体框架代码,包括:
主体框架代码以软件架构运行时构件类对象实例为输入,遍历模块中的每个分区对象,为每个分区新建以分区名为文件名的C文件;
依次生成头文件引用、进程函数定义、进程属性表定义和分区初始化函数定义,将生成的代码以字符流的形式写入C文件中;
其中,C文件用于存储主体框架代码。
4.根据权利要求3所述的方法,其特征在于,所述调用软件运行时构件类对象实例的分区级元素生成应用分区初始化代码,包括:
遍历软件运行时构件类对象实例中分区的端口,生成创建每个端口的代码;
遍历软件运行时构件类对象实例中分区内通信对象,根据分区内通信对象的通信机制,生成创建缓冲区、黑板、信号量、事件的代码;
遍历软件运行时构件类对象实例中分区内的进程对象,生成创建进程和启动进程的代码,
将上述生成的代码以字符流的形式写入C文件中。
5.根据权利要求4所述的方法,其特征在于,所述调用软件运行时构件类对象实例的分区级元素生成分区中进程相关代码,包括:
以软件运行时构件类对象实例为输入,遍历分区中的每个任务对象,为每个任务生成它的功能函数;
若功能函数是周期性函数,则功能函数内的代码按周期循环执行;
遍历软件运行时构件类对象实例中任务的输入对象;
若输入对象关联分区间通信,则生成从队列端口或采样端口读取消息的代码;
若输入对象关联分区内通信,则生成从缓冲区或黑板读取消息,或,获取信号量或事件的代码;
遍历进程对象的输出对象;
若输出对象关联分区间通信,则生成从端口发送消息的代码;
若输出对象关联分区内通信,则生成向缓冲区或黑板写入消息,或释放信号量或事件的代码;
将上述生成的代码以字符流的形式写入C文件中。
6.一种机载IMA架构下的框架代码自动生成装置,其特征在于,在机载IMA架构下,所述装置包括:
解析模块,用于解析IMA软件架构模型,生成软件运行时构件类对象实例;
第一生成模块,用于调用软件运行时构件类对象实例的模块级元素生成主体框架代码;
第二生成模块,用于调用软件运行时构件类对象实例的分区级元素生成应用分区初始化代码;
第三生成模块,用于调用软件运行时构件类对象实例的分区级元素生成分区中进程相关代码。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国航空工业集团公司西安航空计算技术研究所,未经中国航空工业集团公司西安航空计算技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910384413.7/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种实物化编程方法
- 下一篇:一种直升式的头盔下高空漫游的虚拟现实系统





