1

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

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

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

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

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

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

问题是:

1- 这种方法在 EA 中技术上可以实现吗?如果是这样,正确的方法是什么?

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

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

感谢您的时间。

4

2 回答 2

0

你的建议是部分可行的。

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

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

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

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

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

于 2016-08-29T09:25:20.660 回答
0

你所要求的不是直接可以实现的。然而,通往罗马的方式有很多。

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

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

于 2016-08-24T20:02:43.480 回答