《软件工程》04-形式化方法.pptVIP

  • 5
  • 0
  • 约2.99千字
  • 约 10页
  • 2022-12-15 发布于江苏
  • 举报
Company Logo 第四章 形式化说明技术 第四章 形式化说明技术 Why Formal? 自然语言:矛盾、二义性、含糊 形式化表示:准确、清晰 非形式化:自然语言 半形式化:DFD、E-R图 形式化:坚实的以数学为基础的表示方法 * 第四章 形式化说明技术 4.1 概述 4.2 有穷状态机 4.3 Petri网 4.4 Z语言 * 4.1 概 述 4.1.1 非形式化方法的缺点 矛盾:相互冲突的陈述 二义性:读者可以用不同的方式理解的陈述 含糊 不完整 抽象层次混乱:非常抽象的陈述中混进了一些关于细节的低层次陈述。 * 4.1 概 述 4.1.2 形式化方法的优点 把数学引入软件开发过程,形成基于数学的形式化方法。 数学最有用的一个性质是,能够简洁准确地描述物理现象、对象或动作的结果,因此是理想的建模工具。 在软件开发过程中使用数学,可以在不通的软件工程活动之间平滑地过渡。 提供了高层确认的手段。 * 4.1 概 述 4.1.3 应用形式化方法的准则 应该选用适当的表示方法 应该形式化,但不要过分形式化 应该估算成本 应该有形式化方法顾问随时提供咨询 不应该放弃传统的开发方法 应该建立详尽的文档 不应该放弃质量标准 不应该盲目依赖形式化方法 应该测试、测试再测试 应该重用 * 4.2 有穷状态机 4.2.1 概念 一个保险箱上装了一个复合锁,锁有3个位置,分别标记为1、2、3,转盘可向左(L)或向右(R)转动。 这样,任何时刻转盘都有6种可能的运动,即1L、1R、2L、2R、3L、3R。保险箱的组合密码是1L、3R、2L,转盘的任何其他运动都将引起报警。 * 4.2 有穷状态机 图4.1 保险箱的状态转换图 * 4.2 有穷状态机 * 4.2 有穷状态机 一个有穷状态机包括5个部分: 状态集J:{保险箱锁定,A,B,保险箱解锁, 报警} 输入集K:{1L、1R、2L、2R、3L、3R} 转换函数T:如表4.1所示 初始态S:保险箱锁定 终态集F:{保险箱解锁,报警} * 4.2 有穷状态机 一个有穷状态机可以表示为一个5元组(J,K,T,S,F),其中: J是一个有穷的非空状态集; K是一个有穷的非空输入集; T是一个从(J-F)*K到J的转换函数; S∈J,是一个初始状态; F J,是终态集 一个有穷状态机可以表示为一个5元组(J,K,T,S,F),其中: J是一个有穷的非空状态集; K是一个有穷的非空输入集; T是一个从(J-F)*K到J的转换函数; S∈J,是一个初始状态; F J,是终态集 * 4.2 有穷状态机 加入谓词集P,把有穷状态机扩展为一个6元组,其中每个谓词都是系统全局状态Y的函数。 则转换函数T: (J-F)*K*P J * 4.2 有穷状态机 4.2.2 例子 电梯按钮 EB(e,f):按下电梯e内的按钮并请求到f层去 状态: EBON(e,f):电梯按钮(e,f)打开 EBOFF(e,f):电梯按钮(e,f)关闭 事件 EBP (e,f):电梯按钮(e,f)被按下 EAF (e,f):电梯到达f层 谓词 V (e,f):电梯e停在f层 * 4.2 有穷状态机 图4.2 电梯按钮的状态转换图 * 4.2 有穷状态机 楼层按钮 FB(d,f):f层请求电梯向d方向运动的按钮 状态: FBON(d,f):楼层按钮(d,f)打开 FBOFF(d,f) :楼层按钮(d,f)关闭 事件 FBP (d,f):楼层按钮(d,f)被按下 EAF(1…n,f):电梯1或…或n到达f层 谓词 S(d,e,f):电梯e停在f层并且移动方向由d确定 * 4.2 有穷状态机 图4.3 楼层按钮的状态转换图 * 4.2 有穷状态机 电梯 状态 M(d,e,f):电梯e正沿d方向移动,即将到达的是第f层 S( d,e,f ):电梯e停在f层,将朝d方向移动(尚未关门) W(e,f):电梯e在f层等待(已关门) 事件 DC( e,f ):电梯e在楼层f关上门 ST( e,f ):电梯e靠近f层时触发传感器,电梯控制器决定在当前楼层电梯是否停下 RL:电梯按钮或楼层按钮被按下进入打开状态,登录需求 * 4.2 有穷状态机 图4.4 电梯的状态转换图 * 4.2 有穷状态机 关门之时的规则 * 思考题 定义状态: O(e,f):电梯e在f层开门,则如何进入这个状态 从等待到移动,如何表示 * 4.2 有穷状态机 4.2.3 评价 有穷状态机描述规格说明: 当前状态+事件+谓词 下个状态 优点: 易于书写、易于验证、精确、易于理解 缺点

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档