用状态机原理进行软件设计

分享到:

 第1章 引言


20 多年以前,David Harel 创造了状态机理论来描述复杂的交互系统。随后,状态机理论赢得了广泛的接受,并且被引入到许多软件系统中,最突出的是被引入到UML 中作为其一个组成部分。


不过,状态机理论的发展却很缓慢。在众多原因中,状态机只是做为编程的实现工具而不是设计工具是一个最重要的原因。


本文的重点就在于,怎样利用状态机原理进行程序设计。本文会先给出普通的、一个平面上的FSM(有限状态机)的概念和实例,并指出其中的一些缺点,然后引出本文的重点HSM(层次状态机)的概念和设计方法。为了使本文既可以作为设计方法的参考,又可以作为实现方法的参考,本文会给出FSM 和HSM 的C 语言实现。

用状态机原理进行软件设计.pdf

继续阅读
基于有限状态机的嵌入式系统模型校验技术

对于面向控制的系统,可以采用有限状态机(FSM)定义需求和设计,这是一种得到广泛认可的抽象表示方法。当然,光靠FSM并不能对复杂的实际工业系统进行建模。我们还需要:1. 能将需求模块化并区分需求等级;2. 能合并各组成部分的需求(或设计);3. 能通过更新预先规定的变量和设备,防止可能出现的异常。

有限状态机的嵌入式Linux按键驱动设计

一般的按键驱动程序通常非常简单。在程序中一旦检测到按键输入口为低电平时,就采用软件延时10 ms后再次检测按键输入口。如果仍然是低电平则表示有按键按下,便转入执行按键处理程序;否则,当按键输入口为高电平,就会放弃本次按键的检测,重新开始一次按键检测过程。这种方式不仅由于采用了软件延时而使得MCU的效率降低,同时也不容易同系统中其他功能模块协调工作,且系统的实时性也差。本文把单个按键作为一个简单的系统,根据状态机的原理对其动作的操作和确认的过程进行分析,并用状态图表示出来,然后根据状态图编写出按键接口程序。

©2019 Microchip Corporation
facebook google plus twitter linkedin youku weibo rss