- 1、本文档共72页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
形式化方法引论[精选]
程序求精 形式化级别:对一个系统可能进行非形式化、半形式化或者高度形式化的描述。从某个给定项目的目标出发,必须先确定其应用的关键程度、项目规模、可用的资源,以及对项目合适的形式化程度等,并从这些可能性中做出一个选择。 使用范围:虽然形式化方法可使用于开发过程的所有阶段,但通常只是有选择地使用。一方面需要对形式化方法所应用于的开发阶段进行选择,另一方面,需要对采用形式化方法的构件进行选择。对那些决定安全性的构件不但需要形式化,而且需要高度的形式化。 程序求精 工具:为了足够精确地实施形式化方法,工具的支持是必须的。 程序求精 形式化方法在软件产业中应用的深入有赖于诸多方面工作的进展。 需要开发出将整体特性分解为易于验证的局部特性的有效方法 大规模复杂软件中搜索空间是巨大的,需要研究新的处理方法 形式化方法与非形式化方法的结合 形式化方法和新的软件开发技术(如SOA)的结合 需要有效的软件工具 程序求精 具有良好用户界面、容易学习和操作简单的形式化方法支撑工具,对于形式化方法的推广应用是大有裨益的。 追求通用和完善的形式化方法及其支撑工具是不现实的。特定问题域的形式化方法及其工具研究是非常重要的。 形式化方法的分类 根据说明目标软件系统的方式,形式化方法可以分为两类 1)面向模型的形式化方法。面向模型的方法通过构造一个数学模型来说明系统的行为。 2)面向属性的形式化方法。面向属性的方法通过描述目标软件系统的各种属性来间接定义系统行为。 形式化方法的分类 根据表达能力,形式化方法可以分为五类 1)基于模型的方法:通过明确定义状态和操作来建立一个系统模型(使系统从一个状态转换到另一个状态)。用这种方法虽可以表示非功能性需求(诸如时间需求),但不能很好地表示并发性。如:Z语言,VDM,B方法等。 2)基于逻辑的方法:用逻辑描述系统预期的性能,包括底层规约、时序和可能性行为。采用与所选逻辑相关的公理系统证明系统具有预期的性能。用具体的编程构造扩充逻辑从而得到一种广谱形式化方法,通过保持正确性的细化步骤集来开发系统。如:ITL(区间时序逻辑),区段演算(DC),hoare 逻辑,WP演算,模态逻辑,时序逻辑,TAM(时序代理模型),RTTL(实时时序逻辑)等。 形式化方法的分类 根据表达能力,形式化方法可以分为五类 3)代数方法:通过将未定义状态下不同的操作行为相联系,给出操作的显式定义。与基于模型的方法相同的是,没有给出并发的显式表示。如:OBJ, Larch族代数规约语言等; 4)过程代数方法:通过限制所有容许的可观察的过程间通信来表示系统行为。此类方法允许并发过程的显式表示。如:通信顺序过程(CSP),通信系统演算 (CCS),通信过程代数(ACP),时序排序规约语言(LOTOS),计时CSP(TCSP),通信系统计时可能性演算(TPCCS)等。 形式化方法的分类 根据表达能力,形式化方法可以分为五类 5)基于网络的方法:由于图形化表示法易于理解,而且非专业人员能够使用,因此是一种通用的系统确定表示法。该方法采用具有形式语义的图形语言,为系统开发和再工程带来特殊的好处。如 Petri图,计时Petri图,状态图等。 形式化方法的十条戒律 应该选择适当的表示法 应该形式化,但不要过份形式化 应该估计成本 应该有随时可以请教的形式化方法顾问 不应该放弃非形式化的开发方法 应该建立详细的文档 不应该对质量标准作任何折衷 不应该教条化 应该测试、测试、再测试 应该复用 Bowen和Hinchley: The end,thank you! 形式化规格精确地描述了用户的需求、软件系统的功能以及各种性质,其描述的是“做什么”,而不考虑“怎么做”。 在书写规格时应该注意的一个问题是:如何描述得恰如其分,既不过多也不过少。 在规格中描述过多会导致“实现偏向”,给实现施加了不必要的限制,从而排除了一些原本是合理的实现。 描述得过少又有容纳不合理实现的危险。 为了开发出良好的规格,除了应透彻理解、熟练掌握所使用的形式规格语言和方法外,还应对所要描述的系统有全面深入的了解。 已建立了多种适用于软件系统规格的形式化方法,可分为三类: 操作类 描述类 双重类 操作类方法基于状态和转移,通过可执行模型来描述系统,模型本身能够采用静态分析和模型执行而得到验证,这类方法包括有限状态机、Statecharts、Petri网等。 描述类方法基于数学公理和概念,通过逻辑或代数给出系统的状态空间,具有高度抽象的特点,便于通过自动工具进行验证。 基于不同的数学基础,描述类方法进一步分为: 基于代数的描述类方法,如Z、VDM、Larch等。 基于逻辑的描述类方法,如 命题线性时态逻辑(Propositional Linear Temporal Logic,PLTL) 一
您可能关注的文档
- 【提倡免费分享精神】新生代农民工问题讲演稿精篇课件.ppt
- 当代官员职级VS古代官员品级参照.doc
- 当代美术作品赏析参照.doc
- 当归四逆汤参照.doc
- 当归的使用方法参照.doc
- 当直线和圆再次相遇参照.doc
- 录井队HSE应知应会试题参考资料.doc
- 彝族古籍经典[精选].doc
- 彝族《指路经》的文化学阐释[精选].doc
- 彝族天文历法,超越史前文化[精选].doc
- 小学数学二年级上册期末测试卷精品【历年真题】.docx
- 小学数学二年级上册期末测试卷精品【全优】.docx
- 小学数学二年级上册期末测试卷精品【全国通用】.docx
- 小学数学二年级上册期末测试卷附参考答案【a卷】.docx
- 2025年生命科学服务行业分析报告及未来五到十年行业发展趋势报告.docx
- 小学数学二年级上册期末测试卷精品(各地真题).docx
- 2025年保温装饰板行业分析报告及未来五到十年行业发展趋势报告.docx
- 小学数学二年级上册期末测试卷附参考答案【研优卷】.docx
- 2025年骡鸭行业分析报告及未来五到十年行业发展趋势报告.docx
- 2025年汽车锻压设备行业分析报告及未来五到十年行业发展趋势报告.docx
文档评论(0)