- 1、本文档共57页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
形式化方法定义 如果一个方法有良好的数学基础,那么它就是形式化的,典型地以形式化规约语言给出。这个基础提供一系列精确定义的概念, 如:不同的形式化方法的数学基础是不同的,有的以集合论和一阶谓词演算为基础(如Z和 VDM),有的则以时态逻辑为基础。形式化方法需要形式化规约说明语言的支持。 4.4 Z语言 4.4.1 简介 用Z语言描述的、最简单的形式化规格说明含有下述4个部分: 给定的集合、数据类型及常数。 状态定义。 初始状态。 操作。 1. 给定的集合 一个Z规格说明从一系列给定的初始化集合开始。所谓初始化集合就是不需要详细定义的集合,这种集合用带方括号的形式表示。对于电梯问题,给定的初始化集合称为Button,即所有按钮的集合,因此,Z规格说明开始于: 〔Button〕 一个Z规格说明由若干个“格(schema)”组成,每个格含有一组变量说明和一系列限定变量取值范围的谓词。例如,格S的格式如图4.12所示。 图4.12 Z格S的格式 在电梯问题中,Button有4个子集,即 floor_buttons(楼层按钮的集合)、 elevator_buttons(电梯按钮的集合)、 buttons(电梯问题中所有按钮的集合)以及 pushed(所有被按的按钮的集合,即所有处于打开状态的按钮的集合)。 2. 状态定义 3. 初始状态 抽象的初始状态是指系统第一次开启时的状态。对于电梯问题来说,抽象的初始状态为: Button_Init〔Button_State|pushed=Φ〕 上式表示,当系统首次开启时pushed集为空,即所有按钮都处于关闭状态。 4. 操作 4. 操作 4.4.2 评价 目前,Z也许是应用得最广泛的形式化语言,Z语言之所以会获得如此多的成功,主要有以下几个原因: (1) 可以比较容易地发现用Z写的规格说明的错误,特别是在自己审查规格说明,及根据形式化的规格说明来审查设计与代码时,情况更是如此。 (2) 用Z写规格说明时,要求作者十分精确地使用Z说明符。由于对精确性的要求很高,从而和非形式化规格说明相比,减少了模糊性、不一致性和遗漏。 (3) Z是一种形式化语言,在需要时开发者可以严格地验证规格说明的正确性。 (4) 虽然完全学会Z语言相当困难,但是,经验表明,只学过中学数学的软件开发人员仍然可以只用比较短的时间就学会编写Z规格说明,当然,这些人还没有能力证明规格说明的结果是否正确。 (5) 使用Z语言可以降低软件开发费用。虽然用Z写规格说明所需用的时间比使用非形式化技术要多,但开发过程所需要的总时间却减少了。 (6) 虽然用户无法理解用Z写的规格说明,但是,可以依据Z规格说明用自然语言重写规格说明。 使用形式化规格说明是全球的总趋势,过去,主要是欧洲习惯于使用形式化规格说明技术,现在越来越多的美国公司也开始使用形式化规格说明技术。 4.5 小结 基于数学的形式化规格说明技术,目前还没有在软件产业界广泛应用,但是,与欠形式化的方法比较起来,它确实有实质性的优点: 形式化的规格说明可以用数学方法研究、验证 此外,形式化的规格说明消除了二义性,而且它鼓励软件开发者在软件工程过程的早期阶段使用更严格的方法,从而可以减少差错。 当然,形式化方法也有缺点: 大多数形式化的规格说明主要关注于系统的功能和数据,而问题的时序、控制和行为等方面的需求却更难于表示。 此外,形式化方法比欠形式化方法更难学习,不仅在培训阶段要花大量的投资,而且对某些软件工程师来说,它代表了一种“文化冲击”。 把形式化方法和欠形式化方法有机地结合起来,使它们取长补短,应该能获得更理想的效果。 有穷状态机方法描述规格说明: 当前状态+事件+谓词?下个状态 优点: 规格说明易于书写、易于验证,而且可以比较容易地把它转变成设计或程序代码。有穷状态机方法比数据流图技术更精确,而且和它一样易于理解。 缺点: 在开发一个大系统时三元组(即状态、事件、谓词)的数量会迅速增长。此外,和数据流图方法一样,形式化的有穷状态机方法也没有处理定时需求。 4.2.3 评价 4.3 Petri网 4.3.1 概念 并发系统中需要解决的主要问题是定时问题:包括同步问题、竞争条件以及死锁问题。 Petri网技术可用于确定系统中隐含的定时问题。 Petri网技术在计算机领域应用较多,已经证明,用Petri网可以有效地描述并发活动。 Petri网包含4种元素: 一组位置P、一组转换T、输入函数I及输出函数O。 如图举例说明了Petri网的组成: 一组位置P为{P1,P2,P3,P4}:用圆圈代表; 一组转换T为{t1,t2}:图中用短直线表示转换; 两个用于转换的输入函数,用由位置指向转换的箭头表示,它们是:I(t1)={P2,P4}
文档评论(0)