没有合适的资源?快使用搜索试试~ 我知道了~
模型转换的Eclipse插件生成
理论计算机科学电子笔记152(2006)39-52www.elsevier.com/locate/entcsEclipse编辑器插件生成中的模型转换KarstenEhrig1,ClaudiaErm el2, St efanHans gen3Institutfur?SoftwaretetechnikundTheoretischeIinforormatikTechnischeUniversitit?tBerlin德国摘要随着模型驱动开发的重要性日益增长,将模型转换为定义良好的语义域的能力成为软件开发过程中自动代码生成或验证的关键。在本文中,我们描述了一个高层次的概念,通过类型化,属性图转换在源语言和目标语言的正式视觉语言规范的水平上指定模型转换。 在实现层面,已经开发了一个基于图形转换的可视化编辑器Eclipse插件生成器,该生成器来自正式的可视化语言规范。在此生成器的基础上,我们讨论的概念,实现所提出的模型转换的概念,并与所生成的Eclipse plug-ins. We解释的概念,模型转换和它们的实现沿着一个具体的模型转换,从活动图到Petri网的集成。关键词:模型转换,Eclipse,编辑器插件,代码生成,图形转换1介绍虽然视觉语言(VL)变得越来越流行,但对于哪种符号最适合描述它们,存在争议。对于文本语言,使用语法的语法被广泛接受,但视觉语言有两个主要的竞争方法。一个涉及图1Email:karste n e@cs. tu-b erli n. D e2Email:lieske@cs. tu-ber li n. De3Email:hae n s g e n @cs. tu-b erli n. D e1571-0661 © 2006 Elsevier B. V.在CC BY-NC-ND许可下开放访问。doi:10.1016/j.entcs.2006.01.01340K. Ehrig等人理论计算机科学电子笔记152(2006)39grammars [1],它将语法概念从文本语言扩展到di-agram。另一种方法,称为元建模,基于MOF [12],并要求使用UML类图来建模可视化语言的抽象语法。虽然类图看起来比图表更直观,但它们的表达能力也更差.因此,元建模还使用了对象约束语言(OCL)[13]中编写的上下文条件,以帮助克服较弱的表达能力。 元建模的优点是,UML用户可能具有基本的UML知识,但是,无论元建模技术多么直观,使用它来定义UML仍然局限于描述抽象语法;图表示(具体语法)和定义形式语义的问题仍然存在。模型转换是必需的,例如,对转换后的模型执行验证或一致性检查[9],模拟模型的编译器,或从可视化模型定义代码生成。通过图转换规则指定的自动可执行模型转换[9]已被证明是源语言和目标语言都是可视化语言的情况下的适当方法。变换规则的图形符号支持直观的理解,并且基于规则的性质允许在对映射的要求改变时交换和修改规则的灵活性。特别是对于从UML抽象图(例如状态图)到Petri网的模型转换,存在基于图转换的方法[11,16],目的是模型验证或验证。基于图转换的模型转换允许正式检查功能属性,例如,显示模型转换过程终止[2],以及计算的目标模型是唯一的[8]。最近,一个新的工具环境,称为蒂格尔[15]第十五话基于生成的建模元素),已在技术开发,柏林国立大学[3,4]。蒂格尔结合了精确可视化语言(VL)规范技术(由底层图形转换引擎AGG[14]),具有复杂的图形编辑器开发功能(由ECLIPSE图形编辑器框架(GEF)[7]提供)。图转换用于抽象语法级别。TIGER通过一个具体的可视化语法定义扩展了AGG引擎,用于可视化模型表示的灵活方法。根据可视化语言的定义,TIGERGenerator生成Java [10]源代码。生成的Java代码实现了一个ECLIPSE可视化编辑器插件,它使用了GEF的各种预定义编辑器功能。因此,生成的编辑器插件会及时出现。此外,生成的编辑器代码可以容易地通过进一步的功能来扩展。K. Ehrig等人理论计算机科学电子笔记152(2006)3941本文提出的工作的目的是将模型转换与TIGER生成的可视化编辑器集成起来。该集成实现了使用生成的ECLIPSE可视化编辑器插件为源语言编辑的图到可以使用生成的ECLIPSE可视化编辑器插件为目标语言可视化、进一步编辑和操纵的图的转换。这个过程的先决条件是通过类型化的、属性化的图语法来定义源语言和目标语言的视觉语言规范,以及通过基于源语言和目标语言规范的联合的类型化的、属性化的图转换系统来定义两种语言之间的映射。在此基础上,可视化编辑器的生成和模型转换的执行可以自动进行。第二节给出了如何在TIGER生成的ECLIPSE编辑器插件之间实现基于可视化语言规范的模型转换的概念性概述,第三节给出了一个详细的例子,展示了UML活动图和Petri网的源和目标可视化语言规范,以及模型转换的转换规则。第四部分对TIGER的未来发展方向进行了展望。2编辑器插件之间的模型转换在本节中,我们提出了一个通过图形转换规则进行模型转换的概念,这些规则基于不同的VL规范转换图,使用TIGER生成器[3,4]为这些VL规范生成ECLIPSE对于图转换技术在可视化语言建模中的应用,类型化属性图转换系统[6,5]已经被证明是一个足够的形式体系。VL由属性类型图ATGVL建模,其捕获底层视觉字母表的定义,即可用的符号和关系VL的句子或图由在类型图上类型化的为了进一步将视觉语句限制为有效的视觉模型,定义了一个语法图文法GG,它由一组语言生成图转换规则组成,描述了导致有效视觉模型构造的编辑操作.一个完整的VL规范VLspec=(ATGVL,GG)由VL字母表ATGVL和语法GG给出。42K. Ehrig等人理论计算机科学电子笔记152(2006)392.1VL字母在TIGER对于TIGER编辑器生成器,VL字母表不仅要包含VL抽象语法的定义,还要包含控制可视化编辑器生成的预期布局的规范。因此,抽象语法类型图的抽象节点、边和属性通过具体节点、边和属性来增强,具体节点、边和属性定义抽象对象的具体布局的形状和连接图。图1示出了所有VL字母表类型图必须在其上键入的TIGER在抽象语法级别(图1的上部),每 个 VL 字 母 表 由 NodeSymbolTypes ( 例 如 , 活 动 图 中 的 活 动 ) 、EdgeSym-bolTypes(例如,活动图中的下一个关系)和链接类型( EdgeSymbolTypes 到 NodeSymbolTypes 的 连 接 ) 。 此 外 ,NodeSymbolTypes可以由AttributeTypes(例如简单活动的名称)属性化。抽象语法布局布局端布局开始EdgeSymbolType布局文本图形状图链接布局连接具体语法第第第二第一布局约束连接约束二Fig. 1. TIGER中VL字母表的Meta类型图在 具 体 的 语 法 级 别 ( 图 1 的 下 半 部 分 ) , 图 形 布 局对 于 特 定NodeSymbolType 的 节 点 符 号 , 由 ShapeFigure 给 出 。 到 目 前 为 止 ,NodeSymbols的形状可以是简单的形式,例如矩形,圆形,椭圆形或封闭多边形。 形状图形属性,如笔划 和填充颜色由附加属性(图1中未示出)给出。AttributeType类型的文本属性的标准布局由TextFigure(具有属性font、fontColor、..)给出。TextFigures和ShapeFigures之间的图形关系由LayoutConstraints表示,如下所示(TextFigure,ShapeFigure)。图形可以通过代表EdgeSymbolTypes的具体图形布局的连接(即线或折线)连接。链接的图形表示(例如,彩色箭头)由LinkLayout对象建模.图形关系图 和 连 接 可 以 被 建 模 为 连 接 约 束 , 例 如 atCenter ( TextFigure ,Connection)。 基于VL字母表,TIGER使用默认的ECLIPSE-GEF图形布局管理器来计算生成的编辑器中的符号和链接编辑操作模型抽象语法规则在TIGER生成的E剪辑编辑器插件中通过AGG对VL图的抽象语法进行操作来执行。在每个操作之后,基于所生成LinkTypeAttributeTypeNodeSymbolTypeK. Ehrig等人理论计算机科学电子笔记152(2006)3943、全环基金布局特点。在这个意义上,在生成的编辑器中编辑的所有图实例在抽象语法级别上由在对应VL字母表的抽象类型图上键入的实例图表示。在不同VL字母表上键入的图之间的模型转换必须涉及两种语言的相应抽象语法元素2.2基于图变换的在TIGER生成的ECLIPSE编辑器插件中,源语言和目标语言由VL规范给出我们用图变换规则描述模型变换通过应用转换规则对源模型的抽象语法图进行转换,得到目标模型的抽象语法图根据目标语言的VL规范,目标模型的具体语法在目标语言的生成编辑器的优化之后计算基于图变换的模型变换由属性图变换系统GT S=(AT G,P)定义,该系统由属性类型图ATG和一组变换规则(或产生式)P组成。 源模型的抽象语法图可以由类型图ATGS上的所有(或子集)实例图指定。相应地,目标模型的抽象语法图由类型图ATGT上的所有(或子集)实例图指定。类型图ATGS和ATGT都必须是类型图ATG的子图(见图2)。模型转换从实例图AGS在ATGS上类型化开始。由于ATGS是ATG的一个子图,所以AGS也是ATG上的类型图. 在模型转换过程中,中间图都是在ATG上类型化的。请注意,此类型图可能不仅包含ATGS和ATGT,还包含转换过程所需的其他类型和关系。结果图AGT是在ATG上类型化的。如果它也是在ATGT上键入的,它满足了语法正确的一个主要要求。数据类型在转换过程中被保留。AT G,IncSATG,,IncTrAzTG,S,,,,,,,,,T,、、类型AGS类型AGi、、、、、、、、类型 AGTPJpp,,AGSpiz.. .zAGikz.. .L zAGT图二、模型转换过程中的类型化44K. Ehrig等人理论计算机科学电子笔记152(2006)39来源导入限于抽象语法编辑器插件源存储源图出口目标图扩展到具体语法靶位图加载目标编辑插件2.3将图表从源语言转换为目标语言我们的目的是描述一个概念,用于将源编辑器插件的图我们假设源和目标编辑器插件由TIGER根据源和目标VL规范生成。图3示出了模型转换过程的概览。图三. 模型转换概述从源图开始,我们将图限制在它的抽象语法上,从而限制在AGG中的源图上。在AGG中,我们必须提供一个图转换系统GT S=(ATG,P),它由一个类型图ATG和一组模型转换规则P组成,该类型图ATG包括上述的抽象源和目标字母表。源图从TIGER编辑器中导入,作为AGG中现有图形转换系统的起始图。模型转换规则将源图转换为通过目标语言键入的目标图。目标图被加载到目标VL编辑器插件中。具体布局的大多数信息已由目标VL规范给出。然而,一些依赖于模型的布局属性可能会丢失,例如编辑器面板中图表符号的位置。这些属性必须由默认值设置或由目标VL编辑器的适当布局算法计算。3示例:从活动图到Petri网在本节中,我们将给出一个UML活动图和Petri网之间模型转换的例子,UML活动图是生成的活动图编辑器的源语言,Petri网是生成的Petri网编辑器的目标语言。3.1源语言和目标语言活动图的源语言字母表包含两种符号类型:活动和下一关系。活动是通过NodeSym键入的图形转换引擎AGG模型转换规则K. Ehrig等人理论计算机科学电子笔记152(2006)3945bolType 和 next-relations 根 据 TIGER 中 VL 字 母 表 的 Meta 类 型 图 在EdgeSymbolType上进行类型化(参见图1)。下一个关系开始和结束于活动(这些开始和结束关系是通过Meta类型图中的LinkType键入的)。活动可以是不同的类型,即简单的活动,开始和结束节点以及决策节点。简单的活动通常是由文字记录的。此外,下一个关系可以具有用于公式化条件的索引。活动类型、文本和决策条件作为相应符号类型的属性给出。图4显示了模型转换的示例源活动图,在生成的活动图编辑器插件中进行了编辑。这个图的抽象语法图是在活动图语言的类型图上键入的,如图1的左侧所示六、见图4。 模型转换源活动图编辑器插件Petri网的目标语言字母表包含Petri网节点的NodeSymbolTypesPlace和 Transition,Petri网弧从Place到Transition的EdgeSymbolTypesArcPT,ArcTP用于从过渡生成的弧以及用于将边符号链接到结点符号的链接类型arcPTsource、arcPTtarget、arcTPsource和arcTPtarget。AttributeTypes是地点和转场的名称、它们的位置以及地点上的标记号。图5显示了目标Petri网(对应于图5中的活动图)。4)、在生成的Petri网编辑器中编辑插件。抽象语法46K. Ehrig等人理论计算机科学电子笔记152(2006)39这个网的图是在Petri网语言的类型图上键入的,如图的右侧所示。六、图五. 模型转换目标Petri网编辑器插件3.2模型转换Petri网放置模型被动系统部分(例如,业务流程和文件),而转换描述的是流程活动。因此,我们的模型转换将活动映射到转换,并将下一个关系映射到中间的位置。每个位置最多只能保存一个令牌,因此令牌只显示进程已经到达的程度。这种特殊类型的Petri网被称为条件事件网。请注意,决策活动被转换为两个转换,每个转换对应于一个可能的决策分支。对于这些转换中的每一个,分配另一个位置,该位置的标记将对应的保护的评估建模为“真”。模型转换类型图ATG(图10中所示的完整图)可以是 图6)由源语言和目标语言字母表加上两个参考节点的并集定义,其相邻弧连接两个字母表的相应符号类型,即活动到转换和下一关系到地方。图7示出了模型转换的开始图,即图1中活动图的抽象语法图。四、K. Ehrig等人理论计算机科学电子笔记152(2006)3947见图6。 模型转换类型图ATG见图7。 模型转换开始图模型转换规则由一个基于ATG的图形转换系统定义。从图7中的开始图开始,模型转换规则的连续应用导致目标图的抽象语法图。请注意,以下模型转换规则的屏幕截图每个包含三个图形(负应用条件NAC,规则的左侧LHS和右侧RHS),或者如果没有NAC,或者NAC等于规则的右侧,则仅包含两个图8包含生成位置和转换所需的所有规则,以及建立活动和转换之间的引用,以及下一个关系和位置之间的引用。开始和结束活动被转换到相应转换之前和之后的位置。kind=“decision-begin”的活动Ad-48K. Ehrig等人理论计算机科学电子笔记152(2006)39然后,将两个位置添加到决策输入点转换的前域中,其标记模型将守卫的评估标记为真。图8.第八条。模型转换规则插入位置和转换图9示出了在过渡和地点之间插入弧的规则。我们将决策活动的处理与其他活动区分开来。如果一个活动不是一个决策,则从该活动开始的下一个关系将通过规则ArcTP转换到与该活动相对应的转换后域中的一个位置。类似地,使用规则BARCPT,在活动处结束的下一个关系被转换到相应转换的前域中的位置。 两个规则都具有属性条件kind/=ecide-begin和kind/d=ecide-end。图图10描述了处理在位置之间插入弧的规则K. Ehrig等人理论计算机科学电子笔记152(2006)3949见图9。 模型转换规则插入弧(NAC=RHS)以及与决策活动相对应的转换。规则decide-begin处理决策开始时的分支结构(决策进入点),规则decide-end处理决策结束时的合并结构(决策退出点)。与决策输入点相对应的两个转换的转换名称(其最初被设置为空)现在被保护(即,对应的下一关系的铭文)覆盖。负应用条件(NAC)等于图9和图10中的规则的右手侧(RHS)。规则另外四个规则(未描述)是删除所有源和引用项所必需的,从而产生在目标语言上键入的目标图模型转换规则分为三个不同的层次,用于控制规则的应用。从layer= 0开始,尽可能长时间地应用当前层的规则在当前层中的所有规则终止之后,转换继续到下一层(layer=layer+1)。图8中用于创建地点和过渡的规则被分配给层0。在地点和过渡之间插入弧线的规则(如图所9)具有层号1,并且转换决策的规则(图10)得到层号2。删除规则必须最后应用,因此属于第3层。3.3一致性分析模型转换示例满足[2]中所示的分层图转换系统此外,关键对分析50K. Ehrig等人理论计算机科学电子笔记152(2006)39见图10。 决策模型转换规则(NAC=RHS)在AGG系统的模型转换示例中完成[14]。虽然由于性能原因,关键对分析不能完全完成,但到目前为止还没有发现关键对根据文[5]的理论,如果不存在临界对,则模型变换是局部连续的。与模型转换的终止一起,这意味着模型转换也是连续的,并且具有功能行为。4结论在本文中,我们已经展示了如何扩展基于ECLIPSE- GEF的编辑器插件的TIGER生成器,以支持从源编辑器插件的图到目标编辑器插件的图的一般来说,我们从生成的编辑器插件的设计中受益,其中每个编辑图的抽象语法都表示为AGG[14]中的图形。使用AGG中的模型转换规则将源语言的这种底层语法图转换为在目标语言上类型化的抽象语法图。在AGG中,所有可用的一致性检查都可以应用于模型转换规则,如关键对分析和终止检查。目标编辑器插件通过相应的具体语法扩展目标语言的抽象语法图,因为目标VL规范给出的大部分必要布局信息已经硬编码在编辑器插件Java代码中。只有默认值K. Ehrig等人理论计算机科学电子笔记152(2006)3951目标编辑器插件中的符号的具体布局位置必须由布局算法提供。在我们的例子中,Petri网的布局算法可能由默认的图形布局管理器给出由于模型转换过程中的抽象语法图往往相当复杂,并且可能包含大量的节点和边,因此很难使用AGG中产生的抽象目标图来检查模型转换规则的正确性。在这里,在生成的TIGER编辑器插件中以适当的具体布局对目标图进行可视化,这已被证明对模型转换规则的验证非常有帮助。它仍然需要分析更复杂的案例研究模型转换在TIGER中,得到的结果,我们的方法的可扩展性的性能,效率和表达能力,并比较的结果,相关的工具为基础的模型转换方法。未来的工作还计划扩展的TIGER环境不仅为模型transfor-mation,但也支持模拟的行为图的基础上生成的仿真环境中的图形转换。如果已经生成了目标语言图的模拟器,引用[1] R. Bardohl,G. Tae ntzer,M. Minas和A. 很好。图变换在可视化语言中的应用In H. Ehrig,G.恩 格 斯 , H. J. Kreowski 和 G. Rozenberg , 编 辑 , Handbook of Graph Grammars andComputing by Graph Transformation,第2卷:应用程序,语言和工具。世界科学,1999年。[2] H. 埃里希,K。Ehrig,J. deLara,G. Taentzer,D. V'o和S. 你好啊。模型转换的判定标准。In M. Wermelinger和T. Margaria-Ste Escheren,编辑,Proc. 软件工程的基本方法(FASE),LNCS 2984,第214-228页。施普林格,2005年。[3] K. 埃里希角Ermel,S. Hüansgen和G. 塔恩泽。研究了基于Eclipse的图形转换In M.Minas , 编 辑 , Visual Languages and Formal Methods , 第 127 卷 , Electronic Notes inTheoretical Computer Science,第127-143页。Elsevier,2004年。[4] K. 埃里希角Ermel,S. Hüansgen和G. 泰泽。将可视化编辑器生成为Eclipse插件. 在proc 第20届IEEE/ACM自动化软件工程国际会议,长滩,加利福尼亚州,美国,2005年。出现。[5] H. Ehrig ,K. 埃里希 大学Prange 和G. 坦策代数图 变换基础 。EATCS Monographs in TCS,Springer to appear,2005.[6] H.埃里希大学Prange和G.坦策类型化属性图变换的基本理论。In F. Parisi-Presicce,P. Bottoni,and G. Engels,editors,Proc. 2nd Int. Conference on Graph Transformation(ICGTLNCS3256. Springer,2004.[7] Eclipse财团。Eclipse图形编辑框架(GEF)网址://www.eclipse.org/gef网站。[8] R. He ck el,J. Küster和G. 泰泽。带约束的T型属性图变换的收敛性 以. Corradini,H.Ehrig,H.- J. Kreowski和Rozenberg。G.,编辑,Proc.第一国际 图变换会议。LNCS 2505.施普林格,2002年。52K. Ehrig等人理论计算机科学电子笔记152(2006)39[9] R. He ck el,J. Küster和G. 泰泽。研究UML模型到语义域的自动转换在H.- J. Kreowski,编辑,应用图形转换的APPLIGRAPH研讨会论文集(AGT 2002),第11[10] 太阳微系统公司 Java http://java.sun.com。[11] 、J. de Lara和H.万格鲁威计算机辅助多范式建模过程Petri网和状态图。 在Proc.1st Int.Conf. onGraph Transformation(ICGT 2002)中,LNCS 2505,第239施普林格,2002年。[12] 对 象 管 理 组 。 元 对 象 工 具 ( MOF ) , 版 本 1.4 , 2005 。 http : //www.omg.org/technology/documents/formal/mof.htm。[13] 对象管理组。UML 2.0OCL规范,2003年。http://www.omg.org/docs/ptc/03-10-14.pdf。[14] G.坦策AGG:一个用于软件建模和验证的图形转换环境。Pfaltz,M. Nagl和B. Boehlen,编辑,具有工业相关性的图变换的应用(AGTIVESpringer,2004.[15] TIGERP roj ect,柏林理工大学,2005. http://www.tfs.cs.tuberlin.de/猛虎报[16] 维尤 ·D你好 和 PatariczaA.设 计 视 觉 语 言 的 自 动 转 换 Journal Science of ComputerProgramming,Vol. 44(2),pages 205-227. Elsevier,2002年。
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 4
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- RTL8188FU-Linux-v5.7.4.2-36687.20200602.tar(20765).gz
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
- SPC统计过程控制程序.pptx
- SPC统计方法基础知识.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功