GB T 28174.4-2011 统一建模语言(UML).第4部分:图交换.pdf

上传人:towelfact221 文档编号:268778 上传时间:2019-07-11 格式:PDF 页数:32 大小:1.06MB
下载 相关 举报
GB T 28174.4-2011 统一建模语言(UML).第4部分:图交换.pdf_第1页
第1页 / 共32页
GB T 28174.4-2011 统一建模语言(UML).第4部分:图交换.pdf_第2页
第2页 / 共32页
GB T 28174.4-2011 统一建模语言(UML).第4部分:图交换.pdf_第3页
第3页 / 共32页
GB T 28174.4-2011 统一建模语言(UML).第4部分:图交换.pdf_第4页
第4页 / 共32页
GB T 28174.4-2011 统一建模语言(UML).第4部分:图交换.pdf_第5页
第5页 / 共32页
亲,该文档总共32页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、ICS 35.080 L77 道昌中华人民共和国国家标准G/T 28174.4-2011 统一建模语言(UML)第4部分:图交换Unified modeling language CUML)-Part 4 : Diagram interchange 2011-12-30发布2012-06-01实施II.QO!2:;1$ fs飞咱窑t码防伪中华人民共和国国家质量监督检验检疫总局中国国家标准化管理委员会发布GB/T 28174.4-20门目次前言.m 引言.N 1 范围-2 规范性引用文件3 附加信息4 体系结构概览5 元模型扩展6 表示视图的推导7 表示SVG包元信息到SVG图附录A(资料性附录

2、)指派图元素.21 附录B(资料性附录)一个XMIDIJ例子的摘录. . . . . . . . . . . . 23 I GB/T 28174.4-2011 目IJJ=I GB/T 28174(统一建模语言CUML)分为4个部分:一一第1部分:基础结构;一一第2部分:上层结构;一一第3部分:对象约束语言COCL); 一一第4部分z图交换。本部分为GB/T28174的第4部分。本部分按照GB/T1. 1一2009给出的规则起草。本部分参考面向对象工作组COMG)的统一建模语言:图交换)2.0版。请注意本文件的某些内容可能涉及专利。本文件的发布机构不承担识别这些专利的责任。本部分由全国信息技术标

3、准化技术委员会CSAC/TC28)提出并归口。本部分起草单位:广东万维博通信息技术有限公司、北京大学、广东省广业信息产业集团有限公司、中国电子技术标准化研究所。本部分主要起草人z江善东、黄孝和、杨三宝、吴炯祥、邓海强、胡红林、许立勇、周伟强、唐泽欢、高健。阳山GB/T 28174.4-20门引统一建模语言(UML)是一种可视化规约语言,用于定义和构造计算机信息系统的制品,并将其文档化。它是一种通用建模语言,可以和所有主流的面向对象和面向构件的方法一起使用,并适用于所有的应用领域和实现平台(如:CORBA,J2EE、.NET等)。0.1 统一建模语言不同版本之间的关系由于UML的技术较新,所以该

4、国际标准历经多次的版本演化,下面是UML在OMG的演化过程:1997 U岛1Ll.1 1998 UMLl. 2 1999 UMLl. 3 2001 U岛1L1.4 2003 UML2.0 GB/T 28174的本部分正文中的UML均指UML2.0统一建模语言和GB/T281740 0.2 关于对读者的建议需要了解语言中的元模型构造物,利用这些构造物进行元模型扩展或者是构造新的建模语言的用户可阅读基础结构部分(GB/T28174.1)。应用系统建模用户和建模工具制造方都需阅读上层结构部分CGB/T28174.2)。但要注意,该部分的内容是交叉引用的,可不按目次顺序阅读。对于要精确地对模型进行约束

5、的应用系统建模用户或要支持对象约束语言的建模工具制造方,需阅读对象约束语言部分CGB/T28174.3)。支持在不同的软件工具间平滑且无缝地交换文档的建模工具制造方,需阅读图交互部分。0.3 关于本部分本部分的目标是使在不同的软件工具之间对兼容UML标准的文档(以下称作UML模型)进行平滑元缝的交换成为可能。它不仅包括用于开发UML模型的工具,也包括白板、代码生成器、字处理工具、桌面发布工具等。同样的,对于作为交换和展现UML模型的媒介一一互联网,也要给予格外的关注。已有的一种交换UML模型的机制,称为XML元数据交换(XMLMetadata Interchange) (以下称作XMIUML)

