【问题标题】:Is it possible to transform a UML activity diagram to XML tree in a formal way?是否可以以正式的方式将 UML 活动图转换为 XML 树?
【发布时间】:2021-04-23 15:32:45
【问题描述】:

我们将测试场景定义为 UML 活动图,以保持可重用性和可理解性。现在,我们必须将这些图表链接到我们的 Matlab 或 Visual Studio 环境。 是否有任何实用的方法可以将活动图转换为 XML 或类似格式。 我们的设计工具是 Enterprise Architect(EA)。

【问题讨论】:

  • 您是否有每个场景的活动或每个场景的图表,这意味着给定的活动用于多个场景?模型的 XMI 导出不是解决方案?

标签: xml uml enterprise-architect activity-diagram model-based-testing


【解决方案1】:

“有可能”的答案是肯定的。如果,——你付出了很多努力。

广告是模型一部分的图形表示。这是为人类准备的。除非您想将其输入到 AI 中,否则导出模型本身会更有意义。有必要制定一套严格的规则来创建模型。例如,活动应包含所涉及的所有操作。活动中应有一个主要的 AD。这是因为有几个元素,例如 fork/join,它们不会出现在浏览器中,而是与图表放在同一个包中(/element 不确定)。因此,您将从单个活动初始节点开始并遍历控件/对象流以创建一些 XML 或任何您想要的。

这完全取决于,但是以这种方式简单、快速的导出可以在一天左右的时间内完成。

【讨论】:

    【解决方案2】:

    XMI(XML 元数据交换)实际上是由同时管理 UML 标准的OMG 定义的标准交换格式。

    您可以从大多数 UML 工具(包括 Sparx Systems Enterprise Architect)导出到 XMI。

    在 EA 中,您在项目浏览器中选择包含 Activity 的包,然后选择
    发布 |模型交换 |导出-XML |为当前包导出 XML 在这里,您可以将包导出到多种可能的 xml 格式。

    如果您想使用 API 自动执行此操作,您可以使用方法 EA.Project.ExportPackageXMI (string PackageGUID, enumXMIType XMIType, long DiagramXML, long DiagramImage, long FormatXML, long UseDTD, string FileName)

    EA.Project.ExportPackageXMIEx (string PackageGUID, enumXMIType XMIType, long DiagramXML, long DiagramImage, long FormatXML, long UseDTD, string FileName, ea.ExportPackageXMIFlag Flags)

    有关如何使用这些操作的详细信息,请参阅manual

    如果您不喜欢 XMI 格式(这是可以理解的),您当然可以将自己的导出工具编写到您自己的 XML 模式中。考虑到 XMI 的复杂性,这可能是我个人的选择。

    另外请记住,当从不同的工具导出相同的模型时,XMI 标准很少会产生相同的文件。每个供应商对标准都有自己的解释,导致每种工具的结果不同。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-10-22
      • 1970-01-01
      • 2011-11-16
      • 1970-01-01
      • 2012-12-26
      • 1970-01-01
      相关资源
      最近更新 更多