- 1、本文档共55页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第四章形式化说明技术
本堂课讲授重点
一、有穷状态机
二、Petri网
(4学时)
返回
软件需求的说明技术
非形式化:用自然语言描述需求规格说明。比如,应力分析程序必须在一分种之内生产任何一个梁的应力报告。
半形式化:用数据流图、实体-联系图建立模型。
形式化方法:使用具有坚实的数学基础的工具来描述系统性质。
非形式化方法的缺点
矛盾:是指一组相互冲突的陈述。
二义性:是指读者可以用不同方式来理解。
含糊性:比如,友好的界面、很高的安全性
不完整性
抽象层次混乱
形式化方法的优点
由于逻辑的严密性,它能够简洁准确地描述物理现象、对象或动作的结果。比如,关系代数里面的联结运算。
在不同的软件工程活动之间平滑地过渡
可以使用数学方法证明,设计符合规格说明,程序代码正确地实现了设计结果。
应用形式化方法的准则
应该选用适当的表示方法
应该形式化,但不要过分形式化
应该估算成本
应该有形式化方法顾问随时提供咨询
不应该放弃传统的开发方法
应该建立详尽的文档
不应该放弃质量标准
不应该盲目依赖形式化方法
应该测试、测试再测试
应该重用
有穷状态机的形式定义
有穷状态机是一个5元组(J,K,T,S,F),其中:
J是一个有穷的非空状态集,在任一确定的时 刻,只能处于一个确定的状态;
K是一个有穷的非空输入集,在任一确定的时 刻,只能接收一个确定的输入;
T是一个从(J-F)×K到J的转换函数;
S∈J,是初始状态,由此状态开始接收输入;
FJ,是终态集,到达终态后不再接收输入。
有穷状态机的表示方法
状态转换表:用表格的行表示状态机所处的当前状态,列表示当前的输入,行列交叉处表示要到达的下一个状态。
状态转换图:用结点(圆圈,矩形或圆角矩形)表示状态,将存在转换关系的状态用有向弧连接,并标注相应的输入字符在有向弧旁,用标有箭头的结点表示初始状态,终结状态集中的状态用双圈表示。
状态转移矩阵:用行表示状态机所处的当前状态,列表示将要到达的下一个状态,行列交叉处表示输入字符。
有穷状态机的例子
一个保险箱上装了一个复合锁,锁有三个位置,分别标记为1、2、3,转盘可向左(L)或向右(R)转动。这样,在任意时刻转盘都有6种可能的运动,即1L、1R、2L、2R、3L和3R。保险箱的组合密码是1L、3R、2L,转盘的任何其他运动都将引起报警。图4.1描绘了保险箱的状态转换情况。
图4.1 保险箱的状态转换图
用有穷状态机描述的保险箱
状态集J:{保险箱锁定,A,B,保险箱解锁,报警}
输入集K:{1L,1R,2L,2R,3L,3R}
状态转换函数T:如表4.1所示
初始态S:保险箱锁定
终态集F:{保险箱解锁,报警}
试描述下面的有穷状态机
给出一个有穷状态机M=({q0,q1,q2,q3},{0,1},t, q0,{q0}),其中状态转换函数t的定义如下:
t(q0,1)= q1, t(q0,0)= q2, t(q1,1)= q0, t(q1,0)= q3, t(q2,1)= q3, t(q2,0)= q0, t(q3,1)= q2, t(q3,0)= q1
状态转换表
输入
次态
当前状态
0
1
q0
q2
q1
q1
q3
q0
q2
q0
q3
q3
q1
q2
状态转换图
状态转换矩阵
有穷状态机的扩展
状态的每个转换都具有下面的形式:
当前状态+事件下个状态
有时候需要对有穷状态机做一个很有用的扩展,即在前述的5元组中加入第6个组件——谓词集P,从而把有穷状态机扩展为一个6元组,其中每个谓词都是系统全局状态Y的函数。转换函数T现在是一个从(J-F)×K×P到J的函数。
现在的转换规则形式如下:
当前状态+事件+谓词下个状态
电梯控制系统
在一幢m层的大厦中需要一套控制n部电梯的产品,要求这n部电梯按照约束条件C1,C2和C3在楼层间移动。
C1:每部电梯内有m个按钮,每个按钮代表一个楼层。当按下一个按钮时该按钮指示灯亮,同时电梯驶向相应的楼层,到达按钮指定的楼层时指示灯熄灭。
C2:除了大厦的最低层和最高层之外,每层楼都有两个按钮分别请求电梯上行和下行。这两个按钮之一被按下时相应的指示灯亮,当电梯到达此楼层时灯熄灭,电梯向要求的方向移动。
C3:当对电梯没有请求时,它关门并停在当前楼层。
控制系统的三大组成部分
电梯按钮:
楼层按钮:
电梯本身:
电梯按钮的状态转换图
令EB(e,f)表示按下电梯e内的按钮并请求到f层去。EB(e,f)有两个状态,分别是按钮发光(打开)和不发光(关闭)。更精确地说,状态是:
EBON(e,f):电梯按钮(e,f)打开
EBOFF(e,f)
您可能关注的文档
最近下载
- 做香囊(课件)-三年级上册劳动.pptx VIP
- 新思路大学英语基础教程第一册.docx VIP
- 2025年新疆阿勒泰地区布尔津县高校毕业生“三支一扶”计划招募11人笔试模拟试题及答案解析.docx VIP
- 2025年【合成氨工艺】考题(含答案) .docx VIP
- 重庆市人民小学四年级数学竞赛试卷及答案_学科竞赛.pdf VIP
- PC(装配式)结构施工监理实施细则.doc VIP
- 民警心理健康辅导课件.pptx VIP
- 考古与文物 讲座7-2元、明、清时期的瓷器.ppt VIP
- 考古与文物 讲座6-3中国古代青铜器的作伪与辨伪.ppt VIP
- 期末综合题训练-统编版七年级下册历史(含答案).docx VIP
文档评论(0)