- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第六章 程序设计的形式化方法 ;重要方向 攻克的关键教技术
网络体系 传感器网与因特网的高效融合
集成芯片 从System on chip到Chip on demount
虚拟计算 资源聚合的有效性和可靠性验证
软件工程 基于网络环境的需求工程
知识处理 挖掘从消息到知识到决策的元知识
高效系统 在高性(效)能计算系统中系列关注
信息安全 信息教育;跨越源之识规律;软件自动化的三个层次;§1 概述;二、发展状况
有30多年历史
Dijkstra、Hoare ――――程序验证
Scott、Stratchey ――――程序语义
形式化方法(Formal Method):
通过严格的规范化的数学理论来描述软件系统“做什么”的方法。需要形式规范语言的支持。
形式规范语言:
提供了一个称为语法域的记号系统。一个称为语义域的目标集合,以及一组精确定义的哪些目标系统满足那个规范的规则。????????;因此,形式化方法是在软件系统的开发过程中使用一种形式系统来表示模型的方法。
形式系统是二元组(L,Cn)
L:语言(形式规范语言)
Cn:对应关系,由推理规则构成
在软件规范方法方面的代表性成果有:
⑴ 基于异调代数的代数方法
特点:用抽象代数中的公理化方法来刻画抽象数 据类型中运算的性质,而不涉及数据的具 体表示。
基本理论:代数语义;⑵ 抽象模型方法
特点:基于某些已知的ADT来给出待定义的 ADT的抽象模型,用抽象模型来刻画待 定义的ADT中运算的功能。
基本理论:指称语义
⑶ 状态机方法
特点:通过状态的转换来刻画输入与输出间的 关系
基本理论:操作语义
⑷ 高阶软件方法(HOS)
基于控制公理
基本理论:公理语义 ;在软件规范语言方面的代表性成果有:
一阶谓词演算组成语言
80年代:Z语言、Larch语言、VDM语言
90年代:面向实时及分布式的LOTOS语言、
面向对象的Z++、Object-Z、VDM++等
三、分类
⑴ 基于模型的方法
给出系统(程序)状态和状态变换与操作的显式的表示但亦是抽象的定义,不涉及并发的行为。
如:Z、VDM;⑵ 代数方法
通过联系不同的操作间的行为关系给出操作的隐式定义,未给出并发的显式表示。
如:OBJ、Larch
⑶ 过程代数方法
给出并发过程的一个显式模型,并通过过程间允许的可观察的通信上的限制来约束表示行为。
如:CSP(通信顺序进程)和CCS(通信系统计算)
⑷ 基于逻辑的方法
采用逻辑来描述系统的特性,包括程序行为的低级规范和系统时间的行为规范。
如:时态逻辑、模态逻辑;⑸ 基于网络的方法
根据网络中的数据流显式地给出系统的并发模型,包括数据从一个结点流向另一个结点的条件。
如:Petri网、谓词变换网
;四、形式化软件开发方法
采用软件生命周期的变换模型,其实质是将现实世界的需求反映成软件的模型化过程。涉及三方面模型:现实世界,模型表示和计算机系统。因此开发的过程就是从三方面对系统进行描述和转换的过程。
开发过程中的任务为:
模型获取:从现实世界向模型表示的过程,涉及如何提取、表示模型。对应需求分析、设计等活动。
模型验证:对得到的模型表示进行检验,判断是否捕获了所有的需求,该模型是否具有所期望的特性。
模型变换:是向计算机系统变换的过程, 关键的任务是一致性检测。对应实现和测试。; 三项任务分别对应三方面的活动:
1. 形式化规范(规格):
软件规范是指对软件系统对象及用来对系统对象进行操作的方法的集合。以及对所开发系统中的各对象在生命周期间的集体行为的描述。
对应与软件生命周期的各个阶段,规范应该理解为是一个多阶段的行为。见例图
规范可以采用非、半形式化的方法来描述,形式化规范精确地描述了用户的需求、软件系统的功能及各种性质,其描述的是“做什么”,而不考虑“如何做”。因此,在理解、掌握形式规范语言和方法的基础上对所描述的系统的全面、深入的了解,给出恰如其分的描述上至关重要的。;包含各规格阶段的生命周期模型例;软件系统规范的形式化方法;形式化规范的成功案例;形式化验证
软件开发中错误发现的越晚修改的代价越大,与传统方法不同的是形式化方法要求在完成形式规范后就进行形式验证。
形式验证主要技术包括模型检验和定理证明。
模型验证是一种基于有限状态机模型并检验该模型的期望特性的技术。即对模型的状态空间进行搜索,以确认该系统具有某些性质。终止性依赖
文档评论(0)