UML状态图:选择和连接之间的区别是什么?

UML状态图:选择和连接之间的区别是什么?,uml,state-diagram,Uml,State Diagram,在UML状态图中,流程流中的分支可以使用选择元素(由菱形符号表示)以及传出转换的条件进行建模(请参阅) 另一方面,连接元素(由填充圆表示)可用于合并多个传入转换和/或将流程流拆分为多个传出转换,这些传出转换也可能有条件(请参阅) 那么,连接真的是一种选择的概括吗? 是否存在必须使用选项而不能使用连接的情况?根据第14.2.3.7节,当评估连接或选项输出转换的相关防护时,它们之间的差异为 如果在行为评估期间传出保护评估可能会根据更改,则必须使用choice pseudostate。 如果传出的gu

在UML状态图中,流程流中的分支可以使用选择元素(由菱形符号表示)以及传出转换的条件进行建模(请参阅)

另一方面,连接元素(由填充圆表示)可用于合并多个传入转换和/或将流程流拆分为多个传出转换,这些传出转换也可能有条件(请参阅)

那么,连接真的是一种选择的概括吗? 是否存在必须使用选项而不能使用连接的情况?

根据第14.2.3.7节,当评估连接或选项输出转换的相关防护时,它们之间的差异为

如果在行为评估期间传出保护评估可能会根据更改,则必须使用choice pseudostate。 如果传出的guards评估永远不会更改,那么当然可以同时使用这两种方法,但连接可能会更清晰

希望有帮助,
RedBeard

一个选项也可能有多个传入流。如果不在传入转换上使用操作,则选择相当于连接。如果您在传入转换上有一个操作,那么对于连接,将在执行操作之前对保护进行评估,而对于选择,将在执行操作之后对保护进行评估。您所说的“行为评估”是什么意思?此行为是否仅包含传入转换上的操作,或者也可以是早期行为?例如,先前通过的状态的进入动作是否会影响对离开伪状态选择的守卫的评估?据我理解,“行为评估”是指在行为执行期间。因此,所有通过的动作、转换、状态等都会影响选择转移的评估。交叉口防护装置评估应独立于行为执行。