[发明专利]一种基于模型转换由QVT-R语言生成midCore脚本的方法有效
申请号: | 201710180952.X | 申请日: | 2017-03-24 |
公开(公告)号: | CN106951305B | 公开(公告)日: | 2020-07-31 |
发明(设计)人: | 张天;潘敏学;车开达;刘拨杰;杨宇飞 | 申请(专利权)人: | 南京大学 |
主分类号: | G06F8/40 | 分类号: | G06F8/40 |
代理公司: | 南京知识律师事务所 32207 | 代理人: | 张苏沛 |
地址: | 210046 江苏*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 模型 转换 qvt 语言 生成 midcore 脚本 方法 | ||
1.一种基于模型转换由QVT-R代码生成midCore脚本的方法,其特征在于:包括如下步骤:
步骤1、面向大数据转换方向对QVT-R语言进行设计裁剪;
步骤2、获取满足步骤1定义的QVT-R代码,作为代码生成的输入数据;
步骤3、使用Xtext对QVT-R语言建模,并生成相应的编辑器、解析器和语法分析树;
步骤4、利用Xtend根据步骤3匹配得到的语法分析树,解析QVT-R代码语义,并生成对应的midCore语句;
所述步骤4的设计过程包括:
步骤41、读取QVT-R的Transformation语句,并构建midCore脚本的模型描述和转换模块;
步骤42、读取QVT-R的import语句,生成midCore数据模型描述模块;
步骤421、根据import语句提供的路径获取元模型文件;
步骤422、用Dom4j解析元模型文件,提取模型的名称、类型和从属关系,并生成midCore的模型描述语句;
步骤43、读取QVT-R的key语句,根据属性生成midCore的deduplicate算子,写入模型转换模块;
步骤44、依次读取QVT-R的source域;
步骤441、若属性与中间变量绑定,则使用哈希表记录中间变量与源模型属性的对应关系;
步骤442、若属性由定值限制,则根据属性、定值和限制符生成midCore的filter算子,并顺序写入模型转换模块;
步骤45、若存在多个source域,使用列表记录共同使用的中间变量,然后根据这些中间变量生成midCore的join算子;
步骤46、依次读取QVT-R的target域,生成midCore模型转换逻辑;
步骤461、构建midCore的generate算子;
步骤462、根据中间变量和哈希表,获取源模型属性,并作为参数传入;
步骤463、依次读取属性赋值语句,生成midCore的expression算子;
步骤5、运行Xtext程序,将出现一个代码编辑器,通过将步骤2获得的QVT-R代码填入和运行,将在src-gen文件夹中看到生成的midCore脚本;
所述步骤5中需要将步骤2获取的QVT-R代码作为输入,将Xtext框架构建的Eclipse工具作为模型转换引擎,运行程序会在src-gen文件夹中看到生成的midCore脚本。
2.根据权利要求1所述的方法,其特征在于:所述步骤1的设计裁剪过程包括:
步骤11、不支持extends、overrides、implementedby、where、query关键字及其相关语句;
步骤12、规定Transformation语句的参数只允许使用sourceX、targetY作为元模型的名称,其中source表示源元模型,target表示目标元模型,X/Y表示0、1、2、……序号;
步骤13、规定source域的限定描述符只能是checkonly,target域的限定描述符只能是enforce;
步骤14、规定必须使用中间变量来绑定源模型和目标模型的属性值;
步骤15、除步骤11~14规定外,其它语法均与官方QVT-R相同,所有语义与官方QVT-R相同。
3.根据权利要求1所述的方法,其特征在于:所述步骤3的建模过程如下:
步骤31、依据Xtext语法要求,设计import语句结构,用于描述元模型文件的路径和名称;
步骤32、设计Transformation语句结构,用于描述模型转换名称、输入输出模型,且其中应包含所有非import语句;
步骤33、设计key语句结构,用于描述模型的主键属性;
步骤34、设计relation语句结构,用于描述两个模型之间的模型转换规则,其中应包含所有的属性绑定和赋值语句;
步骤35、设计属性绑定和赋值语句结构,用于描述目标模型和源模型的对应关系;
步骤36、设计when语句结构,用于描述多条relation相互间依赖关系。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京大学,未经南京大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710180952.X/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种气水分离器
- 下一篇:汽车用一种强制干燥器排气装置