将 UML 模型保存为 XMI 歧义

2024-01-07

我在维基百科上关于XMI的文章中找到了这样一句话:

目前不同版本之间存在一些不兼容性 XMI 的建模工具供应商实现,甚至在互换之间 抽象模型数据。

我想知道,尽管使用了记录良好的标准,但工具怎么可能不兼容。在浏览了 UML 和 XMI 的文档以及其他人的问题后,我发现保存为 XMI 的 UML 模型没有 XML 模式或 DTD。

根据这个问题的最佳答案 -https://stackoverflow.com/a/36885550/9329778 https://stackoverflow.com/a/36885550/9329778- 检查 XMI 是否格式良好的正确方法应该是通过一致的 UML 模型来验证/处理它。

我还在 XMI 2.5.1 文档的“7.3.2 模型类表示”部分中找到了这一点:

默认情况下,XMI 允许您使用 XML 序列化功能 元素或 XML 属性;但是,XMI 允许您指定如何 如果您愿意,可以将它们序列化。

在我看来,这似乎是问题的根源。

我的问题是:

  1. 有没有官方指南严格描述如何使用XMI保存UML模型?我don't是指UML语法meatamodel(可以从OMG网站下载)。

  2. 如果第一个问题的答案是“否”——是否意味着不同的建模工具可以以不同的方式执行同一 UML 模型的序列化,即使它们使用相同版本的 XMI?


  1. 参考是这个OMG 当前文件 https://www.omg.org/spec/XMI/About-XMI/
  2. 尽管有一个“标准”,但定义它的人却来自 OMG 旗下的不同供应商。当然,每个供应商都试图让他的羊保持干燥和温暖(如果可能的话,很可能让其他人的羊在雨中 - 好吧)。这只会导致一个对任何人开放的标准。虽然 OMG(“试图”控制此类标准)允许添加供应商单独的扩展,但每个供应商都利用了这个附录来为自己谋利。这就是我们在不同论坛中看到的:为什么我不能将我的模型(完全/完全)从供应商 A 的工具导入到供应商 B 的工具中。这是一个十字架。

