映射规则的可视化生成方法及系统技术方案

技术编号:2837385 阅读:228 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种映射规则的可视化生成方法和系统。其中,该映射规则的可视化生成方法包括以下步骤:S102,采用模型驱动方法生成映射规则库系统,以支持映射规则的可视化建模、存储和访问;以及S104,根据具体模型转换的需要,利用映射规则库系统生成相应的映射规则。发明专利技术将映射关系的表示方式从代码的表示层次提升到了基于模型的表示层次,简化了模型转换引擎的开发工作,降低了模型转换的技术难度,从而能够缩短模型转换引擎的开发时间。

【技术实现步骤摘要】

本专利技术涉及计算机
,更具体地涉及一种映射规则的可视化生成方法及系统
技术介绍
对象管理组织(Object Management Group,简称OMG)于2002年底提出了新的系统软件开发方法-模型驱动架构(Model DrivenArchitecture,简称MDA)。该架构的核心思想是将系统的业务功能逻辑与实现平台技术相分离,避免造成业务逻辑和实现技术的紧耦合,同时,MDA可以通过模型转换技术将平台独立的系统功能模型映射到不同的实现平台模型上,最终实现到具体代码的转换。从而可以长期保持软件系统的移植性、互操作性、和可重用性,以应对未来的技术变化,延长软件的生命期。目前,基于MDA的软件开发-模型驱动开发(Model Driven Development,简称MDD)已经引起了学术界和工业界的高度关注和重视。模型转换技术是基于MDA的软件开发的关键技术之一,它是保持MDA中不同抽象层次模型间联系的纽带。利用模型转换技术,可以实现平台独立模型(Platform Independent Model,简称PIM)到平台相关模型(Platform Specific Model,简称PSM)的转换,以及平台相关模型到实现代码的转换。基于元模型的模型转换技术就是根据源元模型和目标元模型之间的映射关系将源模型转换为目标模型,因此这种映射关系的表示是模型转换的一个重要技术。现有的MDA工具在模型转换方面存在的一个缺陷就是,模型间转换的映射规则主要通过直接编写代码来实现,并且映射关系与具体的转换引擎也是绑定的,缺乏灵活性。由于不支持映射规则的可视化建模和代码的自动生成,因此要求开发人员具有深厚的专业背景知识,从而增加了模型转换引擎的开发难度。由上可见,需要提供一种映射规则的可视化生成方法及系统,以解决映射规则的可视化建模、永久存储、以及访问的问题。
技术实现思路
鉴于以上的一个或多个问题,本专利技术提供了一种映射规则的可视化生成方法及系统,用于解决映射规则的可视化建模、永久存储、和访问问题。为了支持映射规则的可视化生成,本专利技术利用开源的Eclipse平台提供的建模框架(Eclipse Modeling Framework,简称EMF)来定义映射规则建模语言,并基于EMF的插件技术来构建可视化的映射规则建模环境,以支持映射规则的建模、存储和访问。根据本专利技术的映射规则的可视化生成方法包括以下步骤S102,生成用于为用户提供映射规则的建模、存储、和访问的映射规则库系统。其中,该系统的生成具体包括以下步骤S1022,定义映射规则的描述规范。映射规则属于静态映射规则,是一种静态的表示源模型元素和目标模型元素映射关系的规则;映射规则主要包括版类(Stereotype)结点、评测结点、分支(Branch)、语句结点。其中,分支用来连接评测结点和语句结点。一个映射规则中只能包含一个版类结点和评测结点,但可以包含多个分支结点和语句结点。同样地,一个版类、评测、或语句也可以被多个映射规则引用,但分支只能包含在一个映射规则中。S1024,构建映射规则库的Ecore模型。利用Eclipse EMF框架提供的Ecore建模元素描述映射规则库的元模型(包括映射规则库的语法和具体的组成元素),形成一个映射规则库的Ecore模型。映射规则库对应于MapruleDataBase Ecore类,下面包括对应于四个Ecore类的四个子库,分别是MapruleDB、StereotypeDB、EvaluateDB、和StatementDB。而每个子库都可以包括多个相应的元素。其中,MapruleDB包含多个Maprule,StereotypeDB包含多个Stereotype,EvaluateDB包含多个Evaluate,StatementDB包含多个Statement。Maprule对应于映射规则,它由五种元素构成,其中,StereotypeNode、EvaluateNode、StatementNode这三个元素都是从Node Ecore类继承的,分别是Stereotype、Evaluate、Statement的引用。此外,Maprule还包含Branch(对应于分支结点)和MapruleTester(用来对规则的正确性进行测试)。S1026,利用向导生成映射规则库的EMF模型。当Ecore模型构建完毕后,可以通过向导生成EMF模型,即后缀名为genmodel的模型。EMF模型和Ecore模型保持相同的结构。S1028,生成映射规则库的Model、Edit和Editor代码,并将这些代码作为Eclipse平台的一个插件。其中,用映射规则库的EMF模型生成Model、Edit、Editor的代码。Model代码主要用来修改模型元素的信息;Edit代码主要提供了一种位于Editor代码和Model代码之间的中介者的作用,它负责把来自Editor的用户编辑界面(User Interface,简称UI)相关的请求转换成符合Model的UI无关的调用。Editor则提供了一个简单的映射规则库模型编辑器来实现映射规则模型实例的编辑。S104,生成映射规则。利用生成的映射规则库插件,可以根据模型转换的需要,生成相应的映射规则。其中,该映射规则的生成具体包括以下步骤S1042,启动Eclipse,使用映射规则库创建向导创建一个映射规则库实例。S1044,根据模型转换的映射关系建模相应的映射规则,使用映射规则编辑器来编辑具体的映射规则模型(包括涉及到的版类、分支、评测和语句结点)。并判断所有的映射规则是否建模完毕,如果都已建模完毕,则将所有的映射规则都保存到相应的映射规则库文件中。否则,续进行映射规则的建模。当所有映射规则建模完毕后,可以配置映射规则库相关的属性,为映射规则代码的生成作准备。通过Eclipse插件技术,提供了映射规则库的属性页以及工具条的按钮。配置映射规则库相关的属性(例如,映射规则库的存放路径等)。S1046,映射规则生成器从文件中读出映射规则库中各元素及其间的关系,生成Eclipse的一个Java项目,从而生成映射规则代码。具体包括以下三个步骤①映射规则生成器提供一个属性页,来设置Java项目的名称。映射规则生成器先读取属性页设置的名称,使用Eclipse API来创建Java项目。然后设置Java项目的src目录的各classpath(包括在src引用到其它的包)。②使用生成的Edit代码从文件中读取Evaluate、Branch、Statement,分别使用ParseEvaluate、ParseBranch、ParseStatement三个函数对这些元素进行处理,对每种元素都依据一定的代码模式来生成代码,并保存到代码代表(sources)中。③根据生成的代码的信息创建相应的Java包。再利用Eclipse API在相应的包下面创建相应的Java源文件,并将生成的代码写入该源文件中,然后使用Eclipse API对它进行Organize Import和format。根据本专利技术的映射规则的可视化生成系统包括映射规则库系统生成装置,用于采用模型驱动方法生成映射规则库系统,以支持映射规则的可视化建模、存储和访问;以及映射规则生成装置,用于根据本文档来自技高网
...

【技术保护点】
一种映射规则的可视化生成方法,其特征在于,包括以下步骤:    S102,采用模型驱动方法生成映射规则库系统,以支持映射规则的可视化建模、存储和访问;以及    S104,根据具体模型转换的需要,利用所述映射规则库系统生成相应的映射规则。

【技术特征摘要】
1.一种映射规则的可视化生成方法,其特征在于,包括以下步骤S102,采用模型驱动方法生成映射规则库系统,以支持映射规则的可视化建模、存储和访问;以及S104,根据具体模型转换的需要,利用所述映射规则库系统生成相应的映射规则。2.根据权利要求1所述的映射规则的可视化生成方法,其特征在于,所述方法采用基于开源项目Eclipse平台提供的建模框架。3.根据权利要求2所述的映射规则的可视化生成方法,其特征在于,所述步骤S102包括S1022,限定表示源模型元素和目标模型元素映射关系的所述映射规则,所述映射规则包括版类结点、评测结点、分支、语句结点;S1024,根据所述Eclipse平台提供的Ecore建模元素形成所述映射规则的Ecore模型;S1026,利用所述映射规则的Ecore模型形成EMF模型;以及S1028,利用所述EMF模型生成Model、Edit和Editor的代码,并将所述代码作为所述映射规则库系统的插件。4.根据权利要求3所述的映射规则的可视化生成方法,其特征在于,所述步骤S104包括S1042,启动所述Eclipse平台,通过所述映射规则库系统创建映射规则库实例;S1044,根据所述具体模型转换的映射关系建模相应的映射规则,形成具体的映射规则模型,以及在所述映射规则模型建模完毕后,将所述映射规则保存至对应的映射规则库文件中并且配置所述映射规则库的相关属性;S1046,从所述映射规则库文件中获取所述映射规则库中的各个元素和所述元素之间的关系信息生成映射规则代码。5.根据权利要求1至4中任一项所述的映射规则的可视化生成方法,其特征在于,一个所述映射规则包括一个版类结点,一个测评结点、以及至少一个分支和语句结点,其中,分支用来连接所述评测结点和所述语句结点,一个映射规则中只能包含一个所述版类结点和所述评测结点,但可以包含多个所述分支结点和所述语句结点,一个版类结点、评测结点、或语句...

【专利技术属性】
技术研发人员:李晓峰董振江沈蓓洁乔秀全宋小兵杨勇吴豫宁滕广松
申请(专利权)人:中兴通讯股份有限公司北京邮电大学
类型:发明
国别省市:94[中国|深圳]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1