Uml 当并非所有到联接伪状态的转换都已启用时,哪些状态处于活动状态

Uml 当并非所有到联接伪状态的转换都已启用时,哪些状态处于活动状态,uml,statechart,Uml,Statechart,考虑以下状态图: 客户得到状态确认,资源处于未分配状态。没有为从确认状态到连接伪状态的转换定义保护 在这种情况下,确认状态是否保持活动状态,直到未分配的转换到已分配的?(即,我可以发送触发器“取消”,以便客户进入“未确认”状态,这是我希望获得的行为)。还是我没有用正确的方法来建模?(那么状态图会是什么样子呢) 编辑(在评论Gangnus之后) 我想要的是理解 连接伪状态如何工作 连接到联接的状态何时会失去其活动状态 所以我想得到的是对连接状态的更深入的理解。我查看了UML规范(formal

考虑以下状态图:

客户得到状态确认,资源处于未分配状态。没有为从确认状态到连接伪状态的转换定义保护

在这种情况下,确认状态是否保持活动状态,直到未分配的转换到已分配的?(即,我可以发送触发器“取消”,以便客户进入“未确认”状态,这是我希望获得的行为)。还是我没有用正确的方法来建模?(那么状态图会是什么样子呢)

编辑(在评论Gangnus之后) 我想要的是理解

  • 连接伪状态如何工作
  • 连接到联接的状态何时会失去其活动状态
所以我想得到的是对连接状态的更深入的理解。我查看了UML规范(formal-1108-06.pdf第15章),但没有找到上面提到的场景的清晰描述:如果我输入confirm,并且confirm使用未指定保护或触发器的转换连接到连接,而NotAssigned在资源区域中处于活动状态,那么何时确认其活动状态:

  • 在进入状态后立即
  • 当NotAssigned转换为Assigned(已分配)时,这两种状态都变为inactive,并且允许转换为ExecutionAllowed
  • 连接伪状态如何工作

    引自UML标准:

    这种类型的伪状态用作两个或多个对象的公共目标顶点 来自不同正交方向顶点的更多变换 地区

    在联接伪状态上终止的转换不能具有 守卫或扳机

    …加入 伪状态执行同步功能,所有传入的 必须先完成转换,然后才能通过 传出转换

    (顶点是状态或伪状态)

    连接到联接的状态何时会失去其活动状态

    该状态因某个事件或在结束其中的doActivity行为后丢失活动状态。任何状态或伪状态都不会影响其前状态的结束。被混淆和分配的状态没有事件,并且从它们到联接的转换没有行为,因此这两个转换都是
    到达的
    遍历的
    同时完成
    ,联接只需等待它们两个都激活即可

    因此,连接仅在等待时处于“活动”状态。它没有真正的活动状态!因为它没有进入或退出行为

    确认状态是否在未指定的转换之前保持活动状态 分配

    请注意,这两种转换都可能是
    本地的
    ——这意味着,当它们完成时,如果它们退出源顶点(状态已确认并已分配),它们将处于关闭、保持活动状态,或者
    外部的
    。唉,UML符号并没有显示它们上的这种
    类型的转换。但是

    “本地类型的转换可以显示为离开 包含文本“*”的状态符号

    你的图表还可以


    为了更好地理解,请使用标准的2.5测试版,而不是2.4测试版。它们描述了相同的语言,但2.5测试版更容易理解。(还不太容易理解)

    您将客户的状态与客户造成的状态混合在一起,或者如您所说,由客户输入的状态混合在一起……什么是“此场景”?“。我想获得的行为…”你应该知道:1.你拥有什么。(定义所有术语!)2.你想得到什么。3.你做了什么。4.出了什么问题。你应该向我们解释这4点。对不起,我听不懂你的文字。只有你的nooby州让你免于结束问题。@Gangnus在帖子中看到编辑。我希望你现在能更清楚。解决你的4点。1)我不明白连接状态是如何工作的2)更好地理解3)我阅读了规范。。。4) ... 但是我没有找到我想要的感谢你的努力和解释!