- 1、本文档共33页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第七讲形式化说明技术
An Introduction to Database System 第4章 形式化说明技术 什么是形式化说明技术 从广义上讲,形式化方法是指将离散数学的方法用于解决软件工程领域的问题,主要包括建立精确的数学模型以及对模型的分析活动。 狭义的讲,形式化方法是运用形式化语言,进行形式化的规格描述、模型推理和验证的方法。 就形式化建模而言,形式化表示必须包含一组定义其语法语义的形式化规则。这些规则可用于分析给定的表达式是否符合语法规定,或证明该表达式具有某种性质。 形式化说明技术 用自然语言描述需求规格说明,是典型的非形式化方法。用数据流图或ER图建立模型,是典型的半形式化方法。所谓形式化方法,就是基于数学的技术来描述系统的性质的方法。 非形式化方法的缺点 形式化方法的优点 应用形式化方法的准则 (1) 应该选用适当的表示方法。 (2) 应该形式化,但不要过分形式化。 (3) 应该估算成本。 (4) 应该有形式化方法顾问随时提供咨询。 (5) 不应该放弃传统的开发方法。把形式化方法和结构化方法或面向对象方法集成起来是可能的,而且由于 取长补短往往能获得很好的效果。 (6) 应该建立详尽的文档。建议使用自然语言注释形式化的规格说明书,以帮助用户和维护人员理解系统。 (9) 应该测试、测试再测试。 (10) 应该重用。即使采用了形式化方法,软件重用仍然是降低软件成本和提高软件质量的惟一合理的方法。而且用形式化方法说明的软件构件具有清晰定义的功能和接口,使得它们有更好的可重用性。 有穷状态机 例子:保险箱的复合锁,锁有三个位置,分别标记为1,2,3,转盘可向左(L)或向右(R)转动。 任意时刻的6种可能的运动:1R,1L,2R,2L,3R,3L 假设组合密码为:1L,3R,2L,除了这个次序的任意转动都将导致报警。 一个有穷状态机可以表示为一个5元组{J,K,T,S,F} J是一个有穷的非空状态集 K是一个有穷的非空输入集 T是一个从(J-F)*K到J的转换函数 S∈J,是一个初始状态 F? J,是终态集 例如:菜单 一个菜单的显示和一个状态相对应 键盘输入或鼠标点击对应于一个事件 当前状态[菜单]+事件[所选择的项]+谓词=下个状态 电梯的例子 电梯的约束条件: C1:每部电梯有m个按钮,每个按钮代表一个楼层。当按下一个按钮时该按钮指示灯亮,同时电梯驶向相应的楼层,到达按钮指定的楼层时指示灯灭。 C2:除了楼的最低层和最高层外,每层楼有两个按钮分别指示是上楼还是下楼。这两个按钮之一被按下时相应的指示灯亮,当电梯到达此楼层时灯熄灭,电梯向要求的方向移动。 C3:当对电梯没有请求时,它关门并停在当前楼层。 电梯按钮 EB(e,f) :表示按下电梯e内的按钮并请求到f层去 EBP(e,f):电梯按钮(e,f)被按下 EAF(e,f):电梯e到达f层 谓词:V(e,f):电梯停在f层 如果电梯按钮(e,f)处于关闭状态[当前状态],而且电梯(e,f)被按下[事件],而且电梯e不在f层[谓词],则该电梯按钮打开发光[下个状态]。状态转换规则的形式化描述如下: EBOFF(e,f)+EBP(e,f)+not V(e,f)=EBON(e,f) EBON(e,f)+EAF(e,f)=EBOFF(e,f) 楼层按钮 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确定为向上(d=U)或向下(d=D)或待定(d=N) 状态转换规则: FBOFF(d,f)+FBP(d,f)+not S(d,1…n,f)=FBON(d,f) FBON(d,f)+EAF(1…n,f)+S(d,1…n,f)=FBOFF(d,f) V(e,f)=S(U,e,f) or S(D,e,f) or S(N,e,f) 电梯的三个状态: 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:电梯按钮或楼层按钮被按下进入打开状态,登录需求 电梯的状态转换规则 S(U,e,f)+DC(e,f)=M(U,e,f+1) S(D,e,f)+DC(e,f)=M(D,e,f-1) S(N,e,f)+DC(e,f)=W(e,f) Petri网 Petri网是用于形式
您可能关注的文档
最近下载
- 2023年青海省海东地区循化县清水乡招聘社区工作者真题及参考答案详解.docx VIP
- 售电培训课件.pptx VIP
- 脊髓损伤康复临床路径.docx VIP
- 2023年青海省海东地区民和县杏儿乡招聘社区工作者真题参考答案详解.docx VIP
- 2023年青海省海东地区民和县西沟乡招聘社区工作者真题及参考答案详解1套.docx VIP
- 气道净化护理(2023年中华护理学会团体标准).pptx VIP
- 理正软件勘察说明书.doc VIP
- 部编版七年级上册语文《杞人忧天》导学案.pdf VIP
- 2023年青海省海东地区民和县北山乡招聘社区工作者真题及参考答案详解.docx VIP
- 各班护理工作职责.pptx VIP
文档评论(0)