6 其它信息

6.1 规范简化

本规范对之前的版本进行了大范围的重写,通过消除冗余和提升清晰度来使得它更易读。特别的,相对于UML 2.4.1做了如下重要的改变:

  • UML Infrastructure不再作为UML规范的一部分。完整的UML规范都在本文档中。
  • 本规范中没有使用包合并。每个元类都在一个章节内完整的被定义。
  • 规范的组织尽量减少前向引用。这意味类似模板这种影响面广的主题会在规范的较前部分出现。
  • 每一章都包含了一部分从元模型生成的文档,它包含了所有的元类以及它们的属性,还有元关联和它们的属性。【译者注:本汉化中不包括该部分内容,请参见原规范】
  • 删除了符合性等级L0、L1、L2和L3,因为它们在实践中没有表现出用处。工具要么完全符合UML要么不符合。通过实现UML元模型、表示法和语义的一部分,工具可以部分符合UML,此时工具的提供商应该声明该工具实现了UML的哪些部分。

然而,元模型自身并没有与UML 2.4.1 superstructure有何不同,除了下面的一些例外:

  • 元模型被划分到包中,与本规范的章节组织相对应。所有这些包都被一个名为UML的顶层包所拥有;它们也被导入到UML,因此在UML中元类可以使用它们的非限定名来引用。
  • 改正和增加了许多OCL约束。为了避免OCL表达式中的歧义,一些属于关联的属性和相应的关联的名称发生了改变。
  • 为了表示那些不能用MOF来正规表示的缺省值,将少数元素的multiplicities下限从1改为0。此种情况下值的缺失指明存在一个缺省值。这种情况在UML早期版本中不能表示。它们都在第15章出现。
  • 为了使循环变量能够交换,把Loop::loopVariable属性改为composite,这在UML 2.4.1中无法以一种标准的方式实现。
  • NamedElement::clientDependency改为衍生的。
  • 为了使语义一致,一些属性中增加或删除了{ordered}。

results matching ""

    No results matching ""