




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
软件工程PART12024/5/162第四章形式化说明技术CONTENTS放弃美丽的女人让人心碎。自然语言:矛盾、二义性、含糊形式化表示:准确、清晰非形式化:自然语言半形式化:DFD、E-R图形式化:坚实的以数学为基础的表示方法0102第四章形式化说明技术概述有穷状态机Petri网Z语言概述有穷状态机Petri网Z语言4.1概述2024/5/164.1.1非形式化方法的缺点矛盾:相互冲突的陈述二义性:读者可以用不同的方式理解的陈述含糊不完整抽象层次混乱:非常抽象的陈述中混进了一些关于细节的低层次陈述。#202244.1概述2024/5/164.1.2形式化方法的优点把数学引入软件开发过程,形成基于数学的形式化方法。数学最有用的一个性质是,能够简洁准确地描述物理现象、对象或动作的结果,因此是理想的建模工具。在软件开发过程中使用数学,可以在不同的软件工程活动之间平滑地过渡。提供了高层确认的手段。#202254.1概述2024/5/164.1.3应用形式化方法的准则应该选用适当的表示方法应该形式化,但不要过分形式化应该估算成本应该有形式化方法顾问随时提供咨询不应该放弃传统的开发方法应该建立详尽的文档不应该放弃质量标准不应该盲目依赖形式化方法应该测试、测试再测试应该重用#20226有穷状态机概念一个保险箱上装了一个复合锁,锁有3个位置,分别标记为1、2、3,转盘可向左(L)或向右(R)转动。这样,任何时刻转盘都有6种可能的运动,即1L、1R、2L、2R、3L、3R。保险箱的组合密码是1L、3R、2L,转盘的任何其他运动都将引起报警。4.2有穷状态机2024/5/168图4.1保险箱的状态转换图4.2有穷状态机2024/5/1694.2有穷状态机一个有穷状态机包括5个部分:状态集J:{保险箱锁定,A,B,保险箱解锁, 报警}输入集K:{1L、1R、2L、2R、3L、3R}转换函数T:如表4.1所示初始态S:保险箱锁定终态集F:{保险箱解锁,报警}#2022104.2有穷状态机2024/5/16一个有穷状态机可以表示为一个5元组(J,K,T,S,F),其中:J是一个有穷的非空状态集;K是一个有穷的非空输入集;T是一个从(J-F)*K到J的转换函数;S∈J,是一个初始状态;FJ,是终态集一个有穷状态机可以表示为一个5元组(J,K,T,S,F),其中:J是一个有穷的非空状态集;K是一个有穷的非空输入集;T是一个从(J-F)*K到J的转换函数;S∈J,是一个初始状态;FJ,是终态集114.2有穷状态机2024/5/1612加入谓词集P,把有穷状态机扩展为一个6元组,其中每个谓词都是系统全局状态Y的函数。01则转换函数T:(J-F)*K*PJ024.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层134.2有穷状态机2024/5/1614图4.2电梯按钮的状态转换图4.2有穷状态机15楼层按钮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确定#20224.2有穷状态机2024/5/1616图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有穷状态机2024/5/1618图4.4电梯的状态转换图4.2有穷状态机2024/5/1619关门之时的规则思考题2024/5/1620231从等待到移动,如何表示O(e,f):电梯e在f层开门,则如何进入这个状态定义状态:4.2有穷状态机#20224.2.3评价有穷状态机描述规格说明:当前状态+事件+谓词下个状态优点:易于书写、易于验证、精确、易于理解缺点:开发大系统时三元组的数量会迅速增长没有处理定时的需求4.3Petri网2024/5/1622概述并发系统中遇到的一个主要问题是定时问题同步问题竞争条件死锁Petri网是一种用于确定系统中隐含的定时问题的一种有效技术可有效的描述并发活动4.3Petri网2024/5/1623单击此处添加正文,文字是您思想的提炼,为了演示发布的良好效果,请言简意赅地阐述您的观点。包含元素01{P1,P2,P3,P4}位置P:02{t1,t2}转换T:03I(t1)={P2,P4}I(t2)={P2}输入函数I:04O(t1)={P1}O(t2)={P3,P3}输出函数O05图4.5Petri网的组成4.3Petri网更形式化的Petri网结构,是一个四元组C=(P,T,I,O)其中,P={P1,…,Pn}是一个有穷位置集,n>=0T={t1,…,tm}是一个有穷转换集,m>=0,且T和P不相交。I:为输入函数,是由转换到位置无序单位组的映射。O:为输出函数,是由转换到位置无序单位组的映射。24Petri网Petri网的标记是在Petri网中权标(token)的分配。图4.6带标记的Petri网(1,2,0,1)图4.7图4.6的Petri网在转换t1被激发后的情况(2,1,0,0)图4.8图4.7的Petri网在转换t2被激发后的情况(2,0,2,0)4.3Petri网2024/5/1626对Petri网的一个重要扩充是加入禁止线。禁止线是用一个小圆圈而不是用箭头标记的输入线。通常,当每个输入线上至少有一个令牌,而禁止线上没有令牌的时候,相应的转换才是允许的。1图4.9含禁止线的Petri网24.3Petri网014.3.2例子02每个楼层用一个位置Ff代表(1≤f≤m)03电梯是用一个权标代表。04在位置Ff上有权标,表示在楼层f上有电梯。27Petri网电梯按钮电梯中楼层f的按钮,在Petri网中用位置EBf表示(1≤f≤m)。在EBf上有一个令牌,就表示电梯内楼层f的按钮被按下了。电梯中楼层f的按钮,在Petri网中用位置EBf表示(1≤f≤m)。在EBf上有一个令牌,就表示电梯内楼层f的按钮被按下了。4.3Petri网2024/5/1629楼层按钮在Petri网中楼层按钮用位置和表示,分别代表f楼层请求电梯上行和下行的按钮。4.4Z语言#20224.4.1简介用Z语言描述的、最简单的形式化规格说明含有下述4个部分。给定的集合、数据类型及常数。状态定义。初始状态。操作。4.4Z语言2024/5/1631从一系列给定的初始化集合开始。即不需要详细定义的集合,这种集合用带方括号的形式表示。〔Button〕给定的集合从一系列给定的初始化集合开始。即不需要详细定义的集合,这种集合用带方括号的形式表示。〔Button〕Z语言状态定义一个Z规格说明由若干个“格(schema)”组成,每个格含有一组变量说明和一系列限定变量取值范围的谓词。4.4Z语言2024/5/1633单击此处添加正文,文字是您思想的提炼,为了演示发布的良好效果,请言简意赅地阐述您的观点。您的内容已经简明扼要,字字珠玑,但信息却千丝万缕、错综复杂,需要用更多的文字来表述;但请您尽可能提炼思想的精髓,否则容易造成观者的阅读压力,适得其反。正如我们都希望改变世界,希望给别人带去光明,但更多时候我们只需要播下一颗种子,自然有微风吹拂,雨露滋养。恰如其分地表达观点,往往事半功倍。当您的内容到达这个限度时,或许已经不纯粹作用于演示,极大可能运用于阅读领域;无论是传播观点、知识分享还是汇报工作,内容的详尽固然重要,但请一定注意信息框架的清晰,这样才能使内容层次分明,页面简洁易读。如果您的内容确实非常重要又难以精简,也请使用分段处理,对内容进行简单的梳理和提炼,这样会使逻辑框架相对清晰。1图4.13描述了格Button_State符号P表示幂集(即给定集的所有子集)。约束条件声明,floor_buttons集与elevator_buttons集不相交,而且它们共同组成buttons集2单击此处添加正文,文字是您思想的提炼,为了演示发布的良好效果,请言简意赅地阐述您的观点。您的内容已经简明扼要,字字珠玑,但信息却千丝万缕、错综复杂,需要用更多的文字来表述;但请您尽可能提炼思想的精髓,否则容易造成观者的阅读压力,适得其反。正如我们都希望改变世界,希望给别人带去光明,但更多时候我们只需要播下一颗种子,自然有微风吹拂,雨露滋养。恰如其分地表达观点,往往事半功倍。当您的内容到达这个限度时,或许已经不纯粹作用于演示,极大可能运用于阅读领域;无论是传播观点、知识分享还是汇报工作,内容的详尽固然重要,但请一定注意信息框架的清晰,这样才能使内容层次分明,页面简洁易读。如果您的内容确实非常重要又难以精简,也请使用分段处理,对内容进行简单的梳理和提炼,这样会使逻辑框架相对清晰。3图4.13Z格Button_State44.4Z语言2024/5/1634抽象的初始状态是指系统第一次开启时的状态。Button_Init〔Button_State|pushed=〕01初始状态02如果一个原来处于关闭状态的按钮被按下,则该按钮开启,这个按钮就被添加到pushed集中。03操作04Z语言假设电梯到达了某楼层,如果相应的楼层按钮已经打开,则此时它会关闭;同样,如果相应的电梯按钮已经打开,则此时它也会关闭。4.4Z语言#20224.4.2评价Z作为应用得最广泛的形式化语言,在大型项目中的优势更加明显。Z语言之所以会获得如此多的成功,主要有以下几个原因:(1)可以比较容易地发现用Z写的规格说明的错误;(2)用Z写规格说明时,要求作者十分精确地使用Z说明符。单击此处添加正文,文字是您思想的提炼,为了演示发布的良好效果,请言简意赅地阐述您的观点。您的内容已经简明扼要,字字珠玑,但信息却千丝万缕、错综复杂,需要用更多的文字来表述;但请您尽可能提炼思想的精髓,否则容易造成观者的阅读压力,适得其反。正如我们都希望改变世界,希望给别人带去光明,但更多时候我们只需要播下一颗种子,自然有微风吹拂,雨露滋养。恰如其分地表达观点,往往事半功倍。当您的内容到达这个限度时,或许已经不纯粹作用于演示,极大可能运用于阅读领域;无论是传播观点、知识分享还是汇报工作,内容的详尽固然重要,但请一定注意信息框架的清晰,这样才能使内容层次分明,页面简洁易读。如果您的内容确实非常重要又难以精简,也请使用分段处理,对内容进行简单的梳理和提炼,这样会使逻辑框架相对清晰。为了能让您有更直观的字数感受,并进一步方便使用,我们设置了文本的最大限度,当您输入的文字到这里时,已濒临页面容纳内容的上限,若还有更多内容,请酌情缩小字号,但我们不建议您的文本字号小于14磅,请您务必注意。单击此处添加正文,Z是一种形式化语言,在需要时开发者可以严格地验证规格说明的正确性。虽然完全学会Z语言相当困难,但是,经验表明,只学过中学数学的软件开发人员仍然可以
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 合同范例自然不可抗拒
- 单位终止续签合同范本
- 仓库进货合同范本
- 合同范本接受修订
- 医院被褥合同范本
- 医疗排风合同范本
- 中药加工合同范例
- 冰砖购销合同范本
- 企业和员工合同范本
- 保洁消毒合同范本
- 2025年湖南理工职业技术学院单招职业技能测试题库一套
- 2025年专利权侵权和解协议书范本
- 2024中考百日誓师大会动员讲话稿
- 2025年中国广州轨道交通行业市场全景评估及投资前景展望报告
- 教职工开学安全第一课培训
- 2025年贵州贵安发展集团有限公司招聘笔试参考题库含答案解析
- 2024-2025学年北京西城区八年级初二(上)期末英语试卷(含答案)
- 《家庭护士》课件
- 2025《国家安全教育》教学大纲
- 部编版语文小学五年级下册第一单元集体备课(教材解读)
- 系统科学与系统工程的理论基础
评论
0/150
提交评论