6、,并没有完全达到模型交换的目标。最重要的是它没有包含图信息的交换。该机制仅仅能够传递在一个UML模型中包含哪些元素的信息,但是没有这些元素在图中如何表现和布局的信息。因此,如果UML模型存储在一个UML工具中而又被另一个不同的UML工具(或者甚至是同一个工具用XMIUML载人,那么所有的图信息就会丢失。这个局限性并不是XMI本身的错,而是由于这样一个现实:UML元模型没有定义一个标准方法来表现图的定义。本部分是用一个附加的面向图形信息的包来扩展UML元模型,同时完全保留当前UML元模型的完整性。此外,它还兼容UML元模型,并且不被UML元模型后来的任何变化所影响。为了表示N GB/T 2817

7、4.4-2011 UML图信息,一种兼容MOF的元模型被提出来,作为UML元模型的扩展,还允许扩展XMI的DTD。那么XMI就能够用来在各种各样的工具之间交换UML模型而不丢失信息。为了保证需要交换的工具没有模型元素的概念而只有线、文本和图形,一种从XMI到SVG的转换机制被提出来。SVG是一种用来表示标量向量图形的基于XML的格式,作为W3C的推荐被采用。由于对表示任何UML的图它都有良好的适应性,它将成为一种在各种各样工具(图形的,桌面发布的,等等)中普遍采用的格式,并且被创建得适合网络应用。结合其他的基础结构部分(GB/T28174.1)和上层结构部分(GB/T28174.2)的严格定义

8、,本部分将使一种UML模型之间平滑元缝交换的机制成为可能。V 1 范围统一建模语言(UML)第4部分:图交换GB/T 28174.4一20门GB/T 28174的本部分规定了用于对各类软件系统进行可视化、详述、构造和文档化的统一建模语言。该语言也可用于对其他领域进行建模。本部分适用于在不同的软件工具间平滑且元缝地交换文档。这些工具可以是UML建模工具、代码生成器、词处理工具和桌面出版工具等。本部分也可用作在因特网上交换和表示UML模型起媒介作用的规范。图交换没有可选的兼容点。和图交换相兼容意味着和它的抽象语法、良构规则、语义、符号,还有XMI相兼容。指派图元素见附录A。2 规范性引用文件下列文

9、件对于本文件的应用是必不可少的。凡是注日期的引用文件,仅注日期的版本适用于本文件。凡是不注日期的引用文件,其最新版本(包括所有的修改单)适用于本文件。GB/T 28174.1 统一建模语言(UML)第1部分:基础结构GB/T 28174.2 统一建模语言(UML)第2部分:上层结构3 附加信息3. 1 概念考证声明本部分中提及的元模型已经用一套不同的图实现和测试了。提出的概念都是被证明过的。在整篇文档中使用并且在附录B中提供的例子,目前对它相应的XMI表示的转换更多是用手工而不是自动完成的。然而,针对所提供的DTD,这个例子是有效的,并且使得用XSLT转换到SVG成为可能。3.2 设计的基本原

10、理UML是一种强调图形化表示的面向对象软件系统的建模语言。它在整个软件开发过程中被部署,并且在这个过程中有大量多种多样的工具可以使用。工具之间差别很大:存在变化很大的方法来设计图、检查模型的一致性、存储模型用于永久存储或者版本管理,用于代码生成,用于准备文档、呈现或者制定文档以及很多更多的应用。对这些多样的工具毫元问题地进行元缝使用和联合是非常有价值和令人期望的。因此,一种模型信息的表示(从而包括交换)机制被包含在最初的标准中。尽管如此,UML1.x中安排的机制仅仅支持在模型中元素的定义。虽然这对于检查模型一致性或者生成代码的工具来说是必要的,但这些信息面向图形的工具来说并不够。因而就把广大利

11、用图形信息的工具排除在外,其中也包括UML工具本身。考虑到这方面,UML1.x的模型交换机制就显得不足,而OMG则发现并满足了改正这一缺陷的需要。OMG内部用来传送元信息的一般实现机制是XMLXMI是一个用它自己来传送内部非常有参1 G/T 28174.4-2011 考价值信息的XML应用。面向对象的模型和这样模型的模型都属于这个类型,但都只是一个例子。XMI通过在具体的UML元模型中应用XMI的规则生成一个特殊的DTD,用来传送UML模型。为了区别通常意义的XMI和它针对UML的应用,在本部分中我们将把后者记作XMIUML。尽管图形信息没有包含进来,这一机制也已经被证明是非常有用的。UML图

12、,正如UML模型,可以用元模型来描述。本部分为图信息提出了一个单独的元模型,它能简单地作为一个独立的包加人到现有的UML元模型中。并且就像带有元模型的UML,XMI能够用来传送这种图的元模型的实例。相应的DTD(简单地扩展了XMIUML的DTD)直接从元模型生成,并且在本部分中也提供了。这种格式这里将记作XMIDI。两者的联合,组成了完整的模型交换机制,将表示为XMIUML+D口,或者简记为XMI.在当前的标准中,一个DTD被生成来描述XMIUML和XMIDI的部分。在未来标准中,可以使用XLink来引用其他的模型元素,两个部分可以放在不同的文件中,允许为每个部分生成不同的DTD。本部分中提及

13、的元模型与MOF元模型工具一致。XMI定义了如何从适合MOF的元模型创建DTD或者模式,以及如何把它应用于XM10因此,一旦对一个适合MOF的元模型达成协议,就会考虑到它在XMI中的表示和相应的DTDo元模型本身由两个目标发展而来。首先,它应该灵活地扩展现存UML元模型(也包括将来的版本)而不需要妨碍和修改它。同时它还应该携带尽可能多的多余信息,通过引用UML元模型来访问这些信息。第二,它应该允许任何工具从得到的信息简单地描绘图。这当然包括UML工具,也包括网络浏览器、办公套件、图形编辑器等。各种工具需求有很大的不同。UML工具通常要能够用线条和文字本身来表现模型元素,而文本编辑工具就完全没有

14、模型元素的概念,只是需要一幅图以普通的图形形式出现。但图形工具就典型地需要一种丰富的面向向量格式,用来做复杂的操作和缩放。SVG,标量向量图形格式,是一种新的W3C标准,它承诺能够被广大的各种各样的工具所支持。它以XML为基础,能很容易地读入、处理,以及转换成其他的多种格式。它同样适合文本工具、办公套件和图形工具。此外它还适合即将直接支持它的网络浏览器(但是在这段过渡时期可以使用一个免费的Adobe插件)。然而,SVG并不是一个很适合UML工具的机制。UML工具并不只是需要线条和文本,它还锚要高层次的信息,因为它们不仅仅以图形方式显示图,它们还要求对用图形元语表示的模型元素有语义上的理解。但是

15、XML的巨大优势之一就在于,只要所有需要的信息都被呈现出来,以一种XML数据格式表示的数据能够很容易地转换成另一种不同的XML数据格式。因此本部分提出了一个用XMIDI传送的元模型和提供了种用XSLT从XMIUML十DI到SVG的转换方法。这个方法满足了最广阔范围内工具的需要。所有其他要用的格式都可以通过这个方法来产生。因此,通常用来表示附加信息以允许UML中所有图进行交换的抽象(abstraction)是什么呢?一个可选的方案是为组成UML图的每一种形状引人特殊的类,如果UML需要扩展,或者它的范围扩大了,或者如果核心机制将被别的建模符号复用,这种方法就显得太不灵活了。图的交换不应该限制UM

16、L的可扩展性。如果可能的话,图交换机制不应该有具体的形状或者其他元素的表示法。具体图形状的画法是UML工具或者SVG描绘器的职责。可以发现UML中的大多数图符合从图形理论得出的图形模式:它们由结点(可能是矩形、椭圆、圆或者其他形状)和边(连接结点之间的线、末端不同的箭头和形状)组成。结点可以包含分隔和图注;边也能有附加的图注。有些结点能嵌套到其他结点中,带有连接两个结点的边(有的情况下这两个结点也可以和边连接)。这种图形模式是功能强大的和能被很好理解的一种抽象,在可视化建模的很多领域都有应用。在2 GB/T 28174.4-20门该标准中使用这种抽象是因为正像将要讨论的那样,它被证明是完全足够

17、的。大多数UML图都有一个到图形的自然而直截了当的映射。类图、用况图、协作图、对象图、构件图以及部署图都是这种情况。在当前UML的形式下,只是顺序图没有这样到结点和边的自然映射,但还是能明显地发现一种映射。要讨论的是z尽管基于图形的方法可能不是所有图类型显而易见的选择,但它适合于大多数,并且完全足够表示任何现有的和将来的UML图类型。4 体系结构概览4. 1 概述从XMLUML到XMIUML+ DI的扩展使用了一些技术来创建它的元模型以及被提及模型的示例对象。相关的技术已经被发布为OMG和W3C以及任何能够自由利用它们的人使用的标准。而在这一过程中作为其他相关技术基础的基本技术,则是XML。它

18、由一些基本的规范组成(如良构规则),用来指导如何创建文档,及如何用标记来描述它们的内容。这种广泛接受的机制能被世界上许多工具所支持。4. 2 XMIDI DTD创建概览图1提供了一个在元模型和DTD创建过程中相关技术的概览。XMJ MOF UML-DJ metamodeJ document Case TooJ supporting UML and MOF profile UML-DJ metamodeJ XMJ UML UML-DJ metamodeJ document 图1XMIDI DTD创建概览UML + UML-DJ DTD XMIDI元模型由UML建模工具创建。利用这个工具,可以用U

19、ML为MOF外廓创建一个符合MOF的元模型,用来描述UML的M2扩展。为了和XMI的规范相一致,该工具需要有能力创建XMIUML文档。这是一种满足XML所定义的规范文档,并且包含XMIUMLDTD。这一步骤由XMI文档产生规则来体现。正如刚才所提到的,它产生符合XMI的文档,并且包含在UML工具的帮助下创建的元模型的内容。为了给XMIUML十DI生成新的DTD,新的M2应通过将XMIUML文3 GB/T 28174 .4-2011 档翻译成XMIMOF文档来表示成MOF的形式。从外廓到MOF的映射规则包含在MOF的UML外廓中。另一个方案则是通过使用CASE工具直接生成XMIMOF文档。最后,

20、XMIDTD的产生规则能够应用到M2的MOF描述中。运用这种为XML模式规范而出现的XMI产生规则,一个XML模式也能够被生成出来。以该扩展XMIUML+ DI元模型为基础,现在就有可能在交换XMIUML模型的时候把图信息包含进来。此外还能创建一些关于模型的描述。一个方案是用SVG来创建这种描述。SVG(标量向量图形,ScalableVector Graphics)是一种用于描述向量化图形的技术,它以清晰文本(基于XML的)格式描述向量化图形,并且在此之上产生出可视化效果。它由W3C发布为一种推荐格式。与普通图形比较一一比如位图格式一-SVG使得对图形的缩放、旋转以及在该技术中对单个元素的方法

21、调用成为可能。它同样也能处理和用户之间的交互,这就为在基于SVG的图形之上工作提供了多个选择。W3C的另一推荐XSLT(可扩展的样式表语言,eXtensibleStylesheet Language)定义了如何创建为从一种XML文档到另一种(通常也是XML)文档的转换创建样式表(它们本身也是XML文档)。在这种情况下,样式表用来把包含UML模型和图信息的XMIUML+DIXML文档转换为能够被浏览器显示的、包含完整图形翻译信息的SVGXML文档。注意,用来实现样式表驱动转换的XSLT引擎通常在开放源代码中间是可用的(Apache项目中的Xalan就是很显著的例子)。4.3 SVG图形创建概览图

22、2提供了一个从UML建模工具创建SVG文档过程中相关技术的概览。4 UMLm口delXMI UML+DI document UML + UML-DI DTD XSLT SVG DTD 图2SVG图形创建概览Browser + SVG Plugln GB/T 28174.4-2011 由于在创建XMIDI扩展的时候,起点是用一种UML建模工具来描述一个模型。基于这个模型,用XMI产生规范就能创建XMI文档。结果又是该XMI文档包含了所需内容,并且还包含了模型的图形信息这一点和以往的方法不同。相对于XMIUMLDTD为了检查XMI文档的语法正确性而包含XMIDI扩展,这种方法是很有效的。除此之外,

23、良构规则也同样总是要检查。下一步是从XMI的酒、文档创建SVG文挡。这个工作由XSLT样式表完成,它只要产生一次就能够用于所有同时包含模型和图信息的XMI文档。对XMIUML+DI源文档应用这种样式表就能生成SVG文挡,而SVG文档又能够由SVG查看器还原显示为图。使得通过翻译输入文档就能将模型可视化。多种不同的查看器,其中包括一些因特网浏览器中的集成插件的存在使在浏览器中通过较高层的用户交互来观察和操作UML图成为可能,并且这种交互可以设计得如同目前的UML工具一样直观和简便。5 元模型扩展5. 1 概述本章描述了图交换机制所依赖的元模型。它是UML元模型的一个扩展。现有的用于模型交换的XM

24、IUML机制只包含了模型信息而并没有包含图信息。图交换扩展则允许在UML模型中用到的图以图形化的信息包含进来。该扩展在现有UML元模型包中加入了一个新的包,但并没有改变现存的标准。同样,只要高层的概念一一Core: Elemen t (用于UML1.x) , Elements: : Element(用于UML2.0和所有基于通用核心的元模型)继续保持,针对版本更新所做的UML元模型更改也不会影响该模型。该扩展和UML元模型很大程度上保持独立,使得从扩展模型到UML元模型的单独链接被包含进来。这样,图形化的和模型的信息被清楚地分开了。此外,(该扩展)还避免了各种工具在对现有标准支持上的冲突,保持

25、了完全的向后兼容性,并提供了对未来UML自身扩展的适应性。本部分包中包含了这样一些元素,它们能反映UML标准中任何一种图元素的图信息。具体工具的扩展可以定义在附加的包里。比如说,如果工具增加了绘制额外形状的能力,那么可以提供一个附加的包来描述这些能力。这样做的目的是,即使是不支持这些附加扩展的工具,也能够保证通过简单地忽略掉那些来自附加包的信息来生成图形化的表述。图3描述了被提议的用来表述图信息的元模型。5 G/T 28174.4-2011 +anchorage 。*0.1 +container +graphElement 1 十graphElement1 +graphElement 2十an

26、chorI+waypoints ordered 2.* :BezierP口int+graphEdge 十semanticModel0.丰+leafReference Leaf Reference + islndividual Representation:Boolean (StructureType (StructureType) Dimension Point BezierPoint +width:Double +x:Double +base:Point +height:D口uble+y:Double +control1 :Point +ntrol2:Point 圈3图交换元模型6 GB/T

27、 28174.4-20门5.2 扩展图形模型该元模型扩展的底层概念基于将UML图看作图形来对其内容进行建模的思想。核心类是GraphNode和GraphEdgeo每一个可见的模型元素都由GraphNode或者GraphEdge来表现。图形元素的基本类是GraphElernent。图形元素通过一个叫GraphConnector的类相互链接起来。这使得一个GraphEdge类能够链接到一个GraphNode类或者另一个GraphEdge类。后一种情况是纯数学图形概念上的扩展。GraphConnector类不允许两个GraphNode类互相链接。一个GraphElernent类能拥有任意多个Grap

28、hConnector,这些GraphConnector被称作锚点。它们允许任意数目的GraphEdge来链接。一个GraphEdge引用两个GraphConnector,它们是它的链接端点。从GraphEdge的角度来看,这些称作锚。这两个GraphConnector作为相应GraphEdge的路点以相同的方式排列,第一个GraphConnector对应第一个GraphEdge的路点,第二个GraphConnector对应最后一个路点。这里并不强迫GraphConnector和引用它的GraphEdge的端点有相同的位置。当被多个GraphEdge引用时,它就作为各个GraphEdge的虚拟连

29、接点,例如,如在一个结点中间或是在另一个表示结点的特殊点。所有带链接的GraphEdge都直接指向GraphConnector,然而它的路点则有可能,比方说,被定义为带链接的结点图形边界的结束位置(图4)。读入这个信息的UML工具可能会把它解释为裁减(clipping),这或许对更进一步的编辑有一些帮助。. Connector 图4放射状边缘的GraphConnector示例5.3 嵌套这种关联容器一一包含物介于图形元素和图元素之间一一组成了纯数学图形更进一步的扩展。它允许构造层次化嵌套元素。每一个图形元素都能包含无限多个图元素,因此它可能包含整个子图。这种嵌套层次在对复杂模型元素的表述进行建

30、模时尤其有用。打个比方,类由GraphNode来表示,它又拥有嵌套的GraphNode,其中含有图元素,用来表示框,比如,操作框、属性框等。这样用来表示框的GraphNode,如一个属性框,拥有更深层次嵌套的GB/T 28174.4-2011 GraphNode,其中包含用来表示属性的图元素。而属性的GraphNode又嵌套包含表示部分属性的图元素,如可见性、名称、类型或初值等。图5展示了把一个简单类表示成嵌套图形元素的例子,这里的图形元素是GraphNodeo为了表示更复杂的类,需要包含更多嵌套的GraphNode。contained operationCompartment: GraphN

31、ode nameCompartment:GraphNode 图5类表示中嵌套GraphElement的例子5.4 叶结点图形元素的图形化表述很大程度上起源于语义模型(见后面),同时为了避免冗余并不显式地存储在DI模型中。比如说,把类画成一个矩形的知识并没有存储在DI模型中。但注意,如果有必要的话,它的位置和大小要存储起来。绘图工具和XSL样式表应具有正确绘制这些元素的语义知识。叶元素可以表示有特殊可选表示方法的模型元素,比如参与者。如果一个表示参与者的GraphNode拥有用户定义(见后面)的语义模型桥的表述,那么它应要有一个叶结点作为子结点。这个叶结点表示了该参与者的可视化。叶元素可以是显示

32、一段简单文本的文本元素,显示一个简单图形的图形原语(GraphicPrimitive), 如椭圆,也可以是一幅用来显示外部资源的图像。两个基本的专门图形原语是本部分的一部分:折线CPolyline)和椭圆。其他图形原语可以在额外的包中定义并且可以从Grapl山Primitive类或其子类中继承。文本元素用来表示部分的属性、操作、名称和模型元素的其他文本部分。比如说,一个属性的可见性就可以是一段文本,如public或十。这段文本就存储在文本元素的text属性中。TextElement的容器GraphNode拥有一个到语义模型的链接,该语义模型以简单语义模型元素(SimpleSemanticMod

33、elElement)的形式出现。该链接指出了被引用属性的部分。在这个例子中,简单语义模型元素的类型信息属性包含了可见性。属性的命名规则将在5.13中描述。图6举例说明了所涉及类的相关部分。表示GraphNode名称的简单语义模型元素没在图中显示。GB/T 28174.4-2011 semanticModel bridge:CoreSemanticM()dIBridge anAttribute:Attribute contained semanticModel semanticModel目SimpleSemanticModelElement图6TextElement示例如果可见性用一个图标来表示

34、,TextElement将被另一个LeafElement所取代。如果该图标是作为图像存储在另一个文件中,则LeafElement是一幅图像,该图像引用了那个文件。用到很多次的LeafElement只需要实例化一次。这些LeafElement直接被Diagram所包含。每次用到这样的LeafElement时,一个该LeafElement的引用就被实例化,而不必拷贝一份LeafElementoislndividualRepresentation标记被设为true,用来区别于在后面描述的Reference的应用。这就避免产生同一个可见成分的多个拷贝。5.5图5.5. 1 概述一个特殊的结点是图CDi

35、agram)。它是任何一个图形或图的顶层图形元素CGraphElement) ,递归地包含所有其他的图形元素。一个图拥有一个名称和一个视口CViewport)。该视口是一个点,指出了这个图左上角的可见部分。它也有一个缩放的因子,允许视口以不同的比例显示。图的类型存储在一个简单语义模型元素中,如状态图。图通过它的语义模型CSemanticModel)来引用它。一个图形元素能够通过一个图链接CDiagramLink)链接到图。如果一个图形元素可以被其他图所表示,比如,在一个更详细的层次上;或者如果该图形元素跟其他的图有特殊的语义关系,那么就可以使用这样的链接。图链接拥有它自己的缩放因子和视口,所以

