【技术实现步骤摘要】
一种机载IMA架构下的框架代码自动生成方法及装置
本专利技术属于软件领域,涉及一种综合模块化体系架构(IntegratedModularArchitecture,IMA)架构下的框架代码自动生成方法及装置。
技术介绍
航空电子系统作为安全关键系统的典型代表,其系统架构在从传统的联邦式体系结构到IMA演变过程中,之前由机械或硬件实现的功能逐渐由软件实现,由此导致了软件复杂度规模大幅增长。例如波音787的飞控系统大约650万行代码。开发如此庞大和复杂的软件,除了要求软件功能正确,还要具有良好的质量保证。代码作为机载软件重要的产品要素之一,对软件质量具有无可替代的影响。目前大多数机载软件开发人员在仍然采用手工编码的方式进行代码编写,这种方式在一定程度上虽然能够灵活控制开发流程,但也存在其固有的弊端。例如,进行大规模机载软件开发时,大量的编码活动使软件开发人员局限于重复性编码工作中,除了会很容易引起代码质量的问题、增加软件开发成本,同时也很难使开发人员聚焦于在软件架构设计层面对软件整体功能和性能进行设计、分析和验证。
技术实现思路
专利技术目的:提供了一种机载IMA架构下的框架代码自动生成方法及装置,解决了IMA架构下重复性编码、编码质量问题。第一方面,提供一种机载IMA架构下的框架代码自动生成方法,在机载IMA架构下,所述方法包括:解析IMA软件架构模型,生成软件运行时构件类对象实例;调用软件运行时构件类对象实例的模块级元素生成主体框架代码;调用软件运行时构件类对象实例的分区级元素生成应用分区初始化代码;调用软件运行时构件类对象实例的分区级元素生成分区中进程相关代码 ...
【技术保护点】
1.一种机载IMA架构下的框架代码自动生成方法,其特征在于,在机载IMA架构下,所述方法包括:解析IMA软件架构模型,生成软件运行时构件类对象实例;调用软件运行时构件类对象实例的模块级元素生成主体框架代码;调用软件运行时构件类对象实例的分区级元素生成应用分区初始化代码;调用软件运行时构件类对象实例的分区级元素生成分区中进程相关代码。
【技术特征摘要】
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软件架构模型,生成软...
【专利技术属性】
技术研发人员:邢亮,牟明,路帅,陈宁,吴楠,
申请(专利权)人:中国航空工业集团公司西安航空计算技术研究所,
类型:发明
国别省市:陕西,61
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。