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

技术编号:2820559 阅读:195 留言:0更新日期:2012-04-11 18:40
本发明专利技术属于计算机软件领域,具体涉及一种基于模型同步的软件工具集成方法。本发明专利技术通过设立同步规则,建立模型同步框架,实现模型间自动的细粒度同步转换,完成软件工具的集成。本发明专利技术的方法以模型同步的方式满足工具间数据一致性约束,该方法通过监听机制捕获和追溯模型的更新过程,实现同步过程的自动触发和细粒度更新,提高了同步效率,满足工具间数据一致性需求。

【技术实现步骤摘要】

本专利技术属于计算机软件领域,具体涉及。
技术介绍
软件生产环境是一个复杂的系统,包括用来辅助计算机软件开发、运行、维护、管理、 支持等过程中的活动或任务的众多软件工具(以下简称工具)。软件开发环境中的集成是 指该环境中的所有构件,包括工具、制品、平台支撑集成的基础设施(平台服务),能协 同工作起来,形成统一、 一致、和谐的整体。面向数据的软件工具集成是一种重要的工具 集成类型,它描述了被集成的工具间存在共享、关联数据时所应具有的属性,其中数据一 致性是重要属性。在工具对数据进行处理时,数据一致性维护工具间数据模型的同步,即 数据模型间满足某种事先定义的模型映射关系,对其中任一模型做出修改后,通过一个同 步过程,修改另一模型,并且修改后的模型之间仍保持这种映射。在实际应用场景中,工 具间的数据模型一致性主要体现为各种建模工具间、建模工具和源代码或文件编辑器间、 各种工具视图间的数据模型的同步。模型转换是工具间数据模型一致性保障,实现模型同步的重要方法。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 , Ralph Johnson , John Vlissides, Design patterns: elements of reusable object-oriented software, Addison-Wesley Longman Publishing Co. , Inc., Boston, MA, 1995 )实现。4. 模型映射管理器在本专利技术的模型同步框架中,模型映射管理器维护运行时各模型间的映射关系。当原 模型元素发生变更时,可以通过查询模型映射管理器获得目标模型的对应元素,同步过程 被缩小为以这两个元素为根的局部模型的更新,从而实现细粒度的同步。模型映射管理器 支持运行时更新,即同步规则执行器在执行同步规则后,若规则执行内容是创建新的目标 模型元素,则更新模型映射管理器,增加新创建的原模型元素与目标模型元素的映射关系, 以维系模型元素间的追溯关系。在本专利技术中,基于上述模型同步框架,软件工具集成方法包括以下步骤1、 通过扩展规则接口和上下文接口定义同步规则,加载到规则执行器,所述同步规 则包括执行条件和执行内容;2、 将原模型发生的变更封装成变更事件发送给监听器;所述原模型为结构化模型, 所述变更包括变更元素和变更行为;3、 监听器根据所述变更元素査询规则执行管理器,获取规则执行器;模型映射管 理器查询模型元素对应关系,获得目标模型的对应元素;4、 同步规则执行器判断同步规则内容是否满足目标模型的执行条件,若满足,同 步规则执行器根据变更行为执行同步规则,修改目标模型中的对应元素,更新模型映射 管理器;5、判断目标模型中被同步的元素是否包含关联同步规则,若包含则返回步骤3),否则完成软件工具的集成。上述软件工具集成方法中,根据模型映射管理器中的模型元素对应关系获得目标模 型中的对应元素的本文档来自技高网
...

【技术保护点】
一种基于模型同步的软件工具集成方法,其步骤包括: 1)通过扩展规则接口和上下文接口定义同步规则,加载到规则执行器,所述同步规则包括执行条件和执行内容; 2)将原模型发生的变更封装成变更事件发送给监听器;所述原模型为结构化模型,所述变更包括变更元素和变更行为; 3)监听器根据所述变更元素查询规则执行管理器,获取规则执行器;模型映射管理器查询模型元素对应关系,获得目标模型的对应元素; 4)同步规则执行器判断同步规则内容是否满足目标模型的执行条件,若满足,同步规则执行器根据变更行为执行同步规则,修改目标模型中的对应元素,更新模型映射管理器; 5)判断目标模型中被同步的元素是否包含关联同步规则,若包含则返回步骤3),否则完成软件工具的集成。

【技术特征摘要】

【专利技术属性】
技术研发人员:王伟刘丽张文博宋云奎钟华魏峻黄涛
申请(专利权)人:中国科学院软件研究所
类型:发明
国别省市:11[中国|北京]

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

1