36、每一个图能在各自的上下文环境中以不同的缩放因子和视口显示。使用图链接的一个例子是状态图,它用来显示类的行为;或是类图,用来显示包的细节。图7通过对象图给出了图的一个简单例子。它显示了通过关联链接到一起的两个类的类图。图和类通过GraphNode来表示,而关联则用GraphEdge来表示。该对象图也显示了GraphConnector在链接GraphNode和GraphEdge中所扮演的角色。9 G/T 28174.4-20门ClassDia旦旦旦工旦旦ramcontained飞-contained GraphConnector 1 :GraphConnector Association 1:Gr

37、a且旦旦eGraphConnector 2:GraphConnector 图7一个类图示例(仅描述了UMLDI的部分)5.5.2 图的命名空间通常UML的元素会被指派到一个UML的命名空间,然而图元素则不用。只要图元素的语义模型桥接(SemanticModelBridge)(见后面)引用了一个拥有命名空间的UML元素,那么它就不需要命名空间。如果不是这种情况,它周围作为容器的图元素会拥有一个命名空间。尽管如此,这个规则还是有一个例外:图没有命名空间并且也没有包含它的图元素,因为它自己就是顶层容器。因此,图也需要一个命名空间。图的命名空间通过语义模型桥接被语义模型的一个命名空间元素的引用所指派。

