将 UML 模型保存为 XMI 歧义
Saving UML model as XMI ambiguity
我在维基百科上关于 XMI 的文章中找到了这句话:
At the moment there are several incompatibilities between different
modeling tool vendor implementations of XMI, even between interchange
of abstract model data.
我想知道尽管使用了一个有据可查的标准,但工具不兼容怎么可能。在查看了 UML 和 XMI 的文档以及其他人的问题后,我发现没有 XML 保存为 XMI 的 UML 模型的模式或 DTD。
根据这个问题的最佳答案 - - 检查 XMI 是否格式正确的正确方法应该是 validate/process 通过一致的 UML 模型。
我还在“7.3.2 模型 Class 表示”部分的 XMI 2.5.1 文档中找到了这个:
By default, XMI allows you to serialize features using either XML
elements or XML attributes; however, XMI allows you to specify how to
serialize them if you wish.
在我看来,这是问题的根源。
我的问题是:
是否有官方指南严格描述如何使用XMI保存UML模型?我不指的是UML语法meatamodel(可以从OMG网站下载)。
如果第一个问题的答案是"no" - 这是否意味着不同的建模工具可以不同地执行相同 UML 模型的序列化,即使它们使用相同版本的 XMI?
- 参考是这个current document by OMG
- 虽然有一个 "standard" 定义它的人来自 OMG 帽子下的不同供应商。当然,每个供应商都试图让他的羊保持干燥和温暖(如果可能的话,很可能会把其他人的羊放在雨中——好吧)。这只会导致一个对任何人开放的标准。虽然 OMG("trying" 放弃此类标准)允许添加供应商个人扩展通过,但每个供应商都利用并使用此附录为自己谋利。这就是我们在不同论坛中看到的:为什么我不能将我的模型(completely/at 全部)从供应商 A 的工具导入供应商 B 的工具。这是一个十字架。
注意:关于 1:否。您不能使用此文档并从模型创建 XMI。不是这样写的。我所做的是创建一个简单的模型,将其导出(从我最喜欢的工具)并查看创建的内容。然后我尝试将其导入另一个工具(找到它失败的地方)。或者甚至在同一个工具中导出和导入以查找之后丢失的内容。
我在维基百科上关于 XMI 的文章中找到了这句话:
At the moment there are several incompatibilities between different modeling tool vendor implementations of XMI, even between interchange of abstract model data.
我想知道尽管使用了一个有据可查的标准,但工具不兼容怎么可能。在查看了 UML 和 XMI 的文档以及其他人的问题后,我发现没有 XML 保存为 XMI 的 UML 模型的模式或 DTD。
根据这个问题的最佳答案 -
我还在“7.3.2 模型 Class 表示”部分的 XMI 2.5.1 文档中找到了这个:
By default, XMI allows you to serialize features using either XML elements or XML attributes; however, XMI allows you to specify how to serialize them if you wish.
在我看来,这是问题的根源。
我的问题是:
是否有官方指南严格描述如何使用XMI保存UML模型?我不指的是UML语法meatamodel(可以从OMG网站下载)。
如果第一个问题的答案是"no" - 这是否意味着不同的建模工具可以不同地执行相同 UML 模型的序列化,即使它们使用相同版本的 XMI?
- 参考是这个current document by OMG
- 虽然有一个 "standard" 定义它的人来自 OMG 帽子下的不同供应商。当然,每个供应商都试图让他的羊保持干燥和温暖(如果可能的话,很可能会把其他人的羊放在雨中——好吧)。这只会导致一个对任何人开放的标准。虽然 OMG("trying" 放弃此类标准)允许添加供应商个人扩展通过,但每个供应商都利用并使用此附录为自己谋利。这就是我们在不同论坛中看到的:为什么我不能将我的模型(completely/at 全部)从供应商 A 的工具导入供应商 B 的工具。这是一个十字架。
注意:关于 1:否。您不能使用此文档并从模型创建 XMI。不是这样写的。我所做的是创建一个简单的模型,将其导出(从我最喜欢的工具)并查看创建的内容。然后我尝试将其导入另一个工具(找到它失败的地方)。或者甚至在同一个工具中导出和导入以查找之后丢失的内容。