CN100517222C - 支持转换引擎与映射规则相分离的模型转换装置及其方法 - Google Patents

支持转换引擎与映射规则相分离的模型转换装置及其方法 Download PDF

Info

Publication number
CN100517222C
CN100517222C CNB2006101426257A CN200610142625A CN100517222C CN 100517222 C CN100517222 C CN 100517222C CN B2006101426257 A CNB2006101426257 A CN B2006101426257A CN 200610142625 A CN200610142625 A CN 200610142625A CN 100517222 C CN100517222 C CN 100517222C
Authority
CN
China
Prior art keywords
mapping ruler
model
engine
rule
model element
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.)
Expired - Fee Related
Application number
CNB2006101426257A
Other languages
English (en)
Other versions
CN101169713A (zh
Inventor
李晓峰
董振江
沈蓓洁
乔秀全
宋小兵
杨勇
吴豫宁
滕广松
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ZTE Corp
Beijing University of Posts and Telecommunications
Original Assignee
ZTE Corp
Beijing University of Posts and Telecommunications
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by ZTE Corp, Beijing University of Posts and Telecommunications filed Critical ZTE Corp
Priority to CNB2006101426257A priority Critical patent/CN100517222C/zh
Publication of CN101169713A publication Critical patent/CN101169713A/zh
Application granted granted Critical
Publication of CN100517222C publication Critical patent/CN100517222C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明公开了一种支持转换引擎与映射规则相分离的模型转换装置及其方法,该装置包括模型提取器,还包括:目标平台管理器、代理规则管理器、映射规则查询引擎、映射规则库、映射规则编辑器、映射规则执行引擎、脚本合并器、脚本解释器及公共数据区;代理规则将模型元素传给映射规则查询引擎,映射规则查询引擎根据模型元素查询映射规则库得到与模型元素对应的映射规则,代理规则再将模型元素和映射规则交给映射规则执行引擎进行处理;映射规则执行引擎将处理得到的目标脚本文件送至脚本合并器进行合并处理,生成一个目标脚本文件;脚本解释器对目标脚本文件进行解释生成目标模型或代码。采用本发明实现了模型转换引擎与映射规则的分离。

Description

支持转换引擎与映射规则相分离的模型转换装置及其方法
技术领域
本发明涉及计算机软件开发技术领域,特别是涉及一种基于模型驱动架构MDA(Model Driven Architecture)的支持转换引擎与映射规则相分离的模型转换装置和方法。
背景技术
对象管理组织(Object Management Group,OMG)于2002年底提出了新的系统软件开发方法学一模型驱动架构MDA。该架构的核心思想是将系统的业务功能逻辑与实现平台技术相分离,避免造成业务逻辑和实现技术的紧耦合,同时,MDA通过模型转换技术可以将平台独立的系统功能模型映射到不同的实现平台模型上,最终实现到具体代码的转换。从而使软件系统的移植性、互操作性和可重用性都可以长期保持,能够应对未来的技术变化,延长了软件的生命期。目前,基于MDA的软件开发一MDD(Model Driven Development,模型驱动开发)已经引起了学术界和工业界的高度关注和重视。
模型转换技术是基于MDA的软件开发的关键技术之一,它是保持MDA中不同抽象层次模型间联系的纽带。利用模型转换技术,可以实现平台独立模型(Platform Independent Model,PIM)到平台相关模型(Platform SpecificModel,PSM)的转换,以及平台相关模型PSM到实现代码的转换。OMG为了成功推广MDA,正力图使模型转换规范化,于2002年3月发布一个名为QVT(MOF Queries,Views and Transformations)的意见征求稿,其中MOF(Meta Object Facility)为元对象设施。于2005年11月,确定了最终版本的规范提案,目前正处于最后的表决阶段。
由于模型转换还没有形成一套规范的方法,缺乏规范来支持模型转换的标准化,导致模型转换的技术都依赖于具体厂商的MDA工具。大多数的现有MDA工具对模型转换的支持程度都不完善,仍有许多技术问题需要解决。
目前的MDA工具提供的转换引擎(实现模型转换的功能)大多实现了源模型提取器,支持对模型的扫描和访问;也定义了一些通用的转换规则机制来支持特定模型间的转换。但对特定领域相关的模型的转换,支持力度不够或没有提供支持。在特定领域中,UML(Unified Modeling Language,统一建模语言)的语义往往不能完整表达需求,所以需要对UML进行扩展,一般利用UML的Profile(扩展集)机制,采用版类(Stereotype)、标签值(TaggedValue)和约束(Constraint)的方式来扩展已有的UML元素,引入新的模型元素。利用UML的Profile扩展机制,用户可以自定义一些领域相关的建模元素,来表达特定领域中的某种确切语义。如果源模型含有UML Profile中定义的新的扩展建模元素,则需要对每种新模型元素进行相应的转换。在现有的MDA工具的转换机制下,则需要加入新的转换规则或修改已有的转换规则来实现对新模型元素的转换。因此,针对具体的或领域相关的软件开发活动,经常需要对已有的转换引擎进行扩展,加上特定的转换规则来完成相应的模型转换。
目前的转换引擎在不同程度上提供了对扩展的支持。但转换引擎与转换规则通常是绑定在一起的,一个转换引擎通常只有一种同一规则集,即所有的转换规则都是处理相同的源元模型和相同的目标元模型。如果新加的规则和转换引擎中的规则同属于一个规则集,则可以比较方便的对转换引擎进行扩展。如果不属于同一个规则集,则往往需要开发一个新的转换引擎。这种模式不仅增加了模型转换引擎开发的技术难度和成本,而且大大降低了模型转换引擎中大部分通用功能的重用性,阻碍了MDA在具体的或领域相关的软件开发活动中的应用和推广。
相关的现有技术包括:2006年6月15日公开的公开号为US2006/0130011A1的美国专利“Extending Existing Model-To-Model Transformations”(扩展现有的模型到模型的转换)和2006年6月15日公开的公开号为US2006/0130008A1的美国专利“Model-To-Model Transformation By Kind”(基于模型元素类型的模型到模型的转换),以及2006年6月15日公开的公开号为US2006/0130009A1的美国专利“Dynamically ConfigurableModel-To-Model Transformation Engine”(动态可配置的模型到模型转换引擎)。
第0130011、0130009、0130008号美国专利存在以下不足:这三个专利都是针对同一种转换引擎的不同技术方面的说明,其主要的不足是转换引擎与转换规则是绑定在一起的,该模型转换技术只实现了同一规则集(即一个转换引擎中所有的转换规则都是处理相同的源元模型和相同的目标元模型)上的重用,而要将基于相同的元模型的源模型转换为基于不同元模型的目标模型时,则必须重新开发一个新的转换引擎和相应的转换规则。
发明内容
本发明所要解决的技术问题在于提供一种支持转换引擎与映射规则相分离的模型转换装置和方法,用于实现模型转换引擎与映射规则的分离。
为了实现上述目的,本发明提供了一种支持转换引擎与映射规则相分离的模型转换装置,包括模型提取器,用于提取源模型中的模型元素,其特征在于,还包括:一目标平台管理器、一代理规则管理器、一映射规则查询引擎、一映射规则库、一映射规则编辑器、一映射规则执行引擎、一脚本合并器、一脚本解释器及一公共数据区;
所述目标平台管理器处理代理规则与同一目标平台的映射规则之间的关系;所述代理规则管理器根据所述模型元素的类型查找与所述模型元素对应的代理规则;所述映射规则编辑器通过一可视化方式编辑生成映射规则,并存放于所述映射规则库;所述公共数据区用于存放模型转换所需数据;
所述代理规则将所述模型元素传给所述映射规则查询引擎,所述映射规则查询引擎根据所述模型元素查询所述映射规则库得到与所述模型元素对应的映射规则,所述代理规则再将所述模型元素和所述映射规则交给所述映射规则执行引擎进行处理;
所述映射规则执行引擎将处理得到的目标脚本文件送至所述脚本合并器进行合并处理,生成一个目标脚本文件;所述脚本解释器对所述目标脚本文件进行解释生成目标模型或代码。
所述的支持转换引擎与映射规则相分离的模型转换装置,其中,所述映射规则库又分为:版类包、评测包、语句包及规则包。
所述的支持转换引擎与映射规则相分离的模型转换装置,其中,所述映射规则又包括:版类结点、评测结点、分支及语句结点;其中,所述版类结点是对版类的引用,所述评测结点是对评测的引用,所述语句结点是对语句的引用,所述分支用于连接所述评测结点与所述语句结点。
所述的支持转换引擎与映射规则相分离的模型转换装置,其中,所述映射规则中,所述版类结点、所述评测结点的个数为一个,所述分支结点、所述语句结点的个数为一个或多个。
所述的支持转换引擎与映射规则相分离的模型转换装置,其中,同一个所述版类、所述评测或所述语句包含于多个所述映射规则中,一个所述分支仅包含于一个所述映射规则中。
所述的支持转换引擎与映射规则相分离的模型转换装置,其中,所述映射规则查询引擎还包括:
一特征字符串查询模块,用于将所述代理规则传入的一特征字符串与所述映射规则中的另一特征字符串进行匹配并在两者相同时返回所述映射规则;或
一元模型查询模块,用于将所述代理规则传入的一元模型与所述映射规则中的另一元模型进行匹配并在两者相同时返回所述映射规则。
为了实现上述目的,本发明还提供了一种利用所述模型转换装置实现转换引擎与映射规则相分离的模型转换方法,其特征在于,包括:
步骤71,通过所述模型提取器提取源模型中的模型元素,并传给所述代理规则管理器,所述代理规则管理器根据所述模型元素的类型得到与所述模型元素对应的代理规则;
步骤72,所述代理规则将所述模型元素传给所述映射规则查询引擎,所述映射规则查询引擎根据所述模型元素查询所述映射规则库得到与所述模型元素对应的映射规则,所述代理规则再将所述模型元素和所述映射规则传给所述映射规则执行引擎进行处理;及
步骤73,通过所述脚本合并器对所述映射规则执行引擎处理得到的目标脚本文件进行合并处理生成一个目标脚本文件,再通过所述脚本解释器解释所述目标脚本文件生成目标模型或代码。
所述的支持转换引擎与映射规则相分离的模型转换方法,其中,所述步骤72中,还包括:当所述模型元素未附加元模型时,由所述映射规则查询引擎以一特征字符串查询方式查询映射规则的步骤,具体为:所述映射规则查询引擎将所述代理规则传入的一特征字符串与所述映射规则中的另一特征字符串进行匹配并在两者相同时返回所述映射规则。
所述的支持转换引擎与映射规则相分离的模型转换方法,其中,所述步骤72中,还包括:当所述模型元素已附加元模型时,由所述映射规则查询引擎以一元模型查询方式查询映射规则的步骤,具体为:所述映射规则查询引擎将所述代理规则传入的一元模型与所述映射规则中的另一元模型进行匹配并在两者相同时返回所述映射规则。
所述的支持转换引擎与映射规则相分离的模型转换方法,其中,所述步骤72中,还包括一由所述模型提取器判断当前模型元素是否包含子元素的步骤,若含有,则返回至所述步骤71执行,否则,继续所述步骤73。
与现有技术相比较,本发明通过将模型转换规则细化为代理规则和映射规则,实现了模型转换引擎与映射规则的分离,增强了转换引擎中一些通用模块的重用性,大大简化了模型转换的工作量和技术难度。利用该发明提出的模型转换方法,在实现基于相同元模型的源模型到基于不同元模型的各种目标模型转换时,无需再重新开发一个模型转换引擎,只需通过映射规则编辑器,构建新的基于源元模型到各种目标元模型的映射规则,将其加入映射规则库中即可。这种模型转换方式也大大提高了映射规则的可重用性。
另外,本发明支持转换引擎与映射规则相分离的模型转换方法同时适用于模型到模型、模型到代码的转换。在模型到模型的转换中,脚本解释器将生成目标模型;在模型到代码的转换中,将代码也抽象为模型来表示,然后只要改动脚本解释器的功能,脚本解释器就可以将模型对应的代码生成出来。
以下结合附图和具体实施例对本发明进行详细描述,但不作为对本发明的限定。
附图说明
图1是本发明模型转换装置模块结构图;
图2是本发明代理规则管理器结构图;
图3是本发明代理规则使用关键字方式进行查询流程图;
图4是本发明代理规则使用元模型方式进行查询流程图;
图5是本发明映射规则结构图;
图6是本发明模型转换流程图。
具体实施方式
下面结合附图对本发明支持转换引擎与映射规则相分离的模型转换装置及模型转换方法作进一步的详细描述:
如图1所示,是本发明模型转换装置模块结构图,图2是本发明代理规则管理器结构图,并结合图3、4、5所示;该模型转换装置由转换引擎和映射规则库系统构成,具体包括:
模型提取器101,用于负责提取源模型中的模型元素。采用逐层扫描的方式来提取模型元素,即先提取源模型中的根元素,将其交给代理规则管理器103处理,根元素处理完后,再提取根元素的子元素交给代理规则管理器103处理。
目标平台管理器102,针对同一个代理规则105,可能有到多个目标平台的映射规则与之相对应,目标平台管理器102负责管理代理规则105与同一目标平台的映射规则之间的关系,确保在针对特定平台的转换时,代理规则105只调用与该平台相关的映射规则。
映射规则属于静态映射规则,是一种静态的表示源模型元素和目标模型元素映射关系的规则;代理规则105不属于静态映射规则,它由代理规则管理器103查询得到,主要用于根据模型提取器101提取的模型元素,通过映射规则查询引擎104查询映射规则库106得到映射规则。
代理规则管理器103,用于根据模型提取器101提取的模型元素的类型,找到与之相对应的代理规则105;一个代理规则管理器103可以同时管理多条代理规则105。
如图2所示,代理规则管理器103维护一个模型元素类型201和代理规则105的映射表,对每一个模型元素类型201,都有一个代理规则105与之相对应。当输入一个模型元素时,代理规则管理器103会检查该模型元素的类型,返回相应的代理规则105,并将该模型元素交给该代理规则105进行处理。
映射规则查询引擎104,用于支持模型映射规则的查询,其又包括:特征字符串查询模块1041、元模型查询模块1042,分别支持特征字符串查询方式、元模型查询方式进行映射规则查询:
(1)特征字符串查询方式:代理规则105传入一个特征字符串来查询映射规则,特征字符串查询模块1041将该特征字符串与映射规则中的特征字符串进行匹配,如果相同,则返回该规则,如图3所示;
(2)元模型查询方式:代理规则105传入元模型来查询映射规则,元模型查询模块1042将元模型与映射规则中的元模型进行匹配,如果相同,则返回该规则,如图4所示。
映射规则查询引擎104查询的结果为一个映射规则列表,映射规则查询引擎104将该列表返回给代理规则105。
代理规则105,用于根据模型提取器101提取的模型元素,通过映射规则查询引擎104查询映射规则库106,得到与模型元素相对应的映射规则,并将模型元素和查询得到的映射规则一起交给映射规则执行引擎108进行处理。
映射规则库106,主要作用是存放映射规则,供转换引擎查询。为了实现版类、评测及语句模块的重用,将映射规则库106划分为四个包:
版类包:版类是从Profile(版类的容器)导入的,包括一些版类的基本信息;
评测包:评测是映射规则的主体,用来对元模型的属性或其他信息进行检查;
语句包:语句是用目标脚本编写的,所以语句本身也是一个目标脚本文件;
规则包:映射规则的集合构成了规则包。
基础规则包:通用的或可重用性非常高的映射规则称为基础规则,它的集合构成基础规则包。基础规则包一般由转换引擎提供者提供。
规则包、基础规则包和规则库是松耦合的,只需要在初始化时指定规则包和基础规则包的路径,规则库可以动态加载规则包和基础规则包。
如图5所示,映射规则结构包括四部分:版类(Stereotype)结点501、评测结点502、分支(Branch)503、语句结点504。版类结点501是对版类的引用,同样地,评测结点502和语句结点504分别是对评测和语句的引用。
分支503用来连接评测结点502和语句结点504。一个映射规则中只能包含一个版类结点501和评测结点502,但可以包含多个分支结点503和语句结点504。同样地,一个版类、评测或语句也可以被多个映射规则引用,但分支503只能包含在一个映射规则中。
映射规则编辑器107,用于通过可视化的方式编辑生成映射规则。将映射规则各部分之间关系用Eclipse平台上的EMF(Eclipse Modeling Framework,Eclipse建模装置)模型表示出来,生成映射规则编辑器107,并加入映射规则解释器,使映射规则编辑器107生成的映射规则能通过该解释器生成Java代码。
映射规则执行引擎108,用于依次加载并执行传入的映射规则列表,返回一个或多个目标脚本文件。
映射规则执行引擎108在收到代理规则105传来的映射规则和模型元素后,执行映射规则的过程具体如下:
取得当前映射规则所对应的分支503,对每个分支503进行初始化,然后将该分支503的值传入到评测结点502中,评测结点502对传入的分支503的值和模型元素按一定的算法(该算法是定义映射规则时定义的)进行运算,运算结果为一个布尔值。当该值为真时,映射规则执行引擎108再把该分支503所对应的语句(语句本身是一个目标脚本文件)加入到目标脚本列表中。当所有分支都处理完毕后,该映射规则执行完毕。
当所有映射规则都处理完后,映射规则执行引擎108将目标脚本列表交给脚本合并器109进行合并。
脚本合并器109,用于将多个目标脚本文件合并成一个目标脚本文件。对每种目标模型,都定义了一套基于XML的脚本对该目标模型进行描述,称该脚本为目标脚本(ObjectScript)。利用目标脚本描述的包含有目标模型信息的脚本文件,称之为目标脚本文件。
为了描述目标模型中的各种模型元素,在目标脚本中也要定义相应的结点,所以每个目标脚本文件中可能包括了多种结点,脚本合并器109将多个目标脚本中相同的类型的结点进行合并,最后生成一个目标脚本文件。
脚本解释器110,用于在模型到模型的转换中,将目标脚本文件进行解释,生成目标模型;在模型到代码的转换中,对目标文件进行解释,生成相应的代码;
公共数据区111,主要存放模型转换过程中的一些全局数据,如扫描的模型元素的信息、目标脚本文件相关的数据以及用户自定义的数据,用于支持代理规则105之间及映射规则之间数据的共享。
如图6所示,是本发明模型转换流程图。结合图1、3、4,该模型转换的处理步骤如下:
步骤601,模型提取器101提取源模型中的模型元素,并传给代理规则管理器103;
在该步骤之前,使用映射规则编辑器107生成源元模型与目标元模型之间的映射规则,并将其保存到映射规则库106中;
步骤602,代理规则管理器103根据模型元素的类型查询模型元素所对应的代理规则105,并把模型元素交给代理规则105进行处理;
步骤603,代理规则105将模型元素传给映射规则查询引擎104,映射规则查询引擎104根据模型元素查询映射规则库106得到与该模型元素对应的映射规则;映射规则查询引擎104将查询得到的映射规则返回给代理规则105进行处理;
如果模型元素上没有附加元模型(即版类),只采用特征字符串查询,查询的过程如图3所示,每个代理规则105都有一个查询关键字SearchKey,并将该SearchKey作为特征字符串交给映射规则查询引擎104的特征字符串查询模块1041,特征字符串查询模块1041返回所有关键字Key为特征字符串的映射规则;
如果模型元素上附加了元模型(即版类),则采用元模型查询方式,如图4所示,代理规则105将从模型元素中提取的元模型交给映射规则查询引擎104的元模型查询模块1042,元模型查询模块1042返回所有包含有该元模型的映射规则;
步骤604,代理规则105将模型元素的信息和映射规则一起提交给映射规则执行引擎108;映射规则执行引擎108对模型元素和映射规则进行处理,得到一个或多个目标脚本文件,并交给脚本合并器109进行合并处理;
该步骤中,映射规则执行引擎108依次读入并执行列表中的映射规则,每个映射规则返回一个目标脚本文件;将返回的所有目标脚本文件在公共数据区111缓存起来;
步骤605,模型提取器101判断当前模型元素是否包含子元素,若含有,则返回至步骤601开始执行,即提取该模型元素的子元素,否则,跳到步骤606,进行目标脚本文件的合并;
步骤606,在所有的模型元素扫描完毕且都进行了处理,返回的所有目标脚本文件也保存在公共数据区111;脚本合并器109将对公共数据区111缓存的所有目标脚本文件进行合并,最后生成一个目标脚本文件,并由脚本解释器110进行解释;
步骤607,脚本解释器110解释目标脚本文件,生成目标模型或代码。
该步骤中,同时适用于模型到代码的转换,将代码也抽象为用模型来表示,然后只要改动脚本解释器110的功能,就可以将模型转换为对应的代码。
本发明通过将模型转换规则细化为代理规则和映射规则,实现了模型转换引擎与映射规则的分离,增强了转换引擎中一些通用模块的重用性,大大简化了模型转换的工作量和技术难度。
当然,本发明还可有其他多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。

Claims (10)

1、一种支持转换引擎与映射规则相分离的模型转换装置,包括模型提取器,用于提取源模型中的模型元素,其特征在于,还包括:一目标平台管理器、一代理规则管理器、一映射规则查询引擎、一映射规则库、一映射规则编辑器、一映射规则执行引擎、一脚本合并器、一脚本解释器及一公共数据区;
所述目标平台管理器处理代理规则与同一目标平台的映射规则之间的关系;所述代理规则管理器根据所述模型元素的类型查找与所述模型元素对应的代理规则;所述映射规则编辑器通过一可视化方式编辑生成映射规则,并存放于所述映射规则库;所述公共数据区用于存放模型转换所需数据;
所述代理规则将所述模型元素传给所述映射规则查询引擎,所述映射规则查询引擎根据所述模型元素查询所述映射规则库得到与所述模型元素对应的映射规则,所述代理规则再将所述模型元素和所述映射规则交给所述映射规则执行引擎进行处理;
所述映射规则执行引擎将处理得到的目标脚本文件送至所述脚本合并器进行合并处理,生成一个目标脚本文件;所述脚本解释器对所述目标脚本文件进行解释生成目标模型或代码。
2、根据权利要求1所述的支持转换引擎与映射规则相分离的模型转换装置,其特征在于,所述映射规则库又分为:版类包、评测包、语句包及规则包。
3、根据权利要求2所述的支持转换引擎与映射规则相分离的模型转换装置,其特征在于,所述映射规则又包括:版类结点、评测结点、分支及语句结点;其中,所述版类结点是对版类的引用,所述评测结点是对评测的引用,所述语句结点是对语句的引用,所述分支用于连接所述评测结点与所述语句结点。
4、根据权利要求3所述的支持转换引擎与映射规则相分离的模型转换装置,其特征在于,所述映射规则中,所述版类结点、所述评测结点的个数为一个,所述分支、所述语句结点的个数为一个或多个。
5、根据权利要求3或4所述的支持转换引擎与映射规则相分离的模型转换装置,其特征在于,同一个版类、评测或语句包含于多个所述映射规则中,一个所述分支仅包含于一个所述映射规则中。
6、根据权利要求1、2或4所述的支持转换引擎与映射规则相分离的模型转换装置,其特征在于,所述映射规则查询引擎还包括:
一特征字符串查询模块,用于将所述代理规则传入的一特征字符串与所述映射规则中的另一特征字符串进行匹配并在两者相同时返回所述映射规则;或
一元模型查询模块,用于将所述代理规则传入的一元模型与所述映射规则中的另一元模型进行匹配并在两者相同时返回所述映射规则。
7、一种利用权利要求1所述模型转换装置实现转换引擎与映射规则相分离的模型转换方法,其特征在于,包括:
步骤71,通过所述模型提取器提取源模型中的模型元素,并传给所述代理规则管理器,所述代理规则管理器根据所述模型元素的类型得到与所述模型元素对应的代理规则;
步骤72,所述代理规则将所述模型元素传给所述映射规则查询引擎,所述映射规则查询引擎根据所述模型元素查询所述映射规则库得到与所述模型元素对应的映射规则,所述代理规则再将所述模型元素和所述映射规则传给所述映射规则执行引擎进行处理;及
步骤73,通过所述脚本合并器对所述映射规则执行引擎处理得到的目标脚本文件进行合并处理生成一个目标脚本文件,再通过所述脚本解释器解释所述目标脚本文件生成目标模型或代码。
8、根据权利要求7所述的支持转换引擎与映射规则相分离的模型转换方法,其特征在于,所述步骤72中,还包括:当所述模型元素未附加元模型时,由所述映射规则查询引擎以一特征字符串查询方式查询映射规则的步骤,具体为:所述映射规则查询引擎将所述代理规则传入的一特征字符串与所述映射规则中的另一特征字符串进行匹配并在两者相同时返回所述映射规则。
9、根据权利要求7所述的支持转换引擎与映射规则相分离的模型转换方法,其特征在于,所述步骤72中,还包括:当所述模型元素已附加元模型时,由所述映射规则查询引擎以一元模型查询方式查询映射规则的步骤,具体为:所述映射规则查询引擎将所述代理规则传入的一元模型与所述映射规则中的另一元模型进行匹配并在两者相同时返回所述映射规则。
10、根据权利要求7、8或9所述的支持转换引擎与映射规则相分离的模型转换方法,其特征在于,所述步骤72中,还包括一由所述模型提取器判断当前模型元素是否包含子元素的步骤,若含有,则返回至所述步骤71执行,否则,继续所述步骤73。
CNB2006101426257A 2006-10-25 2006-10-25 支持转换引擎与映射规则相分离的模型转换装置及其方法 Expired - Fee Related CN100517222C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2006101426257A CN100517222C (zh) 2006-10-25 2006-10-25 支持转换引擎与映射规则相分离的模型转换装置及其方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2006101426257A CN100517222C (zh) 2006-10-25 2006-10-25 支持转换引擎与映射规则相分离的模型转换装置及其方法

Publications (2)

Publication Number Publication Date
CN101169713A CN101169713A (zh) 2008-04-30
CN100517222C true CN100517222C (zh) 2009-07-22

Family

ID=39390353

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2006101426257A Expired - Fee Related CN100517222C (zh) 2006-10-25 2006-10-25 支持转换引擎与映射规则相分离的模型转换装置及其方法

Country Status (1)

Country Link
CN (1) CN100517222C (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101763261B (zh) * 2009-12-28 2013-01-23 山东中创软件商用中间件股份有限公司 数据抽取、转换和加载方法、系统
CN103377044B (zh) * 2012-04-24 2017-06-16 南京中兴新软件有限责任公司 一种规则生成系统、ipmc网络设备及规则生成方法
CN103425469A (zh) * 2012-05-17 2013-12-04 上海闻泰电子科技有限公司 基于mda技术的手机游戏代码生成方法
CN106919434B (zh) * 2017-03-22 2021-02-12 恒生电子股份有限公司 一种代码生成方法及装置
CN109194611B (zh) * 2018-07-24 2020-07-24 北京邮电大学 一种网间互联安全控制策略规则映射方法
CN110533162B (zh) * 2019-07-25 2022-01-07 中国科学院计算技术研究所 一种自动生成深度学习框架间操作映射的方法及系统
CN110750683A (zh) * 2019-09-20 2020-02-04 平安普惠企业管理有限公司 数据修改方法、装置、计算机设备及存储介质
CN112052012B (zh) * 2020-08-31 2022-11-11 烽火通信科技股份有限公司 基于xslt和xsd的代码自动生成方法和设备
CN112348458A (zh) * 2020-10-19 2021-02-09 湖南大唐先一科技有限公司 基于业务规则的流程模型匹配方法及系统

Also Published As

Publication number Publication date
CN101169713A (zh) 2008-04-30

Similar Documents

Publication Publication Date Title
CN100517222C (zh) 支持转换引擎与映射规则相分离的模型转换装置及其方法
CN101334728B (zh) 一种基于xml文档描述的界面生成方法和装置
Cordy et al. Source transformation in software engineering using the TXL transformation system
CN101271475B (zh) 一种商业智能系统
El Akkaoui et al. A model-driven framework for ETL process development
Syme et al. Expert F♯
US20090254881A1 (en) Code generation techniques for administrative tasks
US20090006987A1 (en) Visual design tools for portal content creation
US20050108684A1 (en) Method and system for generating an application object repository from application framework metadata
WO2007129224A2 (en) Legacy software modernization system
CN101221556A (zh) 一种xml文件解析的方法及装置
CN101887365A (zh) 用于构造基于组件的应用的可执行代码的方法和系统
CN101901265A (zh) 一种虚拟试验数据对象化管理系统
CN101546259A (zh) 支持运行时模型扩展的对象关系映射系统和方法
US8707260B2 (en) Resolving interdependencies between heterogeneous artifacts in a software system
Kolovos et al. The epsilon pattern language
Rademacher et al. Deriving microservice code from underspecified domain models using DevOps-enabled modeling languages and model transformations
Kongdenfha et al. Web service adaptation: Mismatch patterns and semi-automated approach to mismatch identification and adapter development
CN102520971A (zh) 基于cad软件的数据交互方法及装置
Taher Hands-On Object-Oriented Programming with C#: Build maintainable software with reusable code using C
Guduric et al. A comparison between relational and operational QVT mappings
Vale et al. COMODE: A Framework for the Development of Context-Aware Applications in the Context of MDE
Werner et al. A generic language for query and viewtype generation by-example
US20220075778A1 (en) Transforming operations of a computer program for execution at a database
Kammerer Enabling Personalized Business Process Modeling: The Clavii BPM Platform

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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20090722

Termination date: 20151025

EXPY Termination of patent right or utility model