《软件形式规格说明语言-Z》 缪淮扣 学习笔记 10-12

《软件形式规格说明语言-Z》 缪淮扣

第一章  绪论

1.1 软件生命周期:  需求分析与规格说明 设计 实现 测试 交付与维护 ——瀑布模型

1.2 软件规格说明的两种抽象:过程抽象、数据抽象。过程抽象描述软件系统要实现的功能,而不是如何实现的具体步骤;数据抽象就是在规格说明中使用集合、关系、映射、序列、包等抽象的数学结构。

为了克服自然语言和程序设计语言描述规格说明的缺陷,人们提出了一种新的软件开发范型,即通过形式化、规范化的数学理论,用描述“做什么”取代“怎么做”。

包含两种技术:形式规格说明技术  形式验证技术 都基于数学基础,集合论 逻辑 代数理论等

1.3 形式规格说明语言的分类:

基于模型——基本思想利用一些已知的特性的数学抽象来为目标软件系统的状态特性和行为特性构造模型。数学抽象包括域、元组、集合、序列、包、映射等。 Z VDM B

代数方法——通过提供一些特殊机制以允许对目标软件系统描述的结构化,并支持目标软件系统中公共元素的重用。仅使用带有等词的一阶逻辑表示,不引入通常的数学对象。 ACT ONE   CLEAR OBJ Larch

进程代数——采用代数方法对并行或分布式系统进行研究的方法。提供了用于描述进程的规格说明的代数语言。提供了描述并发系统所需的并行复合、选择、顺序复合等语句,并可通过等式推理的方法来验证系统满足某些性质。 CSP CCS LOTOS

1.4 Z语言概述

Z语言是基于一阶谓词逻辑和集合论的形式规格说明语言。采用了严格的数学理论,可以产生简明、精确、无歧义且可证明的规格说明。Z语言的主要特点是可以对Z规格说明进行推理和证明。使得软件开发人员或用户能够很快找出规格说明的不一致、不完整之处,提供对软件的信心。

将Z语言称为规格说明语言的关键思想是把软件开发中的需求规格说明阶段和软件设计阶段分开。

Z语言方法学,强调“描述性”思维,忽略过程强调功能描述的技术称为过程抽象或者操作抽象。

 第二章  一阶逻辑与集合论

2.1 一阶逻辑包括命题逻辑和谓词逻辑。

命题逻辑是以命题为基本对象的一个数学化的逻辑系统。

命题与连接词   命题公式宇真值表

带有参数的命题称为谓词,如果一个谓词带有n个参数,则称为n元谓词。

在一阶逻辑,为了表示“任意”“存在”的概念,引入了全称量词和存在量词的概念。

笛卡尔积:设A、B是任意两个集合,若序偶的第一元素是A的一个元素,第二个元素是B的一个元素,则所有这样的序偶集合,称为“集合A、B的笛卡尔积”

第三章   Z的类型与构造单元

Z是一个类型化语言。“•”用来分隔量词约束变量和谓词表达式。

基本类型: Book Car Z 基本类型定义一个类型声明,引入了一个或多个基本类型。通常对这些集合的内部结构并不关心,而感兴趣的是在一个规格说明引入后,就有了可使用的类型。

幂级类型:幂级构造符 P  可以将幂级构造符应用于任何集合来构成另外一个集合,这样,可由一个类型产生另一个新的类型。

类型就是一种特定的类的集合,它被看成是一个“最大集合”,因为代表了一个元素可以属于的最大的可能的集合。

笛卡尔积类型: 给定任何两个集合R和S,其笛卡尔积R×S是所有这样序偶的集合。(Beijing,red)属于 cities×colour

对象声明 枚举类型 

模式是Z的主要结构。模式=声明+谓词  一个模式由一些变量的声明和限制这些变量的值的谓词两部分组成。  水平、垂直两种形式

Z的模式的两种用途:说明软件系统的状态,说明状态的转化。

一个状态由一组集合和对象加上在上面定义的一些谓词所组成。 

小结:

介绍了Z的系统类型和构造单元,Z是一个类型化的语言。

基本类型、幂级类型、笛卡尔积类型。 在Z中,每个对象(变量或值)都被赋予一个类型。每一个变量的类型是在对象声明时确定的。 类型是一种特定的类的集合,被看成是“最大集合”。

Z的构造单元有公理定义、模式和通用式定义。

posted @ 2014-10-13 09:58  BelieveA  阅读(2623)  评论(0编辑  收藏  举报