分层状态机 (HSM) 当前状态

Hierarchical State Machine (HSM) Current State

我正在研究 HSM,我有一个问题。

在HSM(对于所有系统)中,只有一种当前状态吗?例如; 在我的项目中,有两种用户类型:普通用户和技术人员用户。它们之间没有相同之处。普通用户可以随时登录和注销系统。和技师一样。此外,技术人员用户可以在普通用户登录时登录系统。此外,技术人员用户可以在普通用户已经登录的情况下登录系统。但是普通用户不会这样做。

是的...我认为当前有两种状态:当前状态 1 = 正常用户已登录或已退出。 当前状态 2 = 技术人员用户登录或退出。我说的对吗?

我对他们有点困惑。我们如何在 HSM 图上将这些状态显示为仅一个当前状态?

is there only one current state

在一般情况下,由于 fork,输出顶点位于复合状态的正交区域中,所以在状态机实例化中可能有多个当前状态。

例如,如果状态指示是否有至少一名普通用户登录并且是否有至少一名技术人员登录:

其中不需要将计数器设置为 0 的两个进入状态行为。如果最多只有一名普通用户和一名技术人员,则关联的计数器和内部转换会消失。

当前状态可以是:

  • 没有普通用户登录并且没有技术人员登录

  • 没有普通用户登录并且至少有一名技术人员登录

  • 至少有一位普通用户登录并且没有技术人员登录

  • 至少一位普通用户登录并且至少一位技术人员登录


但是你的说法一点都不清楚:

  • 首先是因为normal user can login to system any time and logout. And technician same这意味着普通用户和技术人员可以登录时没有限制,但是但是普通用户不这样做 似乎引入了一个矛盾的限制。我觉得这两句话一定要去掉

  • technician user can login to system when normal user logined : 没什么新鲜的,因为我们已经知道 technician same 意思是 技术人员可以随时登录系统并注销

  • technician user can login to system when normal user have already logined:和之前的假设有什么区别?也许您想说 技术人员用户可以在 技术人员 用户已经登录 的情况下登录系统,但是没有什么新的,因为我们已经知道 technician same 表示 技术人员可以随时登录系统并注销

  • but normal user does not do it:不做什么?事实上,这与 normal user can login to system any time and logout 相矛盾,当已经有普通用户登录时,普通用户可以登录吗?已经有技术人员用户登录时,普通用户可以登录吗?

I think that there is two current state : current state 1 = nomral user logined or quited. current state 2 = technician user logined or quited. Am I rigt?

你的状态好像和我一样,除了只有一个普通用户和一个只有一个技术人员,但是这台机器兼容normal user can login to system any time and logout. And technician same然后可能与晦涩难懂的but normal user does not do it.登录的普通用户和技术人员之间存在依赖关系这一事实意味着只有一个当前状态


评论后编辑

语句是:

  1. 有一位普通用户和一位技术人员
  2. 技术人员可以随时登录和注销
  3. 技术人员登录后普通用户无法登录也无法退出

A 正常 方法是机器 :

一次只有一个当前状态。

当然你也可以作弊让一台机器同时有两个当前状态:

但是正如您所看到的,技术人员被记录的事实是由状态和变量管理的,这没有任何意义,并且毫无意义地人为地使机器变得复杂。