我听说有人使用这些术语。
我想知道它们是指同一件事还是这两者之间有区别?
维基百科实际上很好地涵盖了这一点。 http://en.wikipedia.org/wiki/State_diagram
状态机已经存在了很长时间(至少几十年)。它们由状态(通常是圆圈)和状态之间的箭头组成,其中某些动作可以触发沿箭头的转换。Moore 和 Mealy 机器是两个主要变体,它们指示输出是来自转换还是状态本身。
状态图由David Harel发明,有时也称为 Harel 状态图。他定义了对典型状态机的相当广泛的扩展,目的是使状态机对复杂系统的实际工作更有用。
现在,Matlab 中内置了状态图的一个变体,as stateflow
,它是 simulink 的扩展。Stateshart 也是 UML“状态机图”的基础。
了解更多关于 Stateflow 的一般信息:https ://www.mathworks.com/help/stateflow/examples.html
Stateflow 已更新,可以非常轻松地在 R2012b 中创建状态机和流程图。
主要更新包括新的图形编辑器、状态转换表、作为动作语言的 MATLAB 和集成调试器。
来自 Addison-Wesley 出版的 Ian Horrocks 于 1999 年出版的开创性书籍“使用状态图构建用户界面”(粗体/斜体表示强调):
从用户界面的本质来看,状态和事件显然是描述其行为的自然媒介。有限状态机是一种形式化的机制,用于收集和协调这些片段以形成一个整体。然而,人们普遍认为,由于以非结构化方式组织的大量状态和事件,有限状态机不适合描述复杂系统。指定用户界面的基于状态的方法的可行性依赖于一种规范语言,该语言导致图表简洁、结构良好、模块化和分层。
有许多不同的符号用于表示有限状态机,例如状态转移图和状态转移矩阵。然而,这样的符号并没有解决与有限状态机相关的基本问题。状态图表示法不仅仅是有限状态机的另一种表示法。状态图是基于状态的表示法向前迈出的重要一步。它们提供了比任何有限陈旧机器表示法更丰富、更强大的规范语言。与有限陈旧机器相关的所有严重问题都可以通过状态图解决:
- 状态图中的状态数量与指定系统的复杂性成正比。在有限状态机中,状态的数量往往会迅速增加,而指定系统的复杂性只会适度增加。
- Statecharts avoid duplicate states and duplicate event arrows. This avoids large, chaotic diagrams that are difficult to understand and difficult to modify.
- The states in a statechart have a hierarchical structure, which means the system being modelled can be considered at different levels of abstraction. The modular nature of the states ensures that it is not necessary to understand an entire statechart in order to understand just one part of it. In a nutshell, statecharts are to state transition diagrams what modular decomposition and abstraction are to monolithic code