状态图中的终止伪状态和最终状态有什么区别?

时间:2018-09-10 14:55:02

标签: uml state diagram

UML标准规定

  

终止伪状态
  进入终止伪状态意味着   通过状态机的上下文对象执行状态机是   终止。状态机不会退出任何状态,也不会退出   执行除与   过渡到终止伪状态。

何时应使用final和终止伪状态?对我来说,终止伪状态可以用名称为“ destroyed”的状态代替。

1 个答案:

答案 0 :(得分:2)

许多解释和示例有些含糊,所以让我看看是否可以用简明的英语来代替。最终状态是进程退出状态机的位置。终止伪状态是状态机关闭的状态。

一个例子可能是用于手机通话的状态机。您可能具有以下状态:查找联系人,发起呼叫,电话振铃,转到语音邮件或与联系人连接,然后最终断开连接。在这种情况下,最终状态将是断开连接(或更正确地说,断开连接将是导致最终状态的状态)。终止的伪状态可能是电话的电池没电了,电话掉下了垃圾,等等。

我不会说终止伪状态模拟状态机的异常终止,但这是它的大多数实际应用所使用的。