• 回答数

    3

  • 浏览数

    144

奔跑de小土豆
首页 > 英语培训 > 状态机图英文

3个回答 默认排序
  • 默认排序
  • 按时间排序

大璐璐131483

已采纳

状态机是有限状态自动机的简称,是现实事物运行规则抽象而成的一个数学模型。

先来解释什么是“状态”(State)。现实事物是有不同状态的,例如一个LED等,就有亮和灭两种状态。我们通常所说的状态机是有限状态机,也就是被描述的事物的状态的数量是有限个,例如LED灯的状态就是两个亮和灭。

状态机,也就是StateMachine,不是指一台实际机器,而是指一个数学模型。说白了,一般就是指一张状态转换图。

状态机由状态寄存器和组合逻辑电路构成,能够根据控制信号按照预先设定的状态进行状态转移,是协调相关信号动作、完成特定操作的控制中心。有限状态机简写为FSM(Finite State Machine),主要分为2大类:

第一类,若输出只和状态有关而与输入无关,则称为Moore状态机;

第二类,输出不仅和状态有关而且和输入有关系,则称为Mealy状态机。

有限状态机是一种概念性机器,它能采取某种操作来响应一个外部事件。具体采取的操作不仅能取决于接收到的事件,还能取决于各个事件的相对发生顺序。之所以能 做到这一点,是因为机器能跟踪一个内部状态,它会在收到事件后进行更新。为一个事件而响应的行动不仅取决于事件本身,还取决于机器的内部状态。另外,采取 的行动还会决定并更新机器的状态。这样一来,任何逻辑都可建模成一系列事件/状态组合。

扩展资料:

状态机的四大概念:

State,状态。一个状态机至少要包含两个状态。例如上面灯泡的例子,有灯泡亮和灯泡灭两个状态。

Event,事件。事件就是执行某个操作的触发条件或者口令。对于灯泡,“打开开关”就是一个事件。

AcTIon,动作。事件发生以后要执行动作。例如事件是“打开开关”,动作是“开灯”。编程的时候,一个AcTIon一般就对应一个函数。

TransiTIon,变换。也就是从一个状态变化为另一个状态。例如“开灯过程”就是一个变换。

状态机的应用:

状态机是一个对真实世界的抽象,而且是逻辑严谨的数学抽象,所以明显非常适合用在数字领域。可以应用到各个层面上,例如硬件设计,编译器设计,以及编程实现各种具体业务逻辑的时候。

进程5状态模型:

进程管理是Linux五大子系统之一,非常重要,实际实现起来非常复杂,我们来看下进程是如何切换状态的。

参考资料:百度百科-状态机

状态机图英文

124 评论(8)

小特别16

原理图

1、Schematics

,保存工程。 2.1 原理图的绘制①新建原理图文件 File → New → Schematics ( 原理图), 或右键单击工程名为工程添加新文件,选择原理图。右击文件名保存②设置图纸参数 Design → D

2、SCH

99 SE Protel DXP Protel 2004 Protel2004的主要组成1、SCH(原理图)设计系统 主要用于电路原理图的设计 2、PCB(印制电路板)设计系统 主要用于印制电路板的设计

3、ORCAD

Allegro调用文件Innovating Customer Value ORCAD1.打开原理图(ORCAD),鼠标点一下原理图的名称xx.dsn,使之出 于选中状态。 再点击菜ORCADs/cross ref

4、Schematic

)_理学_高等教育_教育专区。嵌入式系统与应用可编程...(编程)– HDL – Schematic(原理图) – Finite State Machine (状态机) Part 3... “Stateflow

257 评论(8)

cll19880211

