【问题标题】:Hierarchical State Machine (HSM) Current State分层状态机 (HSM) 当前状态
【发布时间】:2021-01-21 08:46:06
【问题描述】:

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

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

是的...我认为有两种当前状态:当前状态 1 = 正常用户登录或退出。 当前状态 2 = 技术用户登录或退出。我是不是有问题?

我对它们有点困惑。我们如何才能在 HSM 图上将此状态显示为仅一种当前状态?

【问题讨论】:

    标签: state uml fsm statechart


    【解决方案1】:

    是否只有一种当前状态

    由于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 相矛盾,当已经有普通用户登录时,普通用户可以登录吗?当已经有技术用户登录时,普通用户可以登录吗?

    我认为有两种当前状态:当前状态 1 = 正常用户登录或退出。当前状态 2 = 技术用户登录或退出。我是不是有问题?

    你的状态似乎和我一样,除了只有一个普通用户和一个而且只有一个技术人员,但是这台机器与normal user can login to system any time and logout. And technician same兼容,然后可能与不起眼的but normal user does not do it相矛盾。记录的普通用户和技术人员之间存在依赖关系这一事实意味着只有一个当前状态


    评论后编辑

    声明是:

    1. 有一名普通用户和一名技术人员
    2. 技术人员可以随时登录和注销
    3. 技术人员登录后,普通用户无法登录或注销

    一个正常的方法是机器:

    一次只有一个当前状态。

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

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

    【讨论】:

    • 很抱歉句子不清楚。 Actullay 有一名技术用户和一名普通用户。 1.技术用户可以随时登录系统和退出系统(即使是普通用户已经登录到系统。我的意思是技术人员击败普通用户:)) 2.普通用户可以登录系统和退出系统任何时候(除非技术人员已经登录系统。在这种情况下,普通用户根本无法进入和退出) 3.根据上述,可能两个用户同时存在于系统上。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-07-07
    • 1970-01-01
    • 2012-08-06
    • 1970-01-01
    • 1970-01-01
    • 2020-06-28
    • 2017-01-06
    相关资源
    最近更新 更多