38、从图那里通过这种方式引用的元素应是Namespace的一个子类。5.5.3 在一个图中显示另一图的剪切图案一个图可能被用来显示从另一图中摘取的部分,而不必多次创建要用到的图元素。比如说,为了得到更好的表示效果,一个大的图可以通过几个小一些的图来表示。为了达到这样的目标,大的图要拥有所有它的包含在内的图元素,同时那些剪切出来的图只要包含对原来的图元素的引用。在一个被引用指向的、剪切出来的图中,只有这些图元素才被显示。引用和单独的图元素可以在同一个图中独立被使用。5.5.4 图元素的可见性可见性(visible)这个属性指明了一个图元素是不是正在被显示。在所有包含的图元素中,它的值被递归地应用。只

39、要在该递归层次中有一个图元素把它的这个属性设为false,那么不管它们原有的可见性如何,所有嵌套的元素也都隐藏了。当一个隐藏元素不被显示时,它仍然存在。这就意味着如果它由于该属性值被设为true而显示,那么该元素将和从前一样以相同的方式出现。这就提供了一个轻松的方法来使一个框(compartment) 淡出,比如当保持它的表示时。这使得一个先前隐藏的图元素稍后再次显示变得容易了。5.6 性质图元素的出现是用性质加以指定的。性质可以添加到DiagramElements,在不同方面影响它的出现。表1定义了一个可选择性质的标准集:它包含了字体、大小、线的格式、粗度和颜色。每个性质都覆盖了任何一个和它

