【问题标题】:How to "flow" tagged values in Enterprise Architect from one instance to another如何将 Enterprise Architect 中的标记值从一个实例“流动”到另一个实例
【发布时间】:2016-12-30 19:27:00
【问题描述】:

我的问题是关于通过 EA 的技术可用性将概念变为现实。

我正在寻找一种在对象图中连接实例的方法,通过它我可以传输标记值。让我解释一下项目的背景。

目的是首先对系统中的特定角色有刻板印象,如“计算”、“传输”、“决策”、“资格”、“抽象”等。

这些刻板印象中的每一个都有适合其用途的特定标记值。

然后我从这些刻板印象中创建实例,例如。 “MotorTorque:Calculation”和“LimitedTorque:Abstraction”

这些实例中的每一个都有一个共同的标记值,“临界”,布尔值,我希望这个标记值通过输出端口从“MotorTorque:Calculation”发展到“LimitedTorque:Abstraction”>某种流>输入端口一种方式。

问题是:

1- 这种方法在 EA 中是否在技术上可行?如果是这样,正确的做法是什么?

2- 目的是让这个“连接”在图表的 XMI 导出中可读,我将用作另一个目的的输入。

我已经为我的项目创建了一个具有刻板印象和标记值的 MDG 技术,但是,我很难实现这种“联系”,这种价值“流动”。

感谢您的宝贵时间。

【问题讨论】:

  • 你研究过 SysML 吗?
  • “普通电视”是什么意思?共享?
  • 我曾经采用部分 SysML 来创建自己的 MDG,并且效果很好。但是,SysML 可能会给您一些想法。 (您上一条评论不完整)
  • 我目前正在研究 SysML,并对其工作原理进行了大量阅读。至于“普通电视”,我们希望这些刻板印象具有“属性”,但是,在 EA 中,属性更多地与形状相关,而不是刻板印象的一个方面。在我的情况下,常见的标签值将是“关键”,既属于/定义为“计算”和“传输”实例。如果这些实例已连接,我希望它们的电视是相同的,如果这有意义的话。
  • 而不是共享,我希望这个值影响这个实例下游的值。 A > B 使得如果 A 是关键的,并且 A 连接到 B,那么 B 也是关键的

标签: enterprise-architect xmi


【解决方案1】:

您的要求无法直接实现。然而,通向罗马的方式有很多。

一种方法是将<<trace>> 将这些对象连接到Status 类(或您喜欢的任何名称),并让它携带“共享电视”。

另一种方法是(复杂得多)使用加载项。无论如何,您都需要创建共享电视的组的方法。根据您目前的解释,我看不出那可能是什么。也许这些实例的实例化类?如果是这样,您制作一个脚本,将 TV 设置从当前版本传播到所有其他链接实例。我不确定当电视改变时加载项事件是否会触发(我在这里确实有一些疑问)。如果需要,我可以查一下。

【讨论】:

  • 非常感谢 Thomas,我会花一些时间来尝试您的建议,并会更新这篇文章以供其他人使用。
  • 不要忘记发布任何建议作为对自己的回答,而不是对问题的编辑。干杯
【解决方案2】:

你的建议是部分可行的。

在 EA 中有一个标记值继承链,其中标记值沿泛化链继承,从分类器到其实例。在 GUI 中,继承的标记值与实例自己的标记值分开显示,并且在 API 中使用 Element.TaggedValuesEx 属性访问它们。继承的标记值也可以被覆盖。

由于创建端口(或部件/属性)的正确方法是使其成为组件的实例,因此端口将从该组件继承任何标记值。因此,如果您的 Calculation 构造型适用于组件,则作为 Calculation 组件实例的端口将继承 MotorTorque 标记值。

但是,没有办法将标记值从一个端口“流动”到另一个端口。如果你想要这样的功能,你必须自己用一个插件来实现它。

关于 XMI,首先您必须了解 XMI 导出是基于包,而不是图表。 XMI 格式本身是可扩展的,这意味着不同的工具供应商会创建自己的扩展,这些扩展通常不会公开记录。至关重要的是,图表布局是这些非标准化扩展的一部分。在 EA 的情况下,图像数据是某种 UU 编码的位图,您将无法从中提取任何有用的信息。

元素的标记值包含在 XMI 导出中,但同样,EA 扩展并未公开记录。换句话说,您可以在另一个程序中导入 EA:s XMI 格式,但您需要对格式进行逆向工程。并非不可能,但编写自己的专用导出函数或export via CSV 可能会更好。但请注意,CSV 导出无法自动执行 - API 中没有调用它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-16
    • 1970-01-01
    • 2016-06-06
    • 2021-04-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多