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
上图中,input
是Activity 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 Pin
s 或 Action
s 发送或接收对象).
这(可能;我的知识在这里还不够)在 MARTE 中有效。您可以通过引入定义此语言结构的配置文件使其在您的域中有效。很可能您可以使用 MARTE 概要文件作为 UML 或其扩展,或者(如前所述)您自己制作。
P.S.: 我在 Enterprise Architect 中尝试过,它让我在两者之间创建一个 Dependency
或 InformationFlow
。
我发现了一个令我困惑的示例 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
上图中,input
是Activity 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 Pin
s 或 Action
s 发送或接收对象).
这(可能;我的知识在这里还不够)在 MARTE 中有效。您可以通过引入定义此语言结构的配置文件使其在您的域中有效。很可能您可以使用 MARTE 概要文件作为 UML 或其扩展,或者(如前所述)您自己制作。
P.S.: 我在 Enterprise Architect 中尝试过,它让我在两者之间创建一个 Dependency
或 InformationFlow
。