发明名称 一种虚拟试验分布式对象模型框架代码自动生成方法
摘要 一种虚拟试验分布式对象模型框架代码自动生成方法,完成对象模型从描述语言文本到标准C++语法格式的框架代码的转变,步骤为:定义一种虚拟试验分布式对象模型描述语言;对使用所述语言描述的虚拟试验分布式对象模型的文本文件进行词法分析和语法分析;建立所述描述语言与IDL语言的映射关系,调用IDL编译器生成对应的虚拟试验分布式对象模型框架代码;构建分布式对象模型模板,通过标签替换生成虚拟试验分布式对象模型框架代码。本发明给出的虚拟试验分布式对象描述语言,实现了虚拟试验分布式对象的标准化描述,有助于试验资源的重用和组合;虚拟试验分布式对象模型框架代码自动生成方法减少了开发人员的工作量,提高了应用开发的可靠性和效率。
申请公布号 CN102929681B 申请公布日期 2016.06.01
申请号 CN201210429079.0 申请日期 2012.10.31
申请人 中国运载火箭技术研究院 发明人 蔡斐华;廖建;彭健;王国庆;贾长伟;赵雯
分类号 G06F9/45(2006.01)I 主分类号 G06F9/45(2006.01)I
代理机构 中国航天科技专利中心 11009 代理人 安丽
主权项 一种虚拟试验分布式对象模型框架代码自动生成方法,其特征在于步骤如下:(1)定义一种虚拟试验分布式对象模型的描述语言;所述虚拟试验分布式对象的描述语言包括状态分布对象、消息对象、本地对象、向量、接口、枚举、状态分布对象指针、基本类型,以及它们之间的继承、组合、聚合关系;所述状态分布对象是复杂数据类型,描述虚拟试验的对象模型,包含成员及方法;所述消息对象是复杂数据类型,描述虚拟试验的突发事件,包含成员及方法;所述本地对象是复杂数据类型,描述虚拟试验对象模型中的结构体,包含成员及方法;(2)对使用步骤(1)中所述语言描述的虚拟试验分布式对象模型而生成的文本文件进行词法分析;(3)根据所述描述语言的元模型,利用语法分析器生成工具生成语法分析器;(4)根据词法分析的结果,使用所述语法分析器对所述文本文件进行语法分析,并将得到的语法分析结果存放到中间表示数据结构中;所述中间表示数据结构与所述元模型相对应,有一个主表,记录了所述元模型中的状态分布对象、消息对象、本地对象,主表的共性部分有名字和类型,相异部分用一个联合数据结构来表示;(5)建立所述描述语言与IDL语言的映射关系,将步骤(4)中间表示数据结构中存放的语法分析结果中的数据类型转化为IDL语言中的数据类型,并调用IDL编译器生成数据类型所对应的虚拟试验分布式对象模型框架代码,所述IDL语言为CORBA接口定义语言;(6)构建分布式对象模型模板,之后利用所述文本文件中对虚拟试验分布式对象模型进行的描述替换所述分布式对象模型模板中相应的标签,从而直接转化为虚拟试验分布式对象模型框架代码,虚拟试验分布式对象模型模板描述了虚拟试验分布式对象模型之间的交互功能,提供对象模型发布/订阅和远程方法调用;所述语法分析器生成工具为YACC;步骤(2)中所述进行词法分析具体为:以字符为单位扫描所述文本文件,跳过空白符号,若扫描到的单词为所述描述语言的保留字,则返回该保留字所对应的属性编码,否则返回该单词的字符串,直到该文本文件扫描完毕,即完成了对该文本文件的词法分析。
地址 100076 北京市9200信箱38分箱