Statechart vs Statemachine

use*_*209 3 uml state-machine statechart

我正在攻读考试,之前的考试有一个问题:

在此输入图像描述

网上有很多答案说Statecharts和Statemachines是一回事吗?如果没有,有人可以解释与这个问题有关的差异.

如果有人可以提供两者的例子,那将真的有帮助.谢谢

小智 7

状态图与有限状态机完全不同(我假设这是"常规"状态机的意思).状态图是指1984年发明的Harel符号,它被认为是对传统有限状态机的重要符号扩展.状态图已被合并到UML语言中(尽管它们将其称为行为状态机,并且UML还支持另一种称为协议状态机的概念,以增加混淆).主要的重要区别是状态图实际上是一种"分层"状态机.状态可以包含嵌套状态机(在任何深度级别).除此之外,还增加了正交区域的概念来模拟并行运行的不同子状态图,并且可以使用历史状态(浅历史或深历史)的概念来记住重新进入时要访问的子状态.复合状态.所有这些额外功能使状态图比简单,扁平的状态机更具可扩展性和表现力.状态图还允许添加与事件关联的操作(在状态内或状态之间的转换).存在许多不同的(通常是商业的)工具,允许从状态图完全生成可执行代码,或模拟模型行为(例如StateMate,Rhapsody,Stateflow,Yakindu Statechart Tools,visualSTATE等等).它们也经常用于工业中,主要用于嵌入式和反应式系统领域.这就是为什么州表可以被视为可执行建模的成功案例之一.


Jim*_* L. -1

状态机是一种计算数学模型,其通用性不如图灵机。术语“状态机”的另一个常见用法是实现该模型并在计算机上运行的代码。

相反,状态是对状态机的描述,通常表示为图表或表格。“图表”一词在拉丁语中是“纸”的意思,因此它意味着书写或绘制的东西。

状态机有很多种,包括 Mealy、Moore 和 Harel。(我不清楚 Harel 是否定义了一种状态机形式主义,或者只是一种更好的状态图符号。)UML 是这些符号的超集,为底层模型提供了一个统一的表面符号。模型和图形符号都描述了可以运行的状态机的设计。表示模型的图形符号可以被视为状态图。

我认为你所提的问题实际上是令人困惑和困惑的。Harel 1984 年的论文将 Mealy 和 Moore 形式主义称为“传统的”,但这个词现在也可能适用于 Harel 的工作。术语“状态图”可能指的是 Harel 或 UML,它可以映射为 Mealy 或 Moore 状态机。尽管如此,我还是会通过列举差异来回答这个问题。