软件工程——理论、方法与实践 之 软件工程中的形式化方法

软件工程——理论、方法与实践 之 软件工程中的形式化方法

从广义上讲,形式化方法是指将离散数学的方法用于解决软件工程领域的问题,主要包括建立精确的数学模型以及对模型的分析活动。狭义的讲,形式化方法是运用形式化语言,进行形式化的规格描述、模型推理和验证的方法。形式化方法运用于软件工程实践当中主要目的是保证软件的正确性。软件开发实际上就是把现实世界的需求映射成软件额模型化过程。该过程包括:形式规约、形式证明我与检验、程序求精三方面的活动。

形式化规格说明是对软件系统对象,对象的操作方法,以及对象行为的描述。当规格说明用非形式化方法描述时,可称为“规格说明”,当规格说明用形式化方法描述时,可称为“形式规约”。形式检测与证明技术主要包括模型检测与定理证明。模型检测是一种基于有限状态模型并检测该模型的性质的技术。定理证明采用逻辑公式来表示系统规约及其性质,其中的逻辑由一个具有公理和推理的形式化系统给出,进行定理证明的过程就是应用这些公理或推测规则来证明系统具有某些性质。程序求精是将自动推理和形式化方法相结合,从抽象形式规约推演出具体的面相计算机的程序代码的全过程。目前应用比较广泛的3种形式化方法包括:基于时态逻辑的方法、Z语言及其分析方法、Petri网方法。

模态逻辑是经典命题逻辑和一阶谓词的扩展形式。模态逻辑通过引入“可能”和“必然”两个模态词,从而对可能世界中的命题进行描述和演算。Z语言为系统建立基于状态的模型。模型的三个主要组成部分是输入、输出和状态,它们均有相应的数学概念来描述。Z语言形式规约由数学语言描述和自然语言注释两部分组成。其中数学语言描述部分是核心,它是精确、简练地描述系统性质和自动推理的保证。自然注释部分则用于解释说明数学部分的内容。Petri网一词既指这种模型,又指以这种模型为基础发展起来的理论。有时又把Petri网称作网论。Petri网分为位置/迁移Petri网和高级Petri网两类。

时间: 2024-08-04 11:08:11

软件工程——理论、方法与实践 之 软件工程中的形式化方法的相关文章

《软件工程 ——理论、方法与实践》知识概括第五章 软件工程中的形式化方法

第5章 软件工程中的形式化方法    从广义上讲,形式化方法(Formal Method)是指将离散数学的方法用于解决软件工程领域的问题,主要包括建立精确的数学模型以及对模型的分析活动.狭义的讲,形式化方法是运用形式化语言,进行形式化的规格描述.模型推理和验证的方法.将形式化方法运用于软件工程实践当中的只要目的是保证软件的正确性. 软件生命周期中的形式化转化策略:常用转化策略.直接转化策略和运用半形式化表示的中间转化策略. 进行模型化的过程中涉及到三种系统模型:现实世界.模型表示和计算机系统.

软件工程概论-5软件工程中的形式化方法

在软件工程实践中运用形式化方法可以保证软件的正确性.目前,从形式规约到目标软件系统的可实现和可执行角度,已建立的形式化方法分为操作类和描述类.操作类方法基于状态和转移,通过可执行模型来描述系统,而描述类方法基于数学公理和概念,通过逻辑或代数给出系统的状态空间,具有高度抽象的特点.形式证明与验证技术主要包括模型检测和定理证明.程序求精是将自动推理和形式化方法相结合,从抽象的形式规约推演出具体的面向计算机的程序代码的全过程.下面介绍较为广泛的几种形式方法: 1.时态逻辑       Kripke结构

《软件工程中的形式化方法》

在软件工程中,通过建立精确的数学模型以及对软件模型进行分析活动后建立的方法称为软件工程中的形式化方法,包括形式规约,形式证明与验证及程序求精三方面的活动.形式规约是规格说明的形式化:形式证明与验证技术包括模型检测和定理证明:程序求精是从抽象的形式规约推演出的面向程序代码的全过程,包括时态逻辑,Z语言及分析和Petri网方法3种,时态逻辑分为一阶线性时态和计算数逻辑;Z语言为系统建立基于状态的模型,可由基于集合理论的集合,关系,函数,序列和包以及Z独有的模式表示,停车场管理系统和图书管理系统便是基

