CN103984555A - 一种树表结合驱动特定平台通讯协议源代码自动生成方法 - Google Patents
一种树表结合驱动特定平台通讯协议源代码自动生成方法 Download PDFInfo
- Publication number
- CN103984555A CN103984555A CN201410233790.8A CN201410233790A CN103984555A CN 103984555 A CN103984555 A CN 103984555A CN 201410233790 A CN201410233790 A CN 201410233790A CN 103984555 A CN103984555 A CN 103984555A
- Authority
- CN
- China
- Prior art keywords
- data
- source code
- code
- frame
- module
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Landscapes
- Stored Programmes (AREA)
Abstract
本发明公开了一种树表结合驱动特定平台通讯协议源代码自动生成方法,包括数据帧建模管理模块、源代码自动生成模块、代码仿真检验模块和开发包构建模块。与现有源代码自动生成方法相比,本发明首先采用树形结构结合二维表格描述数据帧格式,完成对数据帧的建模。以此实现数据包的通讯层代码组织,然后调用相关配置,基于相关规则驱动自动生成c++/c#等语言平台的通讯数据帧编码与解码源代码,从而实现数据帧描述表格的修改直接驱动通讯代码自动生成,实现自动生成代码的测试检验,方便应用程序集成调用,可大大减少了通讯协议自身修改导致的代码修改与联合调试的工作周期,以及由代码修改引起系统错误发生的情况。
Description
技术领域
本发明涉及一种应用程序中协议源代码实现技术,尤其涉及一种树表结合驱动特定平台通讯协议源代码自动生成方法。
背景技术
传统的通讯协议源程序自动生成技术大多基于ASN.1、SDL或TTCN等数据帧建模语言技术实现的,对于企业中应用软件开发人员来说,这些数据帧建模语言存在一定的学习曲线,导致目前在企业分布式应用程序中代码自动生成技术应用并不广泛,大多通讯程序仍然依靠软件开发人员直接解读相关指定的通讯协议原始文档来手动编程,从数学的角度来说,由于采用自然语言描述的通讯协议规范文档缺乏一定的严谨性,加之部分软件开发人员对执行通讯协议规范重要程度不够,因此很多应用系统最终都无法满足相关通讯协议标准规范的要求,或部分满足。另外在应用系统研制过程中随着相关需求变化,往往会带来大量通讯层协议的修改,也会导致通讯代码修改、联合调试等工作的反复,这些机械而重复的修改与通讯调试工作占用了软件开发人员宝贵的研发精力,而且人工修改代码容易导致系统出错。这些因素综合起来导致企业各分布式应用系统互联互通测试周期长、协调难度大,对企业应用互操作一体化建设带来了较大的难度与成本。
发明内容
本发明的目的就在于提供一种结合目前大多数企业应用软件开发人员比较习惯应用二维表格来描述分布式应用程序中涉及的通讯协议用树与表格联合描述通讯协议,并基于其驱动特定平台的源代码自动生成方法与技术,并解决上述问题的基于树形结构结合表格驱动的特定平台通讯协议源代码自动生成方法。
为了实现上述目的,本发明采用的技术方案是:一种树表结合驱动特定平台通讯协议源代码自动生成方法,包括数据帧建模管理模块、源代码自动生成模块、代码仿真检验模块和开发包构建模块,
数据帧建模管理模块对于任何一个数据帧,均建立一个数据帧工程,然后通过数据帧建模管理工具,采用树与表结构结合的方式实现对数据帧分段管理、段内数据结构管理与数据帧校验位管理;
源代码自动生成模块,首先采用数据业务视图、数据结构视图与数据流视图三层来构建数据包的数据结构,以此实现数据包的通讯层代码组织,然后调用相关配置,基于相关规则驱动自动生成c++/c#等语言平台的通讯数据帧编码与解码源代码,从而实现数据帧描述表格的修改直接驱动通讯代码自动生成;
代码仿真检验模块,该模块在源代码自动生成模块自动生成编解码源代码基础上,同时生成一组入口与调用代码,然后调用第三方编译程序,生成源代码仿真程序,配合相关通讯测试用例数据,实现自动生成代码的测试检验;
开发包构建模块,该模块主要实现对经过代码仿真检验模块仿真检验合格的源代码封装为可被其他应用调用的开发包;
作为优选,所述源代码自动生成模块分为数据结构源代码生成和编解码的源代码生成,所述数据结构源代码生成分为数据业务层数据类生成、数据结构层数据类生成和数据流层数据类生成:所述编解码的源代码生成分为编码函数源代码生成和解码函数源代码生成;
作为优选,所述数据业务层数据类生成过程,首先从数据帧建模管理模块构建数据帧形式化描述的树状图,然后构建相关数据结构信息,首先采用深度优先的原则标记出整棵树中其子节点为数据结构节点的数据分段节点,同时生成其数据类信息,然后根据树节点由深到浅一层一层的生成其数据类信息;
数据结构层数据类生成过程,数据结构层的数据类信息分为两种情况,第一种情况如果所有分段均为固定长度,则数据类采用一维平面结构,首先从数据帧建模管理模块构建数据帧形式化描述的树状图,采用深度优先的原则,由根节点到数据结构节点经过的所有分段节点缩写名采用分割符号“_”串接后生成最终数据类的属性名;第二种情况如果所有分段存在非固定长度,则采用多层结构,其数据类结构生成方法采用非固定长度的数组形式确定,其长度可以在运行时确定;
数据流层数据类生成过程,主要为BYTE格式数组,其长度可以在运行时确定;
作为优选,编码函数源代码生成过程,该编码函数的输入为数据业务层数据类对象,输出为数据流信息,对于非固定长度数据帧根据数据业务层数据类对象相关数组个数确定数据流运行时长度与部分数据结构层数据类对象运行时长度,并将具体长度信息写入长度确定位中,在确定长度基础上,首先根据数据结构节点的编码代码确定每个数据结构层数据类对象中属性的编码过程,然后将数据结构层数据类对象按照树节点的组织顺序写入数据流中,完成最终数据流组装,同时根据设置确定是否在每个变换环节加入日志记录代码;
解码函数源代码生成过程,该编码函数的输入为数据流信息,输出为数据业务层数据类对象,对于非固定长度数据帧根据数据业务层数据类对象相关数组个数确定数据流运行时长度与部分数据结构层数据类对象运行时长度,进行指定帧的长度确定位,然后将数据流信息分段写入数据结构层数据类对象属性,然后将数据结构层数据对象属性按照结构一一对应的解码并赋值给数据业务层数据类对象属性,完成解码过程,同时根据设置确定是否在每个变换环节加入日志记录代码。
与现有技术相比,本发明的优点在于:本发明首先采用树形结构结合二维表格描述数据帧格式,完成对数据帧的建模。在代码自动生成过程中,将数据通讯分为接收端与发送端,两端均分为数据业务视图、数据结构视图与数据流视图三层来构建数据包的数据结构,以此实现数据包的通讯层代码组织,然后调用相关配置,基于相关规则驱动自动生成c++/c#等语言平台的通讯数据帧编码与解码源代码,从而实现数据帧描述表格的修改直接驱动通讯代码自动生成。在生成编解码程序基础上,同时生成一组入口与调用代码,然后调用第三方编译程序,生成源代码仿真程序,配合相关通讯测试用例数据,实现自动生成代码的测试检验,在代码自动生成并仿真检验通过后,调用相关第三方编译程序生成特定平台的动态链接库文件(如windows平台下的dll文件),方便应用程序集成调用。本发明可大大减少了通讯协议自身修改导致的代码修改与联合调试的工作周期,以及由代码修改引起系统错误发生的情况。
附图说明
图1为本发明系统结构框图;
图2为某分布式系统的多设备状态监视数据帧组成结构图;
图3为仿真运行分析模块消息序列图生成流程图;
图4为数据帧开发包构建流程图;
图5为编码与解码仿真程序运行结构流程图。
具体实施方式
实施例:下面将对本发明作进一步说明,一种基于树形结构结合表格驱动的特定平台通讯协议源代码自动生成方法,具体包括:数据帧建模管理模块、源代码自动生成模块、代码仿真检验模块和开发包构建模块,如图1所示;
一、数据帧建模管理模块:
对于任何一个数据帧,均需要建立一个数据帧工程,然后通过数据帧建模管理工具,采用自顶向下、逐层细化的方式对其描述,本模块采用树与表结构结合的方式实现对数据帧结构的,具体包括:数据帧分段管理、段内数据结构管理与数据帧校验位管理。
1)数据帧分段管理
按照设计人员理解习惯将数据帧分为几个抽象段,每个段包含的特征信息如下:分段编号、分段英文名称、分段中文名称、分段缩写英文名、长度是否固定、是否为数组形式、数组长度,上述抽象段组合后构成一个完整数据帧,抽象段可以层层嵌套,直至最终数据结构为止,数据帧分段类似树结构的中间节点,数据节点类似树结构的叶子。
2)段内数据结构管理
段内数据结构一般采用一个表格来表示,每一行信息代表一个段内属性信息,每一列代表一个属性信息的特征信息,特征信息主要包括:属性编号、属性英文名称、属性中文名称、属性缩写英文名、长度是否固定、是否为数组形式、数组长度、数据类型、映射字节长度、取值范围、缺省值、是否业务层属性、描述信息、编码代码、解码代码、长度确定位标识(填写分段或者属性名称)。其中基本数据类型主要包括:uint8、uint16、uint32、int8、int16、int32、byte、bool、enum、float、double和string,其语义同C#语义相同。
一般数据帧采用两层描述方式,更加简单的数据帧甚至可以忽略分段信息,将数据帧就分为一段,直接采用段内数据结构一层结构描述。
3)数据帧校验位管理
在编辑完成数据帧分段信息与段内数据结构信息基础上,设计人员需要指出哪个段属于数据帧校验位所在分段,以及该段中哪个属性属于校验位,包括校验位的计算方法(如CRC校验,需要指定计算覆盖的范围和赋值方式等信息)。
以图2中数据帧来说,该环节主要完成对设备状态监视数据帧的抽象段建模,该数据帧包括三个抽象段:报文头,报文内容和报文尾,三者共同组成整个数据帧,抽象段信息描述如表1所示,报文头段内数据结构对属性:报文标识、报文长度、信源标识、信宿标识、报文序号、报文发送时刻做详细的信息编辑,报文内容段内数据结构对属性:设备类型、设备数量、设备状态做详细的信息编辑,报文尾段内数据结构对属性:报尾预留与CRC校验位做详细的信息编辑,由于内容较多,在此不再一一赘述。
表1设备状态监视数据帧分段信息描述表
二、源代码自动生成:
该模块首先采用数据业务视图、数据结构视图与数据流视图三层来构建数据包的数据结构,以此实现数据包的通讯层代码组织,然后调用相关配置,基于相关规则驱动自动生成c++/c#等语言平台的通讯数据帧编码与解码源代码,从而实现数据帧描述表格的修改直接驱动通讯代码自动生成。
1)数据结构源代码生成
1-1)数据业务层数据类生成过程:首先从数据帧建模管理模块构建数据帧形式化描述的树状图,然后构建相关数据结构信息,首先采用深度优先的原则标记出整棵树中其子节点为数据结构节点的数据分段节点,同时生成其数据类信息,然后根据树节点由深到浅一层一层的生成其数据类信息。
1-2)数据结构层数据类生成过程:数据结构层的数据类信息分为两种情况,第一种情况如果所有分段均为固定长度,那么数据类采用一维平面结构,首先从数据帧建模管理模块构建数据帧形式化描述的树状图,采用深度优先的原则,由根节点到数据结构节点经过的所有分段节点缩写名采用分割符号“_”串接后生成最终数据类的属性名;第二种情况如果所有分段存在非固定长度,可以采用多层结构,其数据类结构生成方法同数据业务层数据类生成过程类似,采用非固定长度的数组形式确定,其长度可以在运行时确定。
1-3)数据流层数据类生成过程:数据流层数据类比较简单,主要为BYTE格式数组,其长度可以在运行时确定。
2)编解码的源代码生成
2-1)编码函数源代码生成过程:该编码函数的输入为数据业务层数据类对象,输出为数据流信息。对于非固定长度数据帧根据数据业务层数据类对象相关数组个数确定数据流运行时长度与部分数据结构层数据类对象运行时长度,特别是要将具体长度信息写入长度确定位中,在确定长度基础上,首先根据数据结构节点的编码代码确定每个数据结构层数据类对象中属性的编码过程然后将数据结构层数据类对象按照树节点的组织顺序写入数据流中,完成最终数据流组装。同时根据设置确定是否在每个变换环节加入日志记录代码,便于仿真分析。
2-2)解码函数源代码生成过程:该编码函数的输入为数据流信息,输出为数据业务层数据类对象。对于非固定长度数据帧根据数据业务层数据类对象相关数组个数确定数据流运行时长度与部分数据结构层数据类对象运行时长度,一般需要实现指定帧的长度确定位,然后将数据流信息分段写入数据结构层数据类对象属性,然后将数据结构层数据对象属性按照结构一一对应的解码并赋值给数据业务层数据类对象属性,完成解码过程,同时根据设置确定是否在每个变换环节加入日志记录代码,便于仿真分析。
三、代码仿真检验:该模块在第二部分自动生成编解码源代码基础上,同时生成一组入口与调用代码,然后调用第三方编译程序,生成源代码仿真程序,配合相关通讯测试用例数据,实现自动生成代码的测试检验。
1)仿真程序构建
首先根据选定的仿真检验平台,生成不同运行平台(Windows/Linux等)的入口调用程序,一般为Main函数,由于仿真过程需要编码与解码两端,因此需要生成两个入口程序文件,一个用于编码端,一个用于解码端。其中编码端源程序按照执行顺序包括:测试用例数据读取、数据业务层信息编码、数据结构层信息编码、数据流层编码、数据流发送五个部分。解码端源程序按照执行顺序包括:数据流接收、数据流层解码、数据结构层信息解码、数据业务层信息解码、测试用例数据保存五个部分。并且在数据业务层、数据结构层、数据流层的信息编解码过程中会自动调用相关日志记录模块对信息进行保存,便于后续分析,具体仿真运行其结构流程如图5所示。然后借助于第三方的编译器(如VC++编译器、C#编译器等),分别将编码端源程序与编码端源程序编译成最终的目标可执行文件(如windows平台的EXE文件)。
2)仿真运行分析
测试用例数据文件根据数据帧对应树结构形式一般采用XML文件格式,测试用例数据文件中每个用例数据帧都具有唯一的编号信息,分别运行上述编码端仿真程序与解码端仿真程序,然后在编码端仿真程序中加载测试用例数据文件进行测试运行,这样每个测试用户数据文件会对应一个仿真运行的日志文件,单个日志信息条目包括:数据帧唯一编号、消息发送者、消息接收者、动作名称、动作数据信息、动作时间,然后构建消息序列图,便于分析人员分析相关信息,每个用户数据帧的整个通讯过程可以构建一个消息序列图,整个测试用例数据文件可以构建一组消息序列图。其中由日志文件构建消息序列图具体流程如图3所示。
四、开发包构建:该模块主要实现对经过第三步仿真检验合格的源代码封装为可被其他应用调用的开发包,该过程主要覆盖三个部分,具体包括:编译链接、开发包打包与开发包入库,如图4所示。
1)编译链接
本部分实现对数据帧自动生成的源代码进行编译链接,此发明借助于第三方的编译器(如VC++编译器、C#编译器等),链接成功生成动态链接库文件,链接过程提示界面展现的信息为第三方的编译器(如VC++编译器、C#编译器等)给出的提示信息,该提示信息可以通过本程序与第三方的编译器进程之间的管道通讯获取。
2)开发包打包
一个数据帧自动生成的源代码成功经过上述编译和链接过程后,系统将得到对应代码生成的动态链接库文件(如.dll文件与.lib文件)与头文件(如.h文件),然后提示用户输入开发包名称,如系统输入DeviceStatusM,系统将这些库文件抽取复制后压缩为DeviceStatusM.rar或DeviceStatusM.zip文件。
3)开发包入库
一个数据帧对应的开发包打包成功后,用户可以将开发包入库,在入库过程上,用户选择对应数据帧名称节点,在发布过程中,系统调用数据帧开发包管理平台提供的上传接口,将当前开发包纳入整个数据帧开发包管理平台,其他开发人员可以下载并参照使用。
以上对本发明所提供的一种树表结合驱动特定平台通讯协议源代码自动生成方法进行了详尽介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,对本发明的变更和改进将是可能的,而不会超出附加权利要求所规定的构思和范围,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (4)
1.一种树表结合驱动特定平台通讯协议源代码自动生成方法,其特征在于:包括数据帧建模管理模块、源代码自动生成模块、代码仿真检验模块和开发包构建模块,
数据帧建模管理模块对于任何一个数据帧,均建立一个数据帧工程,然后通过数据帧建模管理工具,采用树与表结构结合的方式实现对数据帧分段管理、段内数据结构管理与数据帧校验位管理;
源代码自动生成模块,首先采用数据业务视图、数据结构视图与数据流视图三层来构建数据包的数据结构,以此实现数据包的通讯层代码组织,然后调用相关配置,基于相关规则驱动自动生成c++/c#等语言平台的通讯数据帧编码与解码源代码,从而实现数据帧描述表格的修改直接驱动通讯代码自动生成;
代码仿真检验模块,该模块在源代码自动生成模块自动生成编解码源代码基础上,同时生成一组入口与调用代码,然后调用第三方编译程序,生成源代码仿真程序,配合相关通讯测试用例数据,实现自动生成代码的测试检验;
开发包构建模块,该模块主要实现对经过代码仿真检验模块仿真检验合格的源代码封装为可被其他应用调用的开发包。
2.根据权利要求1所述的一种树表结合驱动特定平台通讯协议源代码自动生成方法,其特征在于:所述源代码自动生成模块分为数据结构源代码生成和编解码的源代码生成,所述数据结构源代码生成分为数据业务层数据类生成、数据结构层数据类生成和数据流层数据类生成:所述编解码的源代码生成分为编码函数源代码生成和解码函数源代码生成。
3.根据权利要求2所述的一种树表结合驱动特定平台通讯协议源代码自动生成方法,其特征在于:
所述数据业务层数据类生成过程,首先从数据帧建模管理模块构建数据帧形式化描述的树状图,然后构建相关数据结构信息,首先采用深度优先的原则标记出整棵树中其子节点为数据结构节点的数据分段节点,同时生成其数据类信息,然后根据树节点由深到浅一层一层的生成其数据类信息;
数据结构层数据类生成过程,数据结构层的数据类信息分为两种情况,第一种情况如果所有分段均为固定长度,则数据类采用一维平面结构,首先从数据帧建模管理模块构建数据帧形式化描述的树状图,采用深度优先的原则,由根节点到数据结构节点经过的所有分段节点缩写名采用分割符号“_”串接后生成最终数据类的属性名;第二种情况如果所有分段存在非固定长度,则采用多层结构,其数据类结构生成方法采用非固定长度的数组形式确定,其长度可以在运行时确定;
数据流层数据类生成过程,主要为BYTE格式数组,其长度可以在运行时确定。
4.根据权利要求2所述的一种树表结合驱动特定平台通讯协议源代码自动生成方法,其特征在于:
编码函数源代码生成过程,该编码函数的输入为数据业务层数据类对象,输出为数据流信息,对于非固定长度数据帧根据数据业务层数据类对象相关数组个数确定数据流运行时长度与部分数据结构层数据类对象运行时长度,并将具体长度信息写入长度确定位中,在确定长度基础上,首先根据数据结构节点的编码代码确定每个数据结构层数据类对象中属性的编码过程,然后将数据结构层数据类对象按照树节点的组织顺序写入数据流中,完成最终数据流组装,同时根据设置确定是否在每个变换环节加入日志记录代码;
解码函数源代码生成过程,该编码函数的输入为数据流信息,输出为数据业务层数据类对象,对于非固定长度数据帧根据数据业务层数据类对象相关数组个数确定数据流运行时长度与部分数据结构层数据类对象运行时长度,进行指定帧的长度确定位,然后将数据流信息分段写入数据结构层数据类对象属性,然后将数据结构层数据对象属性按照结构一一对应的解码并赋值给数据业务层数据类对象属性,完成解码过程,同时根据设置确定是否在每个变换环节加入日志记录代码。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410233790.8A CN103984555B (zh) | 2014-05-29 | 2014-05-29 | 一种树表结合驱动Windows/Linux平台通讯协议源代码自动生成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410233790.8A CN103984555B (zh) | 2014-05-29 | 2014-05-29 | 一种树表结合驱动Windows/Linux平台通讯协议源代码自动生成方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103984555A true CN103984555A (zh) | 2014-08-13 |
CN103984555B CN103984555B (zh) | 2017-03-15 |
Family
ID=51276549
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410233790.8A Active CN103984555B (zh) | 2014-05-29 | 2014-05-29 | 一种树表结合驱动Windows/Linux平台通讯协议源代码自动生成方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103984555B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107193628A (zh) * | 2017-04-07 | 2017-09-22 | 万达百汇科技(深圳)有限公司 | 支付终端应用仿真方法和装置 |
CN109766254A (zh) * | 2018-12-17 | 2019-05-17 | 上海华讯网络系统有限公司 | It系统运维监控数据辅助预处理方法和系统 |
CN111813395A (zh) * | 2020-07-06 | 2020-10-23 | 广东海洋大学 | 基于xml格式的通讯协议信息描述通用模型及其设计方法 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1323415A (zh) * | 1998-10-13 | 2001-11-21 | 加拿大柯达根技术公司 | 基于部件的源代码生成器 |
US20050114832A1 (en) * | 2003-11-24 | 2005-05-26 | Microsoft Corporation | Automatically generating program code from a functional model of software |
CN1848774A (zh) * | 2005-04-11 | 2006-10-18 | 华为技术有限公司 | 一种远程调用通信组件的系统及方法 |
CN101221424A (zh) * | 2008-01-04 | 2008-07-16 | 华南理工大学 | 基于领域建模的数控系统代码自动生成方法 |
US20090125878A1 (en) * | 2007-11-05 | 2009-05-14 | Cullum Owen H G | System and Method for Generating Modified Source Code Based on Change-Models |
CN102036269A (zh) * | 2010-12-14 | 2011-04-27 | 大唐移动通信设备有限公司 | 一种进行测试的方法和设备 |
CN102968306A (zh) * | 2012-11-29 | 2013-03-13 | 广东全通教育股份有限公司 | 一种基于数据模型驱动的代码自动生成方法和系统 |
CN103399528A (zh) * | 2013-03-06 | 2013-11-20 | 中国电力科学研究院 | 一种Modbus从站模拟器系统的自动生成方法 |
-
2014
- 2014-05-29 CN CN201410233790.8A patent/CN103984555B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1323415A (zh) * | 1998-10-13 | 2001-11-21 | 加拿大柯达根技术公司 | 基于部件的源代码生成器 |
US20050114832A1 (en) * | 2003-11-24 | 2005-05-26 | Microsoft Corporation | Automatically generating program code from a functional model of software |
CN1848774A (zh) * | 2005-04-11 | 2006-10-18 | 华为技术有限公司 | 一种远程调用通信组件的系统及方法 |
US20090125878A1 (en) * | 2007-11-05 | 2009-05-14 | Cullum Owen H G | System and Method for Generating Modified Source Code Based on Change-Models |
CN101221424A (zh) * | 2008-01-04 | 2008-07-16 | 华南理工大学 | 基于领域建模的数控系统代码自动生成方法 |
CN102036269A (zh) * | 2010-12-14 | 2011-04-27 | 大唐移动通信设备有限公司 | 一种进行测试的方法和设备 |
CN102968306A (zh) * | 2012-11-29 | 2013-03-13 | 广东全通教育股份有限公司 | 一种基于数据模型驱动的代码自动生成方法和系统 |
CN103399528A (zh) * | 2013-03-06 | 2013-11-20 | 中国电力科学研究院 | 一种Modbus从站模拟器系统的自动生成方法 |
Non-Patent Citations (1)
Title |
---|
王志坚 等: "基于数据驱动方式的NC代码自动生成", 《机械制造》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107193628A (zh) * | 2017-04-07 | 2017-09-22 | 万达百汇科技(深圳)有限公司 | 支付终端应用仿真方法和装置 |
CN109766254A (zh) * | 2018-12-17 | 2019-05-17 | 上海华讯网络系统有限公司 | It系统运维监控数据辅助预处理方法和系统 |
CN109766254B (zh) * | 2018-12-17 | 2022-04-08 | 上海华讯网络系统有限公司 | It系统运维监控数据辅助预处理方法和系统 |
CN111813395A (zh) * | 2020-07-06 | 2020-10-23 | 广东海洋大学 | 基于xml格式的通讯协议信息描述通用模型及其设计方法 |
CN111813395B (zh) * | 2020-07-06 | 2024-01-30 | 广东海洋大学 | 基于xml格式的通讯协议信息描述通用模型及其设计方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103984555B (zh) | 2017-03-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8689177B2 (en) | Integration environment generator | |
Engelen et al. | Integrating textual and graphical modelling languages | |
EP2124419B1 (en) | An object oriented management device for asn.1 message | |
US8756407B2 (en) | Configuration rule prototyping tool | |
CN101464799A (zh) | 基于可视化建模的mpi并行程序设计系统及框架代码自动生成方法 | |
CN104932905A (zh) | 一种aadl到c语言的代码自动生成方法 | |
CN108804322A (zh) | 自动化测试方法、装置、计算机设备及存储介质 | |
CN104407863A (zh) | 抽象控件模型编程装置和方法 | |
CN105607923A (zh) | 一种跨平台的航空电子系统配置数据生成与恢复方法 | |
CN100561476C (zh) | 一种基于asn类型对象的代码生成方法 | |
CN103984555A (zh) | 一种树表结合驱动特定平台通讯协议源代码自动生成方法 | |
US20060009962A1 (en) | Code conversion using parse trees | |
CN103793458B (zh) | 一种将aadl无损转换成xml的方法 | |
CN104750468B (zh) | 一种服务端拓扑数据转换方法和转换装置 | |
CN110109658B (zh) | 一种基于形式化模型的ros代码生成器及代码生成方法 | |
US10884710B1 (en) | System and method for generating unified experiences on digital platforms | |
CN114356430B (zh) | 一种基于airflow调度系统的DAG依赖配置工具 | |
CN102479268B (zh) | Fortran的飞行器联邦成员异构协同互操作方法 | |
Engelen | From napkin sketches to reliable software | |
CN105573970B (zh) | 一种数据包重构方法及装置 | |
CN111221532A (zh) | 一种动态链接库的生成方法及装置 | |
CN106227707B (zh) | 一种基于元模型的报文规约定义文件的配置方法 | |
Efendioglu et al. | Modelling method design: An adoxx realisation | |
CN109858169B (zh) | 一种基于Modelica的模型平坦化方法 | |
CN115712420B (zh) | 一种基于复杂实时嵌入式系统的架构设计与架构转换方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |