首页> 中国专利> 一种基于模型同步的软件工具集成方法

一种基于模型同步的软件工具集成方法

摘要

本发明属于计算机软件领域,具体涉及一种基于模型同步的软件工具集成方法。本发明通过设立同步规则,建立模型同步框架,实现模型间自动的细粒度同步转换,完成软件工具的集成。本发明的方法以模型同步的方式满足工具间数据一致性约束,该方法通过监听机制捕获和追溯模型的更新过程,实现同步过程的自动触发和细粒度更新,提高了同步效率,满足工具间数据一致性需求。

著录项

  • 公开/公告号CN101349970A

    专利类型发明专利

  • 公开/公告日2009-01-21

    原文格式PDF

  • 申请/专利权人 中国科学院软件研究所;

    申请/专利号CN200810119280.2

  • 申请日2008-09-02

  • 分类号

  • 代理机构北京君尚知识产权代理事务所;

  • 代理人余长江

  • 地址 100190 北京市海淀区中关村南四街4号

  • 入库时间 2023-12-17 21:23:40

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2022-08-12

    未缴年费专利权终止 IPC(主分类):G06F 9/44 专利号:ZL2008101192802 申请日:20080902 授权公告日:20110824

    专利权的终止

  • 2011-08-24

    授权

    授权

  • 2009-03-11

    实质审查的生效

    实质审查的生效

  • 2009-01-21

    公开

    公开

说明书

技术领域

本发明属于计算机软件领域,具体涉及一种基于模型同步的软件工具集成方法。

背景技术

软件生产环境是一个复杂的系统,包括用来辅助计算机软件开发、运行、维护、管理、支持等过程中的活动或任务的众多软件工具(以下简称工具)。软件开发环境中的集成是指该环境中的所有构件,包括工具、制品、平台支撑集成的基础设施(平台服务),能协同工作起来,形成统一、一致、和谐的整体。面向数据的软件工具集成是一种重要的工具集成类型,它描述了被集成的工具间存在共享、关联数据时所应具有的属性,其中数据一致性是重要属性。在工具对数据进行处理时,数据一致性维护工具间数据模型的同步,即数据模型间满足某种事先定义的模型映射关系,对其中任一模型做出修改后,通过一个同步过程,修改另一模型,并且修改后的模型之间仍保持这种映射。在实际应用场景中,工具间的数据模型一致性主要体现为各种建模工具间、建模工具和源代码或文件编辑器间、各种工具视图间的数据模型的同步。

模型转换是工具间数据模型一致性保障,实现模型同步的重要方法。XSLT(参见文献:XSLT home,http://www.w3.org/TR/xslt)是一种处理XML格式的模型转换的规范,它通过编写转换规则对xml文件信息进行筛选、修改,从而完成模型之间的转换。但是,这种转换方法引入了大量的结构拷贝动作,对模型的每一次修改都会导致整个模型文件的重新转换,降低了转换效率。ATL(参见文献:ATL Project home,http://www.eclipse.org/m2m/atl/)提供一种语言描述模型之间的关系,定义模型之间的转换规则,通过ATL虚拟机解析并执行转换规则,完成模型转换。同样的,利用ATL也无法支持细粒度的修改,对原模型或目标模型的修改,会触发整个模型的转换过程。

随着软件工具功能的日益增强,工具数据模型也变得更加复杂,目前低效率的模型转换方法已经无法满足工具数据集成的需求。

发明内容

针对上述软件工具集成方法中所存在的问题和不足,本发明的目的是提供一种基于细粒度模型同步的软件工具集成方法,提高工具间数据模型的转换效率。该方法通过一个模型同步框架,实现模型间自动的细粒度同步转换,完成软件工具的集成。

模型同步即原模型与目标模型满足某种事先定义的模型映射关系,对其中任一模型做出修改后,通过一个同步过程,修改另一模型,使得修改后的两个模型仍然满足模型映射关系,完成软件工具的集成。本发明的模型同步框架要求被同步的模型是一种结构化模型,模型同步框架定义同步规则接口,提供模型监听和同步规则执行机制。开发人员通过扩展框架的接口,定义具体模型之间的同步规则,设置模型的监听过程,完成工具间的数据集成。

本发明中基于模型同步的软件工具集成方法中的模型同步框架包含同步规则、同步规则执行器、监听器、模型映射管理器等四个组成部分。

1.同步规则

在本发明的模型同步框架中,同步规则以原模型对象的修改部分为输入,目标模型对象的对应部分为输出,实现功能逻辑上相对独立的同步任务。当原模型对象某部分发生变更后(这种变更既可能是内容的修改,也可能是添加、删除动作),同步规则定义目标模型对象的对应部分的变更规则。在本发明中,同步规则是一种模型转换的逻辑,工具集成开发人员负责设计和实现这种逻辑。由于同步规则需要考虑到模型间数据一致性的问题,因而同步规则的设计需要保证其正确性。

本发明的一个同步过程由同步规则执行器执行一组同步规则完成,一个同步规则主要进行规则执行条件的判断和规则内容的执行,同步规则包括执行条件和执行内容,包括规则接口和上下文接口,通过扩展这两个接口来定义同步规则,如图2所示。

规则接口定义规则执行条件判断和规则内容执行两个抽象方法内容。规则执行条件判断方法确定在一个同步过程中规则能否被执行;规则执行内容执行方法定义同步规则的执行动作。上下文接口是同步规则中共享数据的容器接口,它定义存取共享数据的抽象方法,按照一定的标识进行数据存取。共享数据记录同步规则所属模型元素的子元素。在同步规则的执行过程中,上下文在同步规则之间传递,每一个同步规则通过上下文接口实现共享数据的存取。执行同步规则后,原模型和目标模型仍然满足映射规则。

2.同步规则执行器

在本发明的模型同步框架中,同步规则执行器包括规则执行器和规则执行管理器,其中,规则执行器进行同步规则的加载、初始化和执行;规则执行管理器进行规则执行器的创建和规则的验证。同步规则执行器按照同步规则完成模型间的同步过程,即通过同步规则执行器判断规则执行条件,执行同步规则,判断是否包含关联规则并执行关联规则,进而递归地完成同步过程。

其中判断是否包含关联规则是通过判断上下文接口提供的共享数据读取方法完成。由于共享数据记录同步规则的所属模型元素的子元素,因此同步规则执行器将按照深度优先的遍历方式依次对每个模型元素执行同步过程,保证从一个节点发起的同步过程可以覆盖该节点的所有子节点并终止。

3.监听器

在本发明的模型同步框架中,原模型的一个模型元素发生变化后,将变更封装成变更事件并发送给监听器,变更事件包含变更元素和变更行为。监听器捕获原模型的变更事件后,将变更事件包含的变更行为传递给目标模型,进而实现模型间的同步。监听机制是实现监听器的基础,可参考观察者模式(参见文献:Erich Gamma,Richard Helm,RalphJohnson,John Vlissides,Design patterns:elements of reusable object-orientedsoftware,Addison-Wesley Longman Publishing Co.,Inc.,Boston,MA,1995)实现。

4.模型映射管理器

在本发明的模型同步框架中,模型映射管理器维护运行时各模型间的映射关系。当原模型元素发生变更时,可以通过查询模型映射管理器获得目标模型的对应元素,同步过程被缩小为以这两个元素为根的局部模型的更新,从而实现细粒度的同步。模型映射管理器支持运行时更新,即同步规则执行器在执行同步规则后,若规则执行内容是创建新的目标模型元素,则更新模型映射管理器,增加新创建的原模型元素与目标模型元素的映射关系,以维系模型元素间的追溯关系。

在本发明中,基于上述模型同步框架,软件工具集成方法包括以下步骤:

1、通过扩展规则接口和上下文接口定义同步规则,加载到规则执行器,所述同步规则包括执行条件和执行内容;

2、将原模型发生的变更封装成变更事件发送给监听器;所述原模型为结构化模型,所述变更包括变更元素和变更行为;

3、监听器根据所述变更元素查询规则执行管理器,获取规则执行器;模型映射管理器查询模型元素对应关系,获得目标模型的对应元素;

4、同步规则执行器判断同步规则内容是否满足目标模型的执行条件,若满足,同步规则执行器根据变更行为执行同步规则,修改目标模型中的对应元素,更新模型映射管理器;

5、判断目标模型中被同步的元素是否包含关联同步规则,若包含则返回步骤3),否则完成软件工具的集成。

上述软件工具集成方法中,根据模型映射管理器中的模型元素对应关系获得目标模型中的对应元素的过程,保证了同步规则执行器从原模型被修改的部分及目标模型的相应部分开始同步,从而实现模型的同步;针对步骤4中目标模型的修改情况,更新模型映射管理器的过程,维系了模型元素间的追溯关系,实现了模型间的双向细粒度同步。

在本发明提出的软件工具集成方法中,若原模型不支持监听机制,按照观察者模式定义通知发送者接口,并通过通知发送者接口扩展原模型。

本发明提出一种基于模型同步的软件工具集成方法,其优点和应用如下:

1、本发明的方法以模型同步的方式满足工具间数据一致性约束,该方法通过监听机制捕获和追溯模型的更新过程,实现同步过程的自动触发和细粒度更新,提高了同步效率。

2、本发明可为软件生产环境中的工具,如模型设计、代码编辑、部署配置等工具提供集成支持,实现工具间数据模型的细粒度同步,满足工具间数据一致性需求。

附图说明

图1模型同步框架结构图。

图2同步规则接口和同步规则执行器示例图。

图3监听机制示例图。

图4模型同步方法的流程图。

图5开发人员根据模型同步框架形成具体模型同步方案的流程图。

具体实施方式

以下结合附图对本发明进行详细说明。

本发明提出一种基于模型同步的软件工具集成方法,其核心思想是通过一个模型同步框架,实现模型间自动的细粒度同步转换。模型同步框架为实现两个结构化模型间的细粒度同步提供指导框架和执行引擎,它定义一个基于规则的执行过程,提供监听机制,并定义一组接口和抽象方法。开发人员通过扩展接口,设置对工具数据模型的监听,定义具体数据模型之间的同步规则,通过规则执行器完成工具间的模型同步过程,实现工具的数据集成。

本发明中的模型同步框架,如图1所示,包含同步规则、同步规则执行器、监听器、模型映射管理器等四部分组成。

1)同步规则和同步规则执行器

如图2所示,同步规则包括规则接口和上下文接口,开发人员通过扩展这两个接口来定义同步规则。规则接口进行规则执行条件和执行内容的定义。上下文接口是同步规则中共享数据的容器接口,它定义共享数据的存取方法,并按照一定的标识进行数据存取。在同步规则的执行过程中,上下文会在同步规则之间传递,每一个规则通过上下文接口实现共享数据的存取。

同步规则执行器包括规则执行器和规则执行管理器。规则执行器进行规则的加载和初始化。规则执行管理器实现规则执行器的创建和规则的验证。

2)监听器与模型映射管理器

本实施例将监听器功能与模型映射管理器合并,由监听适配器提供。如图3所示,监听器包括监听者接口、监听适配器接口,其中监听适配器接口扩展监听者接口;开发人员通过扩展监听适配器接口实现监听适配器,该监听适配器需实现监听者接口,从而实现对模型变更事件的处理。同时,在监听适配器内部,开发人员通过保存原模型元素对象地址和目标模型元素对象地址的映射关系,实现对应关系的查找和维护,从而具备模型映射管理器的功能。

对于不支持监听机制的模型,首先需要按照观察者模式定义通知发送者接口,并通过通知发送者接口对原模型进行扩展,使得扩展后的模型支持监听机制。

通知发送者接口是监听机制中的发送者,它维护一组监听者列表,提供监听者的添加、删除、获取等方法,并通过通知发送方法将变更事件发送给监听者。监听者接口是监听机制中的监听者,它通过通知变更方法进行变更事件的接收和处理。

下面给出一个具体的基于模型同步的软件工具集成方法,模型同步方法的流程如图4所示:

当原模型的一个模型元素发送变更后,向监听器发送变更事件通知,触发监听适配器的通知变更方法;通过查询规则执行管理器,获取规则执行器,如果还未创建,则创建规则执行器,并进行同步规则的装载;通过查询模型元素对应关系获得目标模型的对应元素,然后通过同步规则执行器进行对应元素的同步更新;在同步更新过程中,首先验证同步规则是否满足执行条件,若满足则执行同步规则,修改目标模型,否则抛出条件异常;在执行同步规则过程中,针对修改情况,更新模型映射管理器;同步规则执行后,判断是否包含关联同步规则,若包含则继续执行同步规则,否则完成模型同步过程。

在本发明的软件工具集成方法中,开发人员根据模型同步框架形成具体的模型同步方案,其流程如图5所示,开发人员首先确定模型是否支持监听机制,若不支持则扩展原模型,实现通知发送者接口;扩展监听适配器,实现监听者接口;实现同步规则接口定义的规则执行条件和执行内容,实现上下文接口定义的共享数据存取方法。

尽管为说明目的公开了本发明的具体实施例和附图,其目的在于帮助理解本发明的内容并据以实施,但是本领域的技术人员可以理解:在不脱离本发明及所附的权利要求的精神和范围内,各种替换、变化和修改都是可能的。因此,本发明不应局限于最佳实施例和附图所公开的内容。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号