网络软件设计10——有状态设计_第1页
网络软件设计10——有状态设计_第2页
网络软件设计10——有状态设计_第3页
网络软件设计10——有状态设计_第4页
网络软件设计10——有状态设计_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、网络软件设计网络软件设计制作主讲段景山段景山段景山2有状态与无状态服务器有状态与无状态服务器段景山段景山3有状态服务有状态服务段景山段景山4无状态是一个协议问题无状态是一个协议问题段景山段景山5有限状态机有限状态机状态状态转换转换事件事件动作动作缺点缺点时序时序性不性不强强段景山段景山6有限状态机的基本结构有限状态机的基本结构n状态:状态:l 实体有有限个状态实体有有限个状态l 每一时刻,实体只处于其中一个状态每一时刻,实体只处于其中一个状态n事件:事件:l 事件引起实体产生动作,如收到事件引起实体产生动作,如收到PDU、定时器到时等、定时器到时等l 事件按发生的顺序排在事件队列中,等待处理事

2、件按发生的顺序排在事件队列中,等待处理l 事件可能有附加条件事件可能有附加条件n动作:动作:l 处理队列中的一个事件,转移到下一状态处理队列中的一个事件,转移到下一状态 l 不同状态下,对同一事件可能有不同的处理方法不同状态下,对同一事件可能有不同的处理方法l 最简动作:忽略事件,保持状态(图中可省略不画)最简动作:忽略事件,保持状态(图中可省略不画)FSM事事件件状态状态1状态状态2事件事件e1 / 动作动作a1事件事件e2 / 动作动作a2事件事件e3 / 动作动作a3段景山段景山7例例段景山段景山8停等协议的状态机(停等协议的状态机(1)状态机状态机(Ns, Nr)发送发送接收接收递交递

3、交上层上层DU协议实体协议实体PDU、ACKTo:对等实体:对等实体PDU、ACKFrom:对等实体:对等实体状态机的位置状态机的位置段景山段景山9停等协议(停等协议(2)0ACK1ACK准备发送帧准备发送帧1准备发送帧准备发送帧0等待帧等待帧1等待帧等待帧0段景山段景山10停等协议状态机停等协议状态机接收方接收方发送方发送方段景山段景山11有限状态机小结有限状态机小结状态状态1状态状态2/x段景山段景山12有限状态机小结有限状态机小结状态状态1状态状态2事件事件1/动作动作1事件事件2(动作(动作1)/动作动作2,动作,动作2事件事件1,事件事件2/动作动作3事件事件1/动作动作1事件事件2

4、/动作动作2状态状态3状态状态1事件事件3/动作动作3段景山段景山13有限状态机小结有限状态机小结状态状态1/动作动作1事件事件1/x状态状态1事件事件2/动作动作2事件事件3/段景山段景山14有限状态机的作用有限状态机的作用(1)状态转移表状态转移表段景山段景山15状态转移表状态转移表准备准备发送帧发送帧0准备准备发送帧发送帧1段景山段景山16状态转移表状态转移表等待帧等待帧0等待帧等待帧1段景山段景山17fsm程序框架程序框架fsm( 当前状态当前状态,事件事件 )switch( 事件)事件)case 事件事件1:case 事件事件2:default:ignore;return next_

5、state;action 1;next_state = xxx;main() state = initial; while(1) waite for a event; state = fsm(state,event); fsm.cif(当前状态(当前状态=X)段景山段景山18改进的改进的fsm程序框架程序框架main() state = initial; while(1) waite for a event; switch(state) case X: state = x_fsm(event); case Y: state = y_fsm(event); x_fsm(事件事件)switch(

6、事件)事件)case 事件事件1:case 事件事件2:default:ignore;return next_state;action 1;next_state = xxx;段景山段景山19有限状态机的设计有限状态机的设计段景山段景山20有限状态机的设计有限状态机的设计main() state = initial; while(1) waite for a event; switch(state) case X: state = x_fsm(event); case Y: state = y_fsm(event); 段景山段景山21停等协议的有限状态机设计停等协议的有限状态机设计段景山段景山2

7、2停等协议的有限状态机设计停等协议的有限状态机设计段景山段景山停等协议的有限状态机设计停等协议的有限状态机设计23段景山段景山2425段景山段景山26停等协议的有限状态机设计停等协议的有限状态机设计段景山段景山停等协议的有限状态机设计停等协议的有限状态机设计28段景山段景山案例:某嵌入式终端主控程序设计案例:某嵌入式终端主控程序设计29段景山段景山30段景山段景山31段景山段景山基于状态机的主控设计基于状态机的主控设计32段景山段景山33段景山段景山34序号名称说明界面宏定义1空 闲 状态系统进入的初始状态,输入动作被取消时的状态;欢迎页面ST_IDLE2设 置 状态用户按设置键,进入设置状态

8、,具有多个子状态;设置页面ST_SET3编 辑 状态用户按编辑键,进入编辑状态;编辑页面ST_EDIT4等 待 回显状态向上位机发送数据后,等待上位机回显信息的状态。等待页面ST_WAIT5回 显 状态得到上位机数据,进行显示。有多个子状态;回显页面ST_SYSINFO段景山段景山35段景山段景山36事件动作状态功能键或RFID扫描上位机数据数字编辑键确认(OK键)取消(返回键)设置键上下键左右键WLAN驱动文字菜单图片有编辑无编辑有编辑无编辑上下左右AP列表空闲组 包 上传 ; 显示 等 待回 显 页面计 算 自动换行,滚动条,显 示 一屏 静 态回 显 页面计算滚动条,显示一屏交互回显页面

9、(目前在picServer中接收图片,收完后会给命令解析发送命令,显示这个图片)。显示图片记录键值,显示编辑页面(不可能出现)组包上传;显示等待页面(不可能出现)组包上传;显示等待页面显示设置首页页面组包上传;显示等待页面组包上传;显示等待页面解释为空格,显示编辑页面记录列表等待回显/静态回显回 显 / 交互回显回 显 / 静态回显编辑等待等待设 置 /首页等待等待编辑设置首页组 包 上传 ; 显示 等 待回 显 页面计 算 自动换行,滚动条,显 示 一屏 静 态回 显 页面计算滚动条,显示一屏交互回显页面(目前在picServer中)。显示图片修改焦点号,事件改为确认,再次进入状态机显示相应设置子页面或确

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论