40、相同的封装了的GraphElement的己经存在的性质。如果一个性质没有被设置,那么DiagramElements就利用它的容器GraphElement所包含的性质。非标准的性质可以被添加但不属于任何标准化。性质为添加非标准的元素到图交换元模型提供了一个扩展机制。GB/T 28174.4-2011 表1标准性质关键字域举例描述FontFamily strmg 咛i、imes,C飞ouner font name FontSize double 11 font size in pixel LineStyle stnng solid ,dotted line style Line Thickness

41、 double 2 line thickness in pixel FontColor, 24-bit color value in ForegroundColor, mteger FFOOFF for magenta RGB format BackgroundColor Translucent boolean true, false see text GraphElern巳nt的性质Translucent被设置为True是为了指出它们包含的元素通过包含的DiagrarnElernents的背景可见(见j顺序图)。5. 7 坐标系在图交换扩展关系应用的坐标系统定义z铀指向东、y轴指向南。位置和

42、大小通过两个值来定义,它们利用像素来作为度量单位。浮点型double允许低像素的精确度。这防止了当度量转换或其他图操作时产生可能的信息丢失。5.8 位置一般来说,这个模型的所有的位置值都是相关的,也就是图元素的所有位置值都和它周围的容器相关。这意味着这个容器的位置是所有子的位置的原点。为了得到一个图元素的绝对位置,应递归地从容器GraphElernent到没有容器的GraphElernent,根就遇到了。根结点应是一个图,因为只有图没有容器。GraphElernent的位置是由StructureType点来指定的。它指定了一个GraphNode或Diagrarn的左上角的位置。一个位置的x,y

