模型变换中分析和呈现冲突以及自动协调模型变换的方法和系统技术方案

技术编号:2833617 阅读:166 留言:0更新日期:2012-04-11 18:40
提出了一种用于在模型变换过程中分析和呈现源模型的改变与目标模型的改变之间的冲突的方法和系统,所述方法包括以下步骤:将源模型与目标模型分别划分为源分段与目标分段;在源分段和目标分段之间创建链接;标识源模型或目标模型在分段级别上的改变;以及分析和呈现在源模型改变和目标模型改变之间的冲突。本发明专利技术还提出了一种用于自动协调模型变换的方法和系统,所述方法包括上述分析和呈现冲突的方法,还进一步包括以下步骤:根据上述分析和呈现冲突的方法所执行的分析结果,在存在冲突的情形下,解决源模型改变和目标模型改变之间的冲突;以及在冲突已被解决之后,或者在不存在冲突的情形下,构建出新的目标模型。

【技术实现步骤摘要】

本专利技术一般涉及模型变换,具体而言,本专利技术涉及一种用于在模型变 换过程中分析和呈现源模型的改变与目标模型的改变之间的冲突的方法和 系统,并且本专利技术进一步还涉及一种用于自动协调模型变换的方法和系统。
技术介绍
在面向对象
中,统一建才勤支术是当前占据重要地位的一种技术。1997年,由OMG组织(Object Management Group )发布了统一建 模语言(Unified Modeling Language, UML)。 UML是一种定义良好、易 于表达、功能强大且普遍实用的建模语言。它不仅可以支持面向对象的分 析与设计,更重要的是能够有力地支持从需求分析开始的软件开发的全过 程。UML的目标之一就是为开发团队提供标准通用的设计语言来开发和 构建计算机应用。UML提出了一套统一的标准建模符号,使得IT专业人 员能够进行计算机应用程序的建模。通过使用UML,这些专业人员能够 阅读和交流系统架构和设计规划,就像建筑工人多年来所使用的建筑设计 图一样。UML成为标准建模语言的原因之一在于,它与程序设计语言无 关。而且,UML符号集只是一种语言而不是一种方法学。这点很重要, 因为语言与方法学不同,它可以在不做任何更改的情况下4艮容易地适应任 何公司的业务运作方式。它提供了多种类型的模型描述困,当在某种给定 的方法学中使用这些图时,它使得开发中的应用程序更易理解。通过用标 准的UML图来表达一个项目,精通UML的人员就更加容易理解该项目 并迅速it^角色。最常用的UML图包括例图、类图、序列图、状态图、 活动图、组件图和部署图等。以上为例,当高级模型被构建完毕后将被变换为低亂漢型,并且此情 形还可出现在多种模型驱动的解决方案的开发过程中。接着,解决方案开 发者可能通过细化、增强、优化、实现等方式来改变经过变换的低叙^莫型。而出于以下原因,这些低级模型上的改变通常无法氛良映在高級模型上1)高级模型和低级模型处于不同的抽象级别,因此某些低级改变过于 细微而不会被反映在高级模型上。2 )对于复杂和大型解决方案的开发来说,其中包括多个解决方案开发 者,而负责高^^莫型的开发者往往不是负责低,型的开发者。因此,后 者可能不愿意惹麻烦与前者进行沟通,以通知这些低级模型上的改变。3)即使原因2)得以解决,也需要对改变后的低M^I型进行反向变换。 而反向变换就算不是不可能,也是很困难的。那么,由以上可见,在原始的高级模型和改变后的低亂漢型之间存在 差距。此外,根据不断变化的需求,原始的高,型也必须被相应改变, 并因此应该再次进行变换,以将新的改变反映到低亂漠型。例如,参考图 1将使得该描述更加清晰。图1例示了对于所要解决的技术问题的图示描 述,其中,sO为原始的高il^莫型(即改变前高级模型),tO为从sO经过变 换得到的低级才莫型(即改变前低级冲莫型),sl为4艮据需求对s0进行改变的 改变后高级模型,tl为对t0进行改变的改变后低IS^莫型,而t2为所需要 的通过对sl进行变换同时包含tl中的必要改变的新生成的4氐,型。可 清楚看出,怎样在对sl进行变换的同时将现有的改变后低,型tl考虑 进来是一项巨大挑战,即,怎样呈现出sl和tl中的改变之间的冲突并使 sl和tl中的改变相协调以生成新的t2,其难点主要在于1 )怎样判断高级才莫型上的改变是否与低级模型上的现有改变相冲突?2 )怎样在再次变换中在新生成的低级才莫型中实现低级模型上的改变? 目前,可以由解决方案开发者手动解决这些问题。他们将改变后高级模型sl重新变换为全新的低^M莫型t2,比较所生成的低^M莫型t2与之前 的改变后低级才莫型tl以找到两者之间的冲突并标识出可重用的模型元素, 然后将从t0到tl的改变手动映射到t2来消除这些沖突。但是,手动方式具有以下两种明显缺点1 )手动方式将花费大量工作和时间来分析冲突以及将兼容的改变从改 变后低级模型tl拷贝到新生成的低级模型t2。2 )手动进行的冲突分析的准确性和一致性值得怀疑,其很大程度上依 赖于解决方案开发者本人,而不是模型变换中的沖突自身。因此,关键是要提供一种用于在模型变换过程中分析和呈现冲突以及 自动协调模型变换的方法和系统,其减少了对于不停变化的需求调整解决方案的工作和困难,节省由模型驱动的解决方案的开发方法所带来的成本 和时间,并且提高解决方案的质量和稳定性。为了遵循公知的与模型变换相关的术语,在以下部分中,使用源模 型来表示高级模型,使用目标模型,,来表示低级模型。尽管还没有自动协调模型变换的方法或系统,但是存在一些相关的技 术,包括但不局限于1) Rational Software Architect ( RSA )的双向工程; 2) Eclipse Modeling Framework (EMF)中的模型代码同步;以及3)递 增变换。下面对其--加以对比和解释。1)在http:〃www-306.ibm.com/software/awdtools/architect/swarchitect/ 处可找到关于RSA的细节。对于RSA中的双向工程,UML模型起初被 自动变换为代码,模型元素的全球唯一标识(GUID,用于通过特定算法 给某个实体(诸如文档)创建一个唯一的标识码,而GUID值就是这个唯 一的标识码)被写入到对应代码元素的特殊注释中,以指示它们之间的跟 踪关系。因此,对UML模型的改变可被自动反映到对应的代码,反之亦 然。但是,该方案难于被应用到可协调的模型变换,因为使用GUID来 指示5M宗关系并没有强大到能够支持多个源元素被变换为多个目标元素的 复杂变换。2 )在http:〃www.ecHpse.org/emf处可找到关于EMF中的模型ft码同 步的细节。当将已改变的Ecore模型重新生成为代码时,EMF允许用户选 择是否保护某些现有代码不被盖写。但是用户应该事先判断哪部分代码与 已改变的Ecore模型不会沖突。3 )在Sven Johann, Alexander Egyed的 Instant and Incremental Transformation of Models ( Proceedings of the 19th IEEE ICASE, Linz, Austria, 2004年9月)中可找到关于递增变换的细节。上迷文档解决了从 源模型到目标模型的递增模型变换,即,仅有哪些已改变的源模型元素被 重新变换,并被合并到之前的目标模型,以便节省工作。不过,此方案未 考虑到之前的目标模型可能在重新变换之前被改变的情形。
技术实现思路
为了解决上述方案所存在的缺陷,并达到在模型变换过程中分析和呈 现源模型的改变与目标模型的改变之间的沖突,并自动协调模型变换的效 果,而提出了本专利技术。根据本专利技术的一个方面,提出了一种用于在模型变换过程中分析和呈 现源模型的改变与目标才莫型的改变之间的沖突的方法,包括以下步骤将 源模型与目标模型分别划分为源分段与目标分段;在源分段和目标分段之 间创建链接;标识源模型或目标模型在分段级别上的改变;以及根据所述 源分段和目标分段之间的链接以及所标识的分段级别上的改变来分析在源 模型改变和目标模型改变之间的冲突,并呈现沖突分析结果。优选地,所述源模型本文档来自技高网
...

