第3章 程序规范及其正确性证明概述 PPT课件

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第3章 程序规范及其正确性证明概述
第3章 程序规范及其正确性证明概述
第3章 程序规范及其正确性证明概述
第3章 程序规范及其正确性证明概述
第3章 程序规范及其正确性证明概述
第3章 程序规范及其正确性证明概述
第3章 程序规范及其正确性证明概述
3.1 程序规范与程序(续)
6. 形式化程序规范描述语言简介-Z语言简介1
第3章 程序规范及其正确性证明概述
3.1 程序规范与程序(续)
6. 形式化程序规范描述语言简介-Z语言简介2
提供了一种称为模式(Schema)的结构,它是 Z的基本描述单位,以此来描述一个规范说明的 状态空间(静态性质)和操作(动态行为)。
Z语言的模式和模式演算:
– 状态模式对目标软件系统的结构特征进行抽象描述; – 操作模式对目标软件系统的行为特征进行抽象描述; – 通过模式演算,无论多么大型系统的规格说明都可以
这种方法在90年代初在欧美许多研究机构或大学得到了 广泛的应用。如曼彻斯特大学将其作为CS的必修课。
1996年ISO制订了VDM的国际标准化版本VDM-SL
第3章 程序规范及其正确性证明概述
3.1 程序规范与程序(续)
6. 形式化程序规范描述语言简介-VDM简介2 VDM技术的基本思想:
– 运用抽象数据类型、数学概念和符号来规定运算或 函数的功能;
tested’= tested
第3章 程序规范及其正确性证明概述
3.1 程序规范与程序(续)
6. 形式化程序规范描述语言简介-Z语言简介6
缺点:
⑴ Z语言对大型系统的模块化能力不足。 ⑵ 难以识别影响某一状态模式的所有操作模式。 ⑶ 不能支持规格说明的重用。 ⑷ Z语言难以由计算机直接处理。
– 缺少商品化的工具支持等到诸多原因
可使软件系统的功能描述在抽象级上进行,完 全摆脱了实现细节,这样为软件实现者提供了 很大的灵活性;
这种形式化规格说明还为程序正确性证明提供 了依据。
第3章 程序规范及其正确性证明概述
3.1 程序规范与程序(续)
6. 形式化程序规范描述语言简介-VDM简介3
VDM支持两种抽象:数据抽象和操作抽象。 一个VDM规范有以下不同的块组成:
tested enrolled 等价于://水平方式
StudentSys=[enrolled,tested: P Student | #enrolled ≤size tested enrolled ]
第3章 程序规范及其正确性证明概述
3.1 程序规范与程序(续)
6. 形式化程序规范描述语言简介-Z语言简介5
模式例2:
EnrollStudent
Fra Baidu bibliotek
StudentSys // = Studentsys StudentSys’的简写
name?: Student
// 在输入变量后加?
name? enrolled // 在输出变量后加!
enrolled < size
// 带有后缀‘的变量表示操作后的变量
enrolled’ = enrolled ∪{name?}
Z语言是一种基于集合论和一阶谓词逻辑的形式化语言; Z语言支持软件的形式化规范描述,规范的推理和求精; 是迄今为止应用最广泛的形式语言之一; Z是在Jean Raymond Abrial等的开创性工作下,由英国
牛津大学的程序设计研究小组(PRG,Programming Research Group),于20世纪80年代初开发; PRG与IBM的Hursley实验室合作,将Z语言用于IBM的客 户信息控制系统的开发,使得最终的产品质量得到了全面 的的提高,所测出的错误数量大大减少,并且整体开发费 用降低了9%; 在ISO指导下的国际标准化Z工作于2002年完成
end
第3章 程序规范及其正确性证明概述
3.1 程序规范与程序(续)
6. 形式化程序规范描述语言简介-VDM简介4
缺点:
⑴ 由于VDM对抽象数据类型预先定义了运算, 而某些用户定义的类型在规格说明描述中无 需这么多运算,因而产生了运算冗余。
⑵ VDM目前还未能建立一整套描述机制,将一 个大型系统分解为许多运算而描述出这些运 算之间的关系
通过一个个小的部分来构成;
第3章 程序规范及其正确性证明概述
3.1 程序规范与程序(续)
6. 形式化程序规范描述语言简介-Z语言简介3 Z模式说明可以组合成新的Z模式,新的Z
模式继承其成分模式的一切属性和约束。软 件系统的Z模式规格说明可以按一定的层次 结构给出。 Z规格说明由一系列模式组成,每个模式定 义一个抽象对象或操作,并用谓词判定描述 给出新的对象或操作的语义约束。 模式例:
⑶ VDM形式规格说明过于形式化不容易理解
第3章 程序规范及其正确性证明概述
3.1 程序规范与程序(续)
6. 形式化程序规范描述语言简介-B语言简介1
B方法是20世纪80年代初中期由J.R.Abrial以及BP研 究中心的MATRA和GE Alsthom研究小组开发的。
types <type definitions>
values <value definitions>
functions <function definitions>
operations <operation definitions>
state < state name > of <state definition>
第3章 程序规范及其正确性证明概述
3.1 程序规范与程序(续)
6. 形式化程序规范描述语言简介-VDM简介1
VDM(Vienna Development Method)是在1969年为 开发PL/1语言时,由IBM公司维也纳实验室的研究小组 提出的。初衷是为了描述PL/1语言的语义。
VDM是一种功能构造性规格说明技术,它通过一阶谓词 逻辑和已建立的抽象数据类型来描述每个运算或函数的 功能。
第3章 程序规范及其正确性证明概述
3.1 程序规范与程序(续)
6. 形式化程序规范描述语言简介-Z语言简介4
模式例1:
[Student] // 引入基本类型student
StudentSys
//模式名
Enrolled,tested: P Student #enrolled ≤size
// 声明部分, 学生的密集类型 // 断言部分,合取关系
相关文档
最新文档