[发明专利]一种机载IMA架构下的框架代码自动生成方法及装置在审
申请号: | 201910384413.7 | 申请日: | 2019-05-09 |
公开(公告)号: | CN110134383A | 公开(公告)日: | 2019-08-16 |
发明(设计)人: | 邢亮;牟明;路帅;陈宁;吴楠 | 申请(专利权)人: | 中国航空工业集团公司西安航空计算技术研究所 |
主分类号: | G06F8/30 | 分类号: | G06F8/30 |
代理公司: | 中国航空专利中心 11008 | 代理人: | 王世磊 |
地址: | 710000 *** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 软件运行 类对象 元素生成 调用 架构 框架代码 自动生成 分区级 初始化代码 架构模型 应用分区 质量问题 主体框架 解析 分区 进程 | ||
本发明一种机载IMA架构下的框架代码自动生成方法及装置。该方法包括:解析IMA软件架构模型,生成软件运行时构件类对象实例;调用软件运行时构件类对象实例的模块级元素生成主体框架代码;调用软件运行时构件类对象实例的分区级元素生成应用分区初始化代码;调用软件运行时构件类对象实例的分区级元素生成分区中进程相关代码。本发明解决了IMA架构下重复性编码、编码质量问题。
技术领域
本发明属于软件领域,涉及一种综合模块化体系架构(Integrated ModularArchitecture,IMA)架构下的框架代码自动生成方法及装置。
背景技术
航空电子系统作为安全关键系统的典型代表,其系统架构在从传统的联邦式体系结构到IMA演变过程中,之前由机械或硬件实现的功能逐渐由软件实现,由此导致了软件复杂度规模大幅增长。例如波音787的飞控系统大约650万行代码。开发如此庞大和复杂的软件,除了要求软件功能正确,还要具有良好的质量保证。代码作为机载软件重要的产品要素之一,对软件质量具有无可替代的影响。目前大多数机载软件开发人员在仍然采用手工编码的方式进行代码编写,这种方式在一定程度上虽然能够灵活控制开发流程,但也存在其固有的弊端。例如,进行大规模机载软件开发时,大量的编码活动使软件开发人员局限于重复性编码工作中,除了会很容易引起代码质量的问题、增加软件开发成本,同时也很难使开发人员聚焦于在软件架构设计层面对软件整体功能和性能进行设计、分析和验证。
发明内容
发明目的:提供了一种机载IMA架构下的框架代码自动生成方法及装置,解决了IMA架构下重复性编码、编码质量问题。
第一方面,提供一种机载IMA架构下的框架代码自动生成方法,在机载IMA架构下,所述方法包括:
解析IMA软件架构模型,生成软件运行时构件类对象实例;
调用软件运行时构件类对象实例的模块级元素生成主体框架代码;
调用软件运行时构件类对象实例的分区级元素生成应用分区初始化代码;
调用软件运行时构件类对象实例的分区级元素生成分区中进程相关代码。
进一步的,所述解析IMA软件架构模型,生成软件运行时构件类对象实例,包括:
将IMA软件架构模型自顶向下分为模块、分区、任务三级;
分别定义模块、分区、任务的XML模式;
将模块、分区、任务的相关资源及通信关系通过XML建模,形成XML架构模型;
解析XML架构模型,建立软件运行时构件类对象实例,软件运行时构件类对象实例的元素包括:软件运行时构件类对应的模块、分区、任务、端口、缓冲区、黑板、信号量、事件、分区间通信及分区内通信对象和实例。
进一步的,所述根据软件运行时构件类元素库的元素生成主体框架代码,包括:
主体框架代码以软件架构运行时构件类对象实例为输入,遍历模块中的每个分区对象,为每个分区新建以分区名为文件名的C文件;
依次生成头文件引用、进程函数定义、进程属性表定义和分区初始化函数定义,将生成的代码以字符流的形式写入C文件中;
其中,C文件用于存储主体框架代码。
进一步的,所述调用软件运行时构件类对象实例的分区级元素生成应用分区初始化代码,包括:
遍历软件运行时构件类对象实例中分区的端口,生成创建每个端口的代码;
遍历软件运行时构件类对象实例中分区内通信对象,根据分区内通信对象的通信机制,生成创建缓冲区、黑板、信号量、事件的代码;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国航空工业集团公司西安航空计算技术研究所,未经中国航空工业集团公司西安航空计算技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910384413.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种实物化编程方法
- 下一篇:一种直升式的头盔下高空漫游的虚拟现实系统