注意:关于 1:否。您不能使用此文档并从模型创建 XMI。不是这样写的。我所做的是创建一个简单的模型,将其导出(从我最喜欢的工具)并查看创建的内容。然后我尝试将其导入另一个工具(查找失败的地方)。或者甚至在同一个工具中导出和导入以查找丢失的内容。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将 UML 模型保存为 XMI 歧义 的相关文章

  • 实体控制边界(ECB)与模型视图控制器(MVC)[重复]

    这个问题在这里已经有答案了 我不确定我是否有正确的概念 人们告诉我 边界 视图 实体 模型 控制 控制器 然而基于我对 MVC 的了解 胖模型 瘦控制器 不是 Boundary Controller Control Model 业务逻辑 和
  • 如何在类图中显示单例关系

    如果一个类包含指向单例类的指针 它可以是aggregation 据我了解 这不可能是has a关系 因为该类不会创建单例类的实例 它只是像这样使用它association关系 标题并不像所写的那样100 完全有意义 有单例类 但没有真正的单
  • 是否可以从 MatLab 代码生成流程图? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我继承了一个 MatLab 项目 其中有一堆我需要重构的 MatLab 文件 能够生成流程图或类似的内容对我有很大帮助 我用谷歌搜索了
  • graphviz:记录带有粗体标题的节点

    我正在尝试使用 graphviz 来做一些类似于 UML 类图的事情 我想知道是否有一种方法可以使 register 样式的节点的第一个字段以粗体显示 以使其与其他字段不同 我的节点如下所示 digraph i node label
  • 我可以使用 UML 来建模网站导航吗

    我可以使用 UML 对网站导航进行建模吗 如果是的话 有人给我一些书籍 链接以供参考 网站的 UML 之类的 如果不是的话 有哪些工具可以实现这一点 基本上我是一名程序员 当我设计以前的网站时 我只是在纸上勾勒出不同的页面设计想法 然后选择
  • 用例之间的 UML 关系(扩展/包含)

    我不太理解以下主题 因为它与我读到的内容有点含糊 Inlcude就像对下一部分的引用一样 没有它 用例就不完整 这部分应该从更多地方引用 否则它的使用没有意义 但我见过一个例子 其中 include 仅在某些 IF 语句中为真 例如 添加新
  • 学习如何分析项目

    我刚刚偶然开始为我公司的一个客户 中小企业 分析一个项目 我是一名 Net 开发人员 5 年 在分析软件方面经验很少 来自学校的 UML 我们刚刚结束了与用户两周的交谈 并得到了一份不错的需求清单 显然 我们已经过滤掉了最重要的需求 并且必
  • 如何在 UML 类图中表示回调

    我有一个界面说 Interface ICallback public void informFunction 我有一堂课说 Class Implementation implements ICallback public Implement
  • uml 与 RDF 和 OWL 的组合关系

    我是 RDF 和 OWL 本体的初学者 我正在尝试将此图转换为 OWL 语法
  • 聚合、组合、关联、直接关联

    我正在复习面向对象编程方面的知识 在类之间的关系主题下 我遇到了一些对我来说有点模糊的关系 我知道依赖项 uses a 和继承 is a 但我对聚合 组合 关联和直接关联有点不熟悉 另外 其中哪一个是 has a 关系 有些可以与关联互换使
  • 如何在 UML 类图中表示“事件”?

    这是我的代码片段 public class Notation INotifyPropertyChanged public event PropertyChangedEventHandler PropertyChanged private N
  • XMI 2.1.1 的 XSD

    我必须使用 JAXB 解析 XMI 文件 xmi 版本 2 1 1 为此 我必须生成与 XMI 文件相对应的 Java 类 因此 我需要 xmi 文件的 shema 定义才能使用 jxc 工具执行此操作 我希望有人知道在哪里可以找到这个文件
  • 如何在 UML 序列图中显示实例化?

    如何显示 Web 服务器实例化视图并重新获得流的控制权 也许我没有使用正确的图表类型 非常感谢 Ruben 的答案中的图表是正确的 但缺少一般的 UML 答案 当 创建 线 在本例中为虚线 连接到所创建生命线的框 标签 顶部时 它会创建另一
  • 有没有办法在 Visual Studio 或 MATLAB 中“映射”程序执行顺序?

    我所说的 地图 是指我有一个 主 函数 它调用内部的许多其他程序 我希望能够看到哪个文件首先运行 第二个 第三个等等 基本上 我希望能够请参阅这个大型 OOP 设计程序 创建者没有为其制作 UML 类图 中的依赖项列表和顺序 以帮助破译代码
  • UML 到 Java 代码生成工具 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 如何在 UML 中正式记录 C# 属性?

    在 UML 类图中记录类的 C 属性的正确方法是什么 我还没有决定这是否是我的答案 但我想我会把它扔在那里以便讨论 这看起来可以接受吗 它是属性类型的实例 其中元数据值放入下面的标记值中 我刚刚弄清楚如何添加自定义立体类型 该箭头只是一个标
  • 如何表示类的实例与将其作为输入的类之间的关系?

    我有一堂课叫House 这个类的实例是house class House def init self height length self height height self length length def housePlan hou
  • 如何使组合键唯一?

    I am making a database of students in one school Here is what I have so far 如果您不喜欢阅读 请跳至 简而言之 部分 问题是我对这个设计并不满意 我想要的组合gra
  • UML 图 - 在我的应用程序中发送电子邮件被视为外部系统

    我的应用程序有一个联系选项 它将打开带有按摩页面的电子邮件应用程序 并且消息接收者设置为应用程序支持电子邮件 我已附上我的意思的图片 我已将其编写为需求 但不确定如何在系统类图和用例图中说明它 我最初在用例图中所做的是 将我的用户 主要参与
  • 聚合多重性 UML

    我和我的同事在某一点上无法达成一致 在 UML 中 当进行聚合时 菱形边重数最大为 1 或者可以是 0 吗 还是取决于某种观点 先感谢您 首先 您需要具体说明您指的是哪个 钻石 作为空钻石聚合填充钻石是作品 如果你的意思是空钻石 那么 Ic

