[发明专利]一种树表结合驱动Windows/Linux平台通讯协议源代码自动生成方法有效
申请号: | 201410233790.8 | 申请日: | 2014-05-29 |
公开(公告)号: | CN103984555B | 公开(公告)日: | 2017-03-15 |
发明(设计)人: | 张子利;范亚;周保琢;唐经天;张波;王诗利;刘正敏;宋勇 | 申请(专利权)人: | 四川航天系统工程研究所 |
主分类号: | G06F9/44 | 分类号: | G06F9/44;G06F11/36 |
代理公司: | 四川省成都市天策商标专利事务所51213 | 代理人: | 伍孝慈 |
地址: | 610000 四川省成都*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 种树 结合 驱动 windows linux 平台 通讯 协议 源代码 自动 生成 方法 | ||
1.一种树表结合驱动特定平台通讯协议源代码自动生成方法,其特征在于:包括数据帧建模管理模块、源代码自动生成模块、代码仿真检验模块和开发包构建模块,
数据帧建模管理模块对于任何一个数据帧,均建立一个数据帧工程,然后通过数据帧建模管理工具,采用树与表结构结合的方式实现对数据帧分段管理、段内数据结构管理与数据帧校验位管理;
源代码自动生成模块,首先采用数据业务视图、数据结构视图与数据流视图三层来构建数据包的数据结构,以此实现数据包的通讯层代码组织,然后调用相关配置,基于相关规则驱动自动生成c++/c#等语言平台的通讯数据帧编码与解码源代码,从而实现数据帧描述表格的修改直接驱动通讯代码自动生成;
代码仿真检验模块,该模块在源代码自动生成模块自动生成编解码源代码基础上,同时生成一组入口与调用代码,然后调用第三方编译程序,生成源代码仿真程序,配合相关通讯测试用例数据,实现自动生成代码的测试检验;
开发包构建模块,该模块主要实现对经过代码仿真检验模块仿真检验合格的源代码封装为可被其他应用调用的开发包。
2.根据权利要求1所述的一种树表结合驱动特定平台通讯协议源代码自动生成方法,其特征在于:所述源代码自动生成模块分为数据结构源代码生成和编解码的源代码生成,所述数据结构源代码生成分为数据业务层数据类生成、数据结构层数据类生成和数据流层数据类生成:所述编解码的源代码生成分为编码函数源代码生成和解码函数源代码生成。
3.根据权利要求2所述的一种树表结合驱动特定平台通讯协议源代码自动生成方法,其特征在于:
所述数据业务层数据类生成过程,首先从数据帧建模管理模块构建数据帧形式化描述的树状图,然后构建相关数据结构信息,首先采用深度优先的原则标记出整棵树中其子节点为数据结构节点的数据分段节点,同时生成其数据类信息,然后根据树节点由深到浅一层一层的生成其数据类信息;
数据结构层数据类生成过程,数据结构层的数据类信息分为两种情况,第一种情况如果所有分段均为固定长度,则数据类采用一维平面结构,首先从数据帧建模管理模块构建数据帧形式化描述的树状图,采用深度优先的原则,由根节点到数据结构节点经过的所有分段节点缩写名采用分割符号“_”串接后生成最终数据类的属性名;第二种情况如果所有分段存在非固定长度,则采用多层结构,其数据类结构生成方法采用非固定长度的数组形式确定,其长度可以在运行时确定;
数据流层数据类生成过程,主要为BYTE格式数组,其长度可以在运行时确定。
4.根据权利要求2所述的一种树表结合驱动特定平台通讯协议源代码自动生成方法,其特征在于:
编码函数源代码生成过程,该编码函数的输入为数据业务层数据类对象,输出为数据流信息,对于非固定长度数据帧根据数据业务层数据类对象相关数组个数确定数据流运行时长度与部分数据结构层数据类对象运行时长度,并将具体长度信息写入长度确定位中,在确定长度基础上,首先根据数据结构节点的编码代码确定每个数据结构层数据类对象中属性的编码过程,然后将数据结构层数据类对象按照树节点的组织顺序写入数据流中,完成最终数据流组装,同时根据设置确定是否在每个变换环节加入日志记录代码;
解码函数源代码生成过程,该编码函数的输入为数据流信息,输出为数据业务层数据类对象,对于非固定长度数据帧根据数据业务层数据类对象相关数组个数确定数据流运行时长度与部分数据结构层数据类对象运行时长度,进行指定帧的长度确定位,然后将数据流信息分段写入数据结构层数据类对象属性,然后将数据结构层数据对象属性按照结构一一对应的解码并赋值给数据业务层数据类对象属性,完成解码过程,同时根据设置确定是否在每个变换环节加入日志记录代码。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于四川航天系统工程研究所,未经四川航天系统工程研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410233790.8/1.html,转载请声明来源钻瓜专利网。