第五章、软件过程中的形式化方法

1. 广义上讲,形式化方法是指将离散数学中的方法用于解决软件工程领域的问题. 狭义上讲.形式化方法是运用形式化语言进行形式化的规格描述,模型推理和验证的方法.        形式化的方法运用于软件工程的目的主要是为了确保软件的正确性.

软件工程中的形式化方法读后感

形式化方法是指将离散数学的方法用于解决软件工程领域的问题,主要包括建立精确的数学模型以及对模型的分析活动.狭义的讲,形式化方法是运用形式化语言,进行形式化的规格描述.模型推理和验证的方法.形式化方法运用于软件工程实践当中主要目的是保证软件的正确性.软件开发实际上就是把现实世界的需求映射成软件额模型化过程.该过程包括:形式规约.形式证明我与检验.程序求精三方面的活动. 其通过模态来对可能世界中的命题进行描述与演算,分为:Kripke结构..一阶线性时态逻辑..计算树逻辑.模型的三个主要组成部分是输

软件工程概论第五章--软件工程中的形式化方法

形式化方法指的是将离散数学的方法用于解决软件工程领域的问题,主要是建立精确的数学模型以及对模型的分析活动.在软件开发过程中运用数学模型有很多优点,例如能够解决规格说明的二义性,提高精确性,还能使软件相关问题的本质可以在不同抽象层次被展示出来.本章介绍形式化方法主要从形式化方法基本概念.时态逻辑.模型检验.Z语言.Petri网几个方面讲述. 形式化方法基本概念主要讲了形式规范.形式证明与验证.程序求精,形式规范说明是对软件系统对象,对象的操作方法,以及对象行为的描述.形式证明与验证主要包括模型检测

Chapter 5 软件工程中的形式化方法

从广义上讲,形式化方法是指将离散数学的方法用于解决软件工程领域的问题,主要包括建立精确的数学模型以及对模型的分析活动.狭义的讲,形式化方法是运用形式化语言,进行形式化的规格描述.模型推理和验证的方法.软件规格说明是软件对软件系统对象,对象的操作方法,以及对象行为的描述.软件的设计过程就是一个建立形式规约的过程.当规格说明用非形式化方法描述时可称之为“规格说明”:规格说明用形式化方法描述时可称之为“形式规格”.形式证明与验证技术主要包括模型测试和定理证明.程序求精是将自动推理和形式化方法相结合,从

软件工程中的形式化方法

软件的设计过程就是一个建立形式规约的过程.软件开发实际上就是把现实世界的需求映射成软件的模型化方法.软件规格说明是对软件系统对象,对象的操作方法,以及对象行为的描述.形式证明与验证技术主要包括模型检测和定理证明.程序求精是将自动推理和形式化方法相结合,从抽象的形式规约推演出具体的面向计算机的程序代码的全过程.模态(Modal)逻辑是经典命题逻辑和一阶谓词逻辑的扩展形式.Kripke结构.1.一阶线性时态逻辑(FOLTL)是一阶谓词逻辑的扩展.2.计算树逻辑(CTL)是一种离散.分支时间.命题时态

《软件工程概论》第五章 软件工程中的形式化方法

形式化方法的基本概念: 形式规约 形式证明与验证 程序求精 一阶线性时态逻辑: 队列及其操作 汉诺塔操作规划问题 计算树逻辑 模型检测 Z语言概述: Z语言为系统建立基于状态的模型.模型的三个主要组成部分是输入.输出和状态,它们均有相应的数学概念来描述. Z语言表示: 集合.关系及函数 自由类型和模式 Petri网定义: 任何事物都可抽象为两类元素:状态和事件.在某种状态下,相应的事件便可发生.然后状态发生变化,于是又有一些新的事件可以发生.如此反复不已. (1)       Petri网结构