随机推荐

  • spring batch:没有 ItemWriter 的 Tasklet

    我在没有 ItemWriter 的情况下定义了我的 tasklet 如下所示
  • facebook v2.2 登录 C#

    我想为在 Microsoft Visual Studio 2010 Ultimate 中用 C 编写的 FacebookLoginDialog cs 进行编码 你可能知道 Facebook已经将其API升级到了v2 2 我在网上找到的大部分
  • ElementRef 未定义

    我正在使用 Angular 6 应用程序 我有一个文本区域 我想在页面加载后立即将焦点放在该文本区域上 我做不到 页面如下所示 div div
  • 使用泛型对整数数组进行排序 (Java)

    我是一名计算机科学专业二年级学生 目前正在使用 Java 我们最近开始使用泛型 我有一个作业 其中给了我一个使用泛型的排序算法列表 并负责使用它们对整数 不是原始整数 列表进行排序 由于排序类使用扩展 Comparable 的泛型 我认为简
  • 如何比较golang中html/template中列表的长度?

    我正在尝试比较 golang html template 中列表的长度 但它在 html 中永远加载 length len SearchData if eq length 0 Sorry No matching results found
  • 如何在reveal.js中放置背景图片?

    我希望在 Reveal js 演示文稿中的一张幻灯片的右侧有一个背景图像 我将图像添加到幻灯片中 如下所示 section content section 如何添加 css 样式以使其显示在屏幕的右边缘 这篇文章帮助找到了解决方案 http
  • 在 Linux 上用 Java 截屏?

    我希望能够使用 Java 截取部分或全部屏幕的屏幕截图 普遍接受的方法是使用 Robot 类 但在这种情况下不起作用 我的屏幕上有多个透明的 JavaFX 阶段 使用 Robot 类拍摄的任何屏幕截图似乎都将它们视为完全不透明 我还尝试过让
  • 无法在 Android 中将位图转换为完美的 Base64 字符串?

    我正在开发一个需要从相机捕获图像的应用程序 捕获后 我必须将位图转换为 Base64 转换为 Base64 后 我必须将该字符串发送到 SERVER 我正在使用以下代码来完成此任务 ByteArrayOutputStream baos ne
  • R 中的温度曲线

    我想在一张图中创建两条温度曲线 我的数据框如下所示 temp lt read table text Time Temp1 Temp2 1 00 00 18 62800 18 54458 2 00 10 18 60025 18 48283 3
  • setInterval() 中的函数立即执行

    我正在制作一个 jquery 应用程序 通过使用 setInterval 在指定的时间间隔后隐藏图像 问题是隐藏图像函数立即执行 没有延迟 document ready function setInterval change 9999999
  • jQuery 检查是否被点击

    element click function 如何检查元素是否被点击 我就是这样做的 function element element click function return 0 if element 0 alert yes else
  • transform.InverseTransformDirection,没有得到正确的输出

    我有一个球体作为玩家 我希望它相对于相机移动 而不是世界 当我沿 Y 轴旋转相机 90 或 270 度并给出输入时 它给出与预期相反的输出 这是我附加到球体的脚本 using System Collections using UnityEn
  • NEAR 上公钥的正确长度和格式是什么

    一些从存储设备生成的公钥是 44 个字符后的ed25519 前缀 总共 52 个 有些是 43 个字符 总共 51 个 这是允许的吗 Is the ed25519 使用公钥时是否需要包含前缀 ed25519 前缀通常是可选的 并且默认应用
  • 对 SSPI 的调用失败,请参阅内部异常 - 无法联系本地安全机构

    我有一个 WPF 应用程序 它使用 SSLStream 连接到服务器并发送 接收一些消息 我的代码很大程度上基于此示例 SslTcpClient https msdn microsoft com en us library system n
  • 我是否需要在所有页面上使用“[ValidateAntiForgeryToken] 和 @Html.AntiForgeryToken()”?

    我所有的项目页面都需要身份验证 通常我不使用 ValidateAntiForgeryToken and Html AntiForgeryToken 在我的控制器和视图上 只有登录页面有它 这些是什么 ValidateAntiForgeryT
  • 如何使用 CSS 将填充应用于换行文本?

    我这里有一个最小的例子 https codepen io cpcpcpcpcpx pen VwZWoyJ https codepen io cpcpcpcpcpx pen VwZWoyJ 包含以下内容 wrapper width 200px
  • 将 Java 字节数组的一部分追加到 StringBuilder

    如何将字节数组的一部分附加到StringBuilderJava下的对象 我有一个函数的片段 它从 InputStream 读取到字节数组中 然后我想将我读到的任何内容附加到 StringBuilder 对象中 byte buffer new
  • 将 JavaScript 变量分配给 JSP 中的 Java 变量

    你好 我正在尝试将 javascript 变量的值分配给 java 变量 但我不知道该怎么做 比如说我有这个 Javascript 在浏览器上运行 而 ja
  • 获取在hidden/shown.bs.collapse上折叠的元素

    我正在开发一个 ASP NET MVC 应用程序 完全由我自己制作 边做边学 我正在制作一个侧边栏菜单 但我一直在尝试制作动画向上 向下箭头 目前 我能得到的最好结果是两个 无箭头都打开hidden bs collapse shown bs
  • 将 UML 模型保存为 XMI 歧义

    我在维基百科上关于XMI的文章中找到了这样一句话 目前不同版本之间存在一些不兼容性 XMI 的建模工具供应商实现 甚至在互换之间 抽象模型数据 我想知道 尽管使用了记录良好的标准 但工具怎么可能不兼容 在浏览了 UML 和 XMI 的文档以