【技术实现步骤摘要】
一种基于模型转换由QVT-R语言生成midCore脚本的方法
本专利技术涉及一种代码生成方法,主要利用模型转换技术来实现由QVT-R语言自动化生成midCore脚本的任务,属于计算机技术、模型转换技术、领域特定语言和代码生成技术的交叉技术应用领域。
技术介绍
模型转换技术是模型驱动软件开发中的重要一环,后者以模型为软件开发的核心制品,并提升模型在开发过程中的作用,利用模型指导开发人员对于软件系统的理解、设计、构造、维护和演化,从而提高软件的开发和维护效率,进而降低成本。模型转换用于将开发过程中的一个模型自动或者半自动的转换成另一个模型,从而推动整个开发过程的进行。它通常由模型、模型转换程序和模型转换引擎构成。其中模型分为源模型、源元模型、目标模型、目标元模型。元模型是模型的抽象,将作为模型转换程序的输入输出,而模型是元模型的实例,将作为模型转换引擎的输入输出;模型转换程序用于描述模型转换过程中输入输出模型转换规则,可以由多种模型转换语言表达;模型转换引擎是用来执行模型转换程序的程序,它将源模型按照模型转换规则进行处理得到目标模型。计算机领域存在大量的领域特定语言( ...
【技术保护点】
一种基于模型转换由QVT‑R代码生成midCore脚本的方法,其特征在于:包括如下步骤:步骤1、面向大数据转换方向对QVT‑R语言进行设计裁剪;步骤2、获取满足步骤1定义的QVT‑R代码,作为代码生成的输入数据;步骤3、使用Xtext对QVT‑R语言建模,并生成相应的编辑器、解析器和语法分析树;步骤4、利用Xtend根据步骤3匹配得到的语法分析树,解析QVT‑R代码语义,并生成对应的midCore语句;步骤5、运行Xtext程序,将出现一个代码编辑器,通过将步骤2获得的QVT‑R代码填入和运行,将在src‑gen文件夹中看到生成的midCore脚本。
【技术特征摘要】
1.一种基于模型转换由QVT-R代码生成midCore脚本的方法,其特征在于:包括如下步骤:步骤1、面向大数据转换方向对QVT-R语言进行设计裁剪;步骤2、获取满足步骤1定义的QVT-R代码,作为代码生成的输入数据;步骤3、使用Xtext对QVT-R语言建模,并生成相应的编辑器、解析器和语法分析树;步骤4、利用Xtend根据步骤3匹配得到的语法分析树,解析QVT-R代码语义,并生成对应的midCore语句;步骤5、运行Xtext程序,将出现一个代码编辑器,通过将步骤2获得的QVT-R代码填入和运行,将在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所述的方法,其特征在于:所述步骤2中获取的QVT-R代码需符合步骤1中的条件。4.根据权利要求1所述的方法,其特征在于:所述步骤3的建模过程如下:步骤31、依据Xtext语法要求,设计import语句结构,用于描述元模型文件的路径和名称;步骤32、设计Transformation语句结构,用于描述模型转换名称、输入输出模型,且其中应包含所有非import语句;步骤33、设计key语句结构,用于描述模型的主键属性...
【专利技术属性】
技术研发人员:张天,潘敏学,车开达,刘拨杰,杨宇飞,
申请(专利权)人:南京大学,
类型:发明
国别省市:江苏,32
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。