考虑以下状态图:
客户获得状态已确认,资源处于未分配状态。没有为从 Confirmed 到 Join 伪状态的转换定义保护。
在这种情况下,状态 Confirmed 是否保持活动状态,直到 NotAssigned 转换为 Assigned?(即我可以发送触发器“取消”,以便客户进入“未确认”状态,这是我想要获得的行为)。还是我没有使用正确的方法来建模?(然后状态图会如何)
编辑(在评论 Gangnus 之后)我所追求的是理解
- 连接伪状态如何起作用
- 连接到连接的状态何时失去其活动状态
所以我想要获得的是对加入状态的更深入的了解。我查看了 UML 规范(formal-1108-06.pdf 第 15 章),但没有找到上面提到的我的场景的清晰描述:如果我输入 Confirmed,并且 Confirmed 使用没有保护的转换连接到 Join 或触发器指定,而 NotAssigned 在资源区域中处于活动状态,何时确认其活动状态:
- 进入状态后立即
- 当 NotAssigned 转换为 Assigned 时(然后两个状态都变为非活动状态并转换为 ExecutionAllowed。