43、坐标可以为负值。对于GraphEdge,位置为所有包含的DiagrarnElernents提供了一个原点。因为一个GraphEdge是通过它的路点(waypoint)来定义的,所以位置不影响GraphEdge本身的图形表示。通过它的所有路点(贝塞尔点的一种类型)把它画成贝塞尔曲线。控制点被定义成相关于基本点。因此,如果所有的控制点都是(0,0),结果就是一个简单的多边形线。一个图不需要有一个环境容器元素。它的位置缺省值为(0,0)。视口指定了图中当前显示视图的左上角坐标。视口如果被卷动则它不再是(0,0)。相对坐标允许层次嵌套结点可以通过改变根结点的位置来被轻松地移动。例如,想移动一个类,可以

44、用改变表示这个类的GraphNode的位置来实现。所有包含的图元素自动和这个类一起移动,因为它们的位置和它相关。5.9 大小对于GraphNode,可选择的大小可以用DataTypeDirnension来提供,它包括了类型为double的宽和高。这些都不允许为负值。如果大小没有被提供,则它由它的语义模型和GraphNode中的嵌套DiagrarnElernents来决定。考虑下面两种情况:11 G/T 28174.4-2011 a) 如果语义模型显示对GraphNode的图形表示是需要的,它的大小应由嵌套的DiagramElements计算出来。例如,如果未给出,表示一个类的GraphNode

