[发明专利]一种基于航空嵌入式开放体系架构的可移植单元代码自动生成方法有效
申请号: | 202010593137.8 | 申请日: | 2020-06-26 |
公开(公告)号: | CN111782194B | 公开(公告)日: | 2022-09-13 |
发明(设计)人: | 马春燕;雍二柯;王保原;谭乔煜 | 申请(专利权)人: | 西北工业大学 |
主分类号: | G06F8/33 | 分类号: | G06F8/33;G06F40/186 |
代理公司: | 西安匠星互智知识产权代理有限公司 61291 | 代理人: | 陈星 |
地址: | 710072 *** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 航空 嵌入式 开放 体系 架构 移植 单元 代码 自动 生成 方法 | ||
1.一种基于航空嵌入式开放体系架构的可移植单元代码自动生成方法,其特征在于:包括以下步骤:
步骤1:设计可移植单元端口通信消息C语言代码模板;
所述端口通信消息由一个或多个消息实体组成,消息实体由消息类型构成,所述消息类型包括IDL基本类型、IDL Fixed类型、IDL 枚举类型和序列类型;
各种消息类型设计代码模板如下:
1)IDL基本类型代码模板
IDL基本类型代码模板包括文件介绍注释、防止重复引用的#ifndef/#define/#endif、FACE基本类型对照文件的引用以及IDL基本类型起别名语句;
2)IDL Fixed类型代码模板
IDL Fixed类型代码模板包括文件介绍注释、防止重复引用的#ifndef/#define/#endif、FACE基本类型对照文件的引用、IDL Fixed属性定义结构体以及IDL Fixed类型起别名语句;
3)IDL 枚举类型代码模板
IDL 枚举类型代码模板包括文件介绍注释、防止重复引用的#ifndef/#define/#endif、枚举元素宏定义以及IDL 枚举类型起别名语句;
4)序列类型代码模板
序列类型代码模板包括文件介绍注释、防止重复引用的#ifndef/#define/#endif、序列元素头文件的引用、序列属性定义结构体以及IDL序列类型起别名语句;
步骤2:设计可移植单元内部业务逻辑C语言代码模板;
所述可移植单元内部业务逻辑包括可移植单元调度、可移植单元生命周期管理和可移植单元内部行为框架;可移植单元内部业务逻辑模板如下:
1)可移植单元调度代码模板
可移植单元调度代码模板包括文件介绍注释、可移植单元生命周期管理头文件的引用、可移植单元传输服务注入接口头文件的引用、APEX接口的引用、日志服务头文件的引用以及返回值为空的主函数;
2)可移植单元生命周期管理代码模板
可移植单元生命周期管理代码包括包含生命周期管理头文件以及生命周期管理实现源文件;所述生命周期管理头文件包括可移植单元初始化、可移植单元启动和可移植单元终止的声明;所述生命周期管理实现源文件包括可移植单元初始化、可移植单元启动和可移植单元终止的实现;
生命周期管理头文件代码模板包括文件介绍注释、防止重复引用的#ifndef/#define/#endif、可移植单元初始化声明、可移植单元启动声明以及可移植单元终止声明;
生命周期管理实现源文件代码模板包括文件介绍注释、可移植单元生命周期管理头文件的引用、可移植单元内部行为框架头文件的引用、可移植单元传输服务注入接口头文件的引用、APEX接口的引用、日志服务头文件的引用、传输服务连接名称的定义与赋值、可移植单元初始化的实现、可移植单元启动的实现以及可移植单元终止的实现;
3)可移植单元内部行为框架代码模板
可移植单元内部行为框架代码包括可移植单元特定行为声明头文件和可移植单元特定行为实现源文件;所述可移植单元特定行为声明包括特定行为初始化、特定行为启动和特定行为终止的声明;所述可移植单元特定行为实现包括特定行为初始化、特定行为启动和特定行为终止的实现代码框架;
可移植单元特定行为声明头文件代码模板包括文件介绍注释、防止重复引用的#ifndef/#define/#endif、可移植单元特定行为初始化声明、可移植单元特定行为启动声明、可移植单元特定行为终止声明以及APEX进程进入点声明;
可移植单元特定行为实现源文件代码模板包括文件介绍注释、可移植单元内部行为框架头文件的引用、可移植单元传输服务注入接口头文件的引用、日志服务头文件的引用、可移植单元特定行为初始化的实现代码框架、可移植单元特定行为启动的实现代码框架、可移植单元特定行为终止的实现代码框架以及APEX进程进入点的实现代码框架;
步骤3:设计可移植单元传输服务注入接口C语言代码模板
可移植单元传输服务注入接口包括各个端口通信消息实例化传输服务的接口;不同的可移植单元端口消息模型能够转化成对应的可移植单元传输服务注入接口的声明头文件和实现源文件;
其中声明头文件包括创建连接、销毁连接以及发送或接收消息的声明,其中当端口为输出端口,则为发送消息,当端口为输入端口,则为接收消息;而实现源文件包括创建连接、销毁连接以及发送或接收消息的实现;
可移植单元传输服务注入接口的头文件代码模板包括文件介绍注释、防止重复引用的#ifndef/#define/#endif、当前端口通信消息头文件的引用、传输服务头文件的引用、通信连接名称声明、通信模式类型声明、通信连接ID声明、通信连接方向声明、消息大小声明、创建连接声明、销毁连接声明以及发送或接收当前端口特定消息声明;
可移植单元传输服务注入接口的源文件代码模板包括文件介绍注释、可移植单元传输服务注入接口头文件的引用、日志服务头文件的引用、创建连接实现、销毁连接实现以及发送或接收当前端口特定消息实现;
步骤4:解析FACE开放体系架构可移植单元模型文件;
根据步骤1~步骤3设计的代码模板,解析FACE开放体系架构可移植单元模型文件,获取代码模板所需信息,其中,
可移植单元端口通信消息需要消息类型、消息别名和消息属性元素信息;
可移植单元内部业务逻辑需要可移植单元类型、可移植单元名称、可移植单元进程的属性、可移植单元线程的属性和可移植单元IO访问情况信息;
可移植单元传输服务注入接口需要通信端口类型、通信端口名称和端口通信消息信息;
步骤5:根据模型信息实例化代码模板;
采用FreeMarker模板引擎,调用可移植单元代码模板,将获取的可移植单元模型信息传入模板中;根据模板设计,将自动生成的不同代码模块输出到对应的可移植单元C语言代码文件中,并对代码文件进行重命名。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西北工业大学,未经西北工业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010593137.8/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种多功能房门
- 下一篇:一种基于潜质挖掘的学习效果评价和促进方法