绝大多数智能硬件产品是一个包含状态转换、数据操作和功能执行的综合系统(这个系统的状态是有限的),它在任何时刻都处于众多状态中的某一种状态。只有当某个特定的事件发生或某个被定义的标准被满足时,系统的状态才会发生转换,由一种状态向另一种状态发生转变。比如,当处于“关闭”状态的电灯的开关系统接收到用户的指令时(用户按开关即是“事件”),电灯从“关闭”状态变为“开启”状态。 当我们用文字来描述一系列复杂的状态转换逻辑时,很可能会忽略某些关键的状态变化过程,也可能导致某些状态变化的重复和新增一些本不该出现的状态变化。这就使需求不清晰,从而导致文档的阅读者(通常是工程师)无法全面的理解系统的行为变化。 这时候,我们就需要引入UML中的状态转换图来展示系统状态关系的全貌,状态转换图英文全称State transition diagram,缩写STD,简称状态图。它属于事件驱动模型,表示系统对外部事件的响应方式,能清晰的描述系统状态之间的转换顺序和状态之间的关系,在节省大量文字描述的情况下帮助工程师更好的理解需求和讨论设计思路,避免开发时出现状态转换逻辑错误,并且系统实现后还要用状态模型来论证系统的结构和操作。状态图还明确的定义了状态发生转换时必要的触发事件和影响状态转换的关键因素,有利于在开发过程中避免非法事件的进入。通过绘制状态图,还可以帮助我们检测系统设计中是否存在缺陷。状态图既可以表示系统循环运行过程,也可以表示系统单程生命期。所以,绘制状态转换图这项技能对产品经理是至关重要的。 状态图(STD)表示系统状态和引起状态改变的事件,它包含三种关键元素: 01.可能的系统状态 :系统在任何时候都会处于某种状态中,所有系统都有状态,一个状态代表系统的一种行为模式。比如手机具备“待机”、“通话中”、“关机”等状态,处于“关机”状态的手机无法接听电话(消息),而处于“待机”状态的手机则可以接听电话。这说明系统所处的状态决定了系统对事件的响应方式或所接受的消息。在状态图中定义的状态主要有初态(即初始状态)、终态(即最终状态)和中间状态。在一张状态图中只能有一个初态,而终态则可以有0至多个。系统状态一般用圆角矩形表示,如上图所示。其中可能还包括处于该状态时将要执行的非原子动作(可中断)的简单描述,以Do引出,动作完成后状态就结束,然后一个从当前状态出发的转换被触发。状态还可能包括进入动作和退出动作,进入动作指进入状态时执行的原子动作(不可中断),以Entry引出,比如手机进入“充电”状态后屏幕就显示充电图标。退出动作指退出状态时执行的原子动作,以Exit引出,比如手机退出“充电”状态后屏幕就不再显示充电图标,进入“待机”状态。 02.允许的状态转换 :即状态之间的转换关系,比如电脑可以从“待机”状态转换“睡眠”状态。状态的转换一般用连接两个圆角矩形的箭头表示,如上图所示。 03.导致状态发生转换的事件 :事件使得系统从一个状态转换为另一个状态,比如用手指点击一个处于“开启”状态的智能音箱的电源,使智能音箱变为“关闭”状态,在智能音箱状态的变化是被“用手指点击开关”这个动作引起的,所以“用用手指点击开关”就是一个事件。事件主要分为四类:信号事件、调用事件、变化事件、时间事件。事件一般用状态转换箭头上的文字标签来表示,如上图所示。 在绘制状态图(系统建模)时,图形符号的使用通常是非常灵活的,不必严格遵守符号的形式和细节,比如描述系统状态,不管是圆角矩形还是圆形都是可以的,但需要注意的是,对同一事物的描述要使用相同的符号,以保证表述的一致性。 为了便于理解,我们以一个简化了的智能洗衣机控制系统来分析一下绘制状态图的方法。这款智能洗衣机具备:一个用来显示按钮和设备设置的触控屏;一个用来选择洗涤模式的按钮,可以选择强力洗涤和超快洗涤两种方式;一个用来设置水量的数字键盘;一个能控制开始/停止的按钮。还具备安全锁功能,在没关闭洗衣机仓门时洗衣机不会工作,工作中打开盖子洗衣机会暂停工作,且工作完成后洗衣机会发出提示音提示用户来取衣物。 假设该智能洗衣机的操作步骤如下: 选择洗涤模式,强力洗涤或超快洗涤; 用数字键盘设置本次洗涤所需水量; 点击开始按钮,使用相应洗涤模式和水量开始洗涤。 产品逻辑梳理清楚之后,我们下面开始绘制状态转换图。 梳理产品逻辑,列出产品/系统可能出现的所有状态,比如:待机状态、强力洗涤、快速洗涤、水量设置、可工作状态(就绪)、不可工作状态(异常)、正在工作等。在状态名称下方列出该状态下所包含的所有动作,即用Entry,Do,Exit标注进入动作、执行动作和退出动作。比如:待机状态下执行等待指令动作、强力洗涤状态下设置洗涤模式为强力洗涤等。事件可以通过状态表来梳理,状态表是用矩阵的形式表示不同状态之间存在的所有转换,通过使用状态表和分析矩阵中的每一个单元格,能确保遍历所有的状态转换事件。首先,在表格的首行和首列分别列出系统的所有状态。单元格表示列状态到行状态之间的转换是否有效,如果是有效的转换状态,在单元格中写出引起转换的事件,如果是无效的转换,则可以使用“\”或“无”表示。这样的状态表能保证我们对所有的状态转换没有遗漏,它可以帮助阅读者直观的理解可能存在的转换顺序。 使用状态表梳理出所有引起状态发生转换的事件后,就可以通过箭头连接可以发生转换的状态,并在箭头上标注出引起该状态转换的事件或条件。比如:系统处于待机状态时,用户可以点击强力洗涤按钮进入强力洗涤状态或点击快速洗涤按钮进入快速洗涤状态,当用户改变想法时可以点击另个一洗涤模式按钮。设置好水量并且关闭仓门后,点击开始按钮,智能洗衣机就会开始一个工作周期,工作周期完成后系统回到待机状态。在步骤3的基础上标注出初态和终态,然后补充更多系统状态和系统事件方面的细节,可以用表格的形式来展现,下面的两个表格也可以分别在进行步骤2和步骤3时创建,这样一份完整的状态转换图就完成了!由于智能硬件的系统越来越复杂,系统的状态数量急速增加。因此,对于比较复杂的系统模型,我们需要隐藏一些系统执行处理的细节,仅展示系统状态的变化。此时就需要引入超态(superstate)和子状态((substate),它们是一种嵌套关系,超态中嵌套了两个或两个以上的子状态。这两个概念的引入,可以帮助我们更好的绘制和解释复杂系统的状态转换关系。 依然拿智能洗衣机为例,它在工作开始前会检测系统状态,如果一切正常则启动涡轮开始洗涤,洗涤完成后声音模块播放提示音,然后设备进入待机状态;如果检测到任何异常,则声音模块播放报警提示音,然后设备进入异常状态。通过下图可以看到,正在工作是超态,而检测状态、洗涤状态、报警状态、工作完成都是其子状态。 工欲善其事必先利其器,可以绘制状态转换图的工具有很多,除了原型绘制工具外,还可以尝试一些专业绘图工具。下面推荐一些简洁易用的绘图工具: Diagram Maker | Online Diagram Software Online Diagram and Flowchart Software | Cacoo Diagramming Software & Team Collaboration Tools | Gliffy ProcessOn - 免费在线作图,实时协作 流程图制作软件,图表制作软件 - Microsoft Visio 状态转换图无须展示系统数据处理的细节,它只需完整的展示系统运行可能导致的状态的变化。状态转换图提供了一种横跨多个用户故事或用例的更高层视图,且每个用户故事或用例都可能涉及系统状态的转换。它帮助项目干系人快速理解系统状态联系,更快理解系统的预期行为。状态转换图涵盖了所有状态可能发生变化的关键路径,测试人员可以由状态图衍生出测试用例,使早期的测试工作更顺利的展开。身为产品经理,若要保证所有必要的状态转换和事件都完整、准确的在产品功能需求中描述出来,状态转换图是必不可少的强力工具。

194 评论(10)

相关问答