UML 是否允许端口和 activity 参数之间的连接(委托)?

Does UML allow a connection (delegation) between ports and activity parameters?

我发现了一个令我困惑的示例 UML 图:

我不确定这是否对应于 UML 2.4.1,因为我尝试过的建模工具都无法创建连接。我查阅了规范,我认为连接不是有效的 UML 2.4.1,因为 activity 参数节点不是 ConnectableElement,但我不确定。但是,该示例取自 OMG 的 UML MARTE 1.1 配置文件规范,其中说

Note that this usage of connectors is compatible with the abstract syntax of UML, as both Property and Parameter are ConnectableElements

上图中,inputActivity Parameter Node类型,是ObjectNode的特殊类型,与Pin类似但不同。它与 activity:

拥有的参数关联

图中的连接是委托连接器。从上面的层次结构可以看出,ActivityParameterNode不是一个ConnectableElement,所以我认为UML MARTE规范中的说法是错误的。

此连接是否为有效的 UML 2.4.1 并且应该受 UML 建模工具支持?

这不是有效的 UML(既不是 2.4.1 也不是 2.5 或任何之前的版本)。它将行为与静态设计混合在一起。 class 上的端口是允许附加接口的静态结构。相比之下,ActivityParameterNode 用于建模 "data flow"(它可以通过内部的 ObjectFlow to/from Pins 或 Actions 发送或接收对象).

这(可能;我的知识在这里还不够)在 MARTE 中有效。您可以通过引入定义此语言结构的配置文件使其在您的域中有效。很可能您可以使用 MARTE 概要文件作为 UML 或其扩展,或者(如前所述)您自己制作。

P.S.: 我在 Enterprise Architect 中尝试过,它让我在两者之间创建一个 DependencyInformationFlow