0

背景

在 UML 2.5 之前,UML 由两个文档定义:UML 基础结构和 UML 上层结构。MOF 2 是一个密切相关的 OMG 标准,指的是 UML Core,并被定义为 MOF 2 和 UML 2 共享一些规范。UML 2.4 Infrastructure,明确定义了这个 UML Core。UML 2.5 是对 UML 2 的完全重写,现在以单个文档的形式出现,此外,它不再明确定义 UML 核心,或者不再将其命名为相同的名称。

问题

我不相信 MOF 2 和 UML 2 与刚刚引入 UML 2.5 不同步,因为 UML 2.5 被认为是 UML 2.4 的次要修订,所以我相信 MOF 2 仍然部分由从 2.5 导入的规范定义,只是想知道 UML 2.5 中的 UML Core 是什么。这第7章的标题是“共同结构”吗?

4

1 回答 1

1

UML 2.4.1(当前)和 2.5 之间的区别在于更短且经过重组的文档,并且可能在主题上存在一些外观差异。(直到现在我还没有找到)。它只是试图创建一个更易于理解的文档。

因此,MOF 2,版本 2.4.1(当前),其中说:

这个 MOF 2 核心规范为 OMG 的 MDA 语言系列中的元模型定义提供了基础,并且基于对 UML2 类建模功能的简化。

不需要改变并且保持不变。

它不直接包含在 UML 2.5 文档中。“基于对 UML2 的类建模功能的简化”的那部分接近 2.5 标准的第 7 章。但元问题(例如反射)仅保留在 MOF 中。它们是MOF最重要的部分。

现在看来,当OMG试图制定一个更简单的标准时,这些复杂的元问题根本不会出现在UML标准中。标准 - 用于用户,MOF - 用于“超级用户”。

恕我直言,他们不应该基于自己的元模型,而应该更多地基于当代语言的实际问题。例如,当代 UML 中的匿名类表示显然是令人厌恶的。

于 2014-02-18T11:07:21.693 回答