statemachine和statechart是否意味着相同?

时间:2011-11-19 07:52:37

标签: uml terminology diagram state-machine statechart

我听过有人使用这些条款。

我想知道他们是否提到了同样的事情,或者两者之间是否存在差异?

3 个答案:

答案 0 :(得分:16)

维基百科实际上很好地涵盖了这一点。 http://en.wikipedia.org/wiki/State_diagram

状态机已经存在了很长时间(至少几十年)。它们由状态(通常是圆圈)和状态之间的箭头组成,其中某些动作可以触发沿箭头的过渡。 Moore和Mealy机器是两个主要变体,它们指示输出是从转换还是从状态本身得出。

状态图由David Harel发明,有时称为Harel Statecharts。他定义了对典型状态机的广泛扩展,其目标是使状态机对于复杂系统的实际工作更有用。

状态图的变体现在构建到Matlab中,作为stateflow,它是simulink的扩展。 Statesharts也是UML“State Machine Diagrams”的基础。

答案 1 :(得分:0)

了解有关Stateflow的更多信息,请访问:http://www.mathworks.com/products/stateflow/examples.html

Stateflow已更新,因此可以非常轻松地在R2012b中创建state machines和流程图。

主要更新包括新的图形编辑器,状态转换表,MATLAB作为动作语言和集成调试器。

最好,Siddharth

答案 2 :(得分:0)

摘自 1999 年 Ian Horrocks 所著的开创性著作“Constructing the User Interface with Statecharts”,由 Addison-Wesley 出版(粗体/斜体强调):

<块引用>

从用户界面的本质来看,状态和事件显然是描述其行为的自然媒介。有限状态机是一种正式的机制,用于收集和协调这些片段以形成一个整体。然而,它是 普遍认为,由于大量的状态和事件是在一个组织中组织的 非结构化方式,有限状态机不适合描述复杂的 系统。用于指定用户界面的基于状态的方法的可行性取决于 使用规范语言,生成简明、结构良好的图表, 模块化和分层。

有许多不同的表示法用于表示有限状态机,例如状态 转移图和状态转移矩阵。然而,这样的符号并没有解决 与有限状态机相关的基本问题。状态图符号是 不只是有限状态机的另一种表示法;状态图是基于状态的符号向前迈出的重要一步。它们提供了更丰富、更强大的规范 语言比任何有限陈旧的机器符号。与相关的所有严重问题 有限陈旧机器由状态图解决:

  1. 状态图中的状态数量与状态的复杂程度成正比 系统被指定。在有限状态机中,状态数趋于 系统复杂性仅适度增加的情况下迅速增加 被指定。
  2. 状态图避免了重复的状态和重复的事件箭头。这避免了大、 难以理解且难以修改的混沌图。
  3. 状态图中的状态具有层次结构,这意味着系统 可以在不同的抽象级别考虑建模。模块化 状态的性质确保没有必要为了理解其中的一部分而理解整个状态图。 简而言之,状态图是为了 状态转换图什么是模块化分解和抽象 整体代码