45、的大小应被递归地检查外面包含的层数来决定。如果一个框的大小没有给出,那么它包含的DiagramElements,例如属性,应被分析等。b) 如果语义模型指定一个没有图形表示或有一个固定的图形表示的语义模型的Elements,计算也是不需要的。这种情况的例子是关联端(Associa tionEnd)。举例来说,尽管包含多样性TextElements和任务名的GraphNodes也许会嵌套在这样一个GraphNode中,但AssociationEnd的GraphNode本身没有大小它只被用作容器。就算AssociationEnd是可见的,例如一个实心的菱形来表示组合,它也被考虑为一个固定的图形表示

46、,所以没有长度。5. 10 描绘顺序一般的图元素顺序描绘是通过如下两个机制来定义的:a) GraphElement中DiagramElemer山的嵌套树优先级最高。为了描绘DiagramElements,用一个前序遍历来处理树。这意味着一个路径最深层嵌套的DiagramElements被最后画,所以被显示在z-order的顶端。b) 顺序关联容器一一包含在GraphElements和DiagramElements之间一一指定了这个相同GraphElement中包含的DiagramElements的表示顺序。第一个DiagramElement先画,第二个其次,等等。还有一种不常见的情况中只用这种

47、直接表示的概念就不够了。利用LeafElements去充实一个图,这些元素不属于UML。为多个GraphElement显示这样一个作为背景的LeafElements可能会有用。这种情况的一个例子是一张图像上画的椭圆。这个椭圆包含两个不同包a、b中的类a血,所以被画在这两个包的上方。图8显示了这种情况。package_a Class A Class B ( from package_a) ( from package_的固8一个包含DiagramElements的树的两条路径的椭圆不可能用以上描述的两种机制来表示图8,因为任何DiagramElements,比如这个图像,也许仅仅是Diagram

48、Elements的树的一个单一路径的部件。为了用这种方法显示出来,它应是两个路径的部件。为了达到这个目的,利用了Reference。这个图像被包含在DiagramElement的一个单一路径中。如果它想显示其他任何路径,包含了Reference。它的指向图像的参考指示它是两个路径的部件从而被表示。GB/T 28174.4-2011 5. 11 语义模型图交换元模型允许图用一个增加的语义内涵来表示,方法是通过抽象的语义模型桥接来链接一个存在的语义模型的元素。每个GraphElement有一个到SemanticModelBridge的具体子类的链接。如果不是一个SimpleSemanticModelElement,则它参考链接的语义模型的最高层父类。注:在UMLl.x中这是包Core的一个类Element,它用UMLlSemanticModelBridge为参考。对于UML2.0和其后版本,这可以是包Kernel的类Element,用CoreSemanticModelBridge作参考。这个链接允许添加UML-指定信息到图形。其他的语义模型也可以添加,例如,ER图

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 标准规范 > 国家标准

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1