【技术保护点】
一种用于在模型变换过程中分析和呈现源模型的改变与目标模型的改变之间的冲突的方法,包括以下步骤:将源模型与目标模型分别划分为源分段与目标分段;在源分段和目标分段之间创建链接;标识源模型或目标模型在分段级别上的改变;以及 根据所述源分段和目标分段之间的链接以及所标识的分段级别上的改变来分析在源模型改变和目标模型改变之间的冲突,并呈现冲突分析结果。

【技术特征摘要】
1.一种用于在模型变换过程中分析和呈现源模型的改变与目标模型的改变之间的冲突的方法,包括以下步骤将源模型与目标模型分别划分为源分段与目标分段;在源分段和目标分段之间创建链接;标识源模型或目标模型在分段级别上的改变;以及根据所述源分段和目标分段之间的链接以及所标识的分段级别上的改变来分析在源模型改变和目标模型改变之间的冲突,并呈现冲突分析结果。2. 如权利要求l所述的方法,其中所述源模型包括改变前源模型和改 变后源模型,其中所述目标模型包括改变前目标模型和改变后目标模型, 其中所述改变前目标模型从改变前源模型变换而来。3. 如权利要求i或2所述的方法,其中所述方法还包括以下步骤 根据源模型到目标模型的模型变换规则来定义分段规则以及分段关系规则。4. 如权利要求3所述的方法,其中所述模型划分步骤根据所迷分段规 则以及分段关系规则来执行,通过应用所迷分段规则以及分段关系规则来 遍历所述改变前源模型、改变前目标模型,将上述两种模型划分为分段模 型,得到两者的分段列表,并且基于上述划分出的分段列表,同样遍历所 述改变后源模型和改变后目标模型,将该两种模型划分为分段模型,得到 两者的分段列表。5. 如权利要求1或2所述的方法,其中所述创建链接步骤是根据预先 定义的链接存在判断标准来执行的,其中所述链接存在判断标准是根据所 述模型变换规则定义的,其中所述链接是一对一联系。6. 如权利要求1或2所述的方法,其中所述标识步骤还包括以下步骤 根据预先定义的分段比较标准来比较改变前模型与改变后模型之间的对应分段;以及根据预先定义的分段变化标识标准,标识出源模型变换成目标模型后 在分段级別上的改变。7. 如权利要求6所述的方法,其中所述分段比较标准是基于源分段与 爵标分段的类型、主要属性和次要属性来建立的,所述比较结果包括相同、 稍微不同以及完全不同。8. 如权利要求6所述的方法,其中所述分段变化标识标准是基于上述 比较结果来定义的,所述分段级别上的改变包括分段未改变、分段被添 加、分段被删除和分段被修改,其中所述分段被修改还包括修改属性。9. 如;J5L利要求1或2所述的方法,其中所述分析和呈现沖突的步骤还 包括以下步骤在所述改变前源模型上标记出源分段改变,以及在所述改变前目标模 型上标记出目标分段改变;将带有所标记出的改变的改变前源模型和改变前目标模型合并起来;遍历合并结果并检测其中的源改变标记和目标改变标记来执行冲突分 析,其中所述冲突分析步骤是4艮据预先定义的冲突标识标准来执行的;以 及以可视方式呈现出在分段级别上的冲突。10. 如权利要求9所述的方法,其中所述以可视方式呈现出在分段级 别上的冲突的步骤的执行结果为统一改变标记图,其是将所述改变前源模 型和改变前目标模型中标记出的改变合并到同一个公共1^上而得出的。11. 如权利要求l-10中任一项所述的方法,还包括以下步骤 由用户手动制定或调整以下各项中的至少一项模型分段规则、分段关系规则、链接存在判断标准、分段比较标准、分段变化标识标准以及冲 突标识标准。12. —种用于在模型变换过程中分析和呈现源模型的改变与目标模型 的改变之间的冲突的系统,包括分段划分器,用于将源模型与目标模型分别划分为源分段与目标分段; 链接创建器,用于在源分段和目标分段之间创建链接; 分段改变标识器,用于标识源模型或目标模型在分段级别上的改变;以及冲突分析与呈现器,用于根据所述源分段和目标分段之间的链接以及 所标识的分段级别上的改变来分析在源模型改变和目标模型改变之间的沖 突,并呈现冲突分析结果。13. 如权利要求12所述的系统,其中所述源模型包括改变前源模型和 改变后源模型,其中所述目标模型包括改变前目标模型和改变后目标模型, 其中所述改变前目标模型从改变前源模型变换而来。14. 如权利要求12或13所述的系统,其中所述系统还包括规则定义装置,用于根据源模型到目标模型的模型变换规则来定义分 段规则以及分段关系规则。15. 如权利要求14所述的系统,其中所述分段划分器还包括 划分装置,其根据所述分段规则以及分段关系规则来工作,用于通过所述分段规则以及分段关系规则来遍历所述改变前源模型、改变前目标模 型,将上述两种模型划分为分段模型,得到两者的分段列表,并且基于上 述划分出的分段列表,同样遍历所述改变后源模型和改变后目标模型,将 该两种模型划分为分段模型,得到两者的分段列表。16. 如权利要求12或13所述的系统,其中所述链接创建器是根据预 先定义的链接存在判断标准来工作的,其中所述链接存在判断标准是根据 所述模型变换规则定义的,其中所述链接是一对一联系。17. 如权利要求12或13所述的系统,其中所述分段改变标...

【专利技术属性】
技术研发人员:周欣刘英刘英华朱俊王健白鑫鑫
申请(专利权)人:国际商业机器公司
类型:发明
国别省市:US[美国]

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

1