软件开发中为什么使用形式化方法.ppt

上传人:b****2 文档编号:2197634 上传时间:2022-10-27 格式:PPT 页数:93 大小:355.50KB
下载 相关 举报
软件开发中为什么使用形式化方法.ppt_第1页
第1页 / 共93页
软件开发中为什么使用形式化方法.ppt_第2页
第2页 / 共93页
软件开发中为什么使用形式化方法.ppt_第3页
第3页 / 共93页
软件开发中为什么使用形式化方法.ppt_第4页
第4页 / 共93页
软件开发中为什么使用形式化方法.ppt_第5页
第5页 / 共93页
点击查看更多>>
下载资源
资源描述

软件开发中为什么使用形式化方法.ppt

《软件开发中为什么使用形式化方法.ppt》由会员分享,可在线阅读,更多相关《软件开发中为什么使用形式化方法.ppt(93页珍藏版)》请在冰豆网上搜索。

软件开发中为什么使用形式化方法.ppt

计算机科学与技术方法论专题讲座软件开发中的形式化方法nn1形式化技术的产生和发展nn2软件开发中为什么使用形式化方法nn3形式化规格技术nn4形式化验证技术nn5小结1形式化技术的产生和发展自20世纪60年代末以来,许多学者开展了形式化技术的相关研究。

形式化技术最早是从戴克斯特拉和霍尔(C.Hoare)在程序验证方面的工作和斯科特(D.S.Scott)以及其他学者在程序语义方面的工作发展起来的。

现在,形式化技术已经成为计算机科学的一个重要分支和研究领域,其作用相当于传统工程设计(如计算流体动力学,CFD)在航空设计中的作用。

1形式化技术的产生和发展nn近些年来,形式化技术的学术研究及其工业应用得到了长足的发展。

研究人员建立了系统设计人员易于理解的规格概念和术语,以及有效应用这些术语和概念的形式化规格技术及语言,建立了功能更加强大和完善的模型验证和定理证明技术,并开发出了与之相应的从研究原型到商品化产品的支撑工具和环境。

1形式化技术的产生和发展nn尽管当前对大型复杂的系统进行完整的形式化验证还不现实,但把形式化技术应用于大型复杂系统的关键部分确实是一个有效的实用策略。

目前,有效的模型检验和定理证明技术已成为硬件验证中传统仿真技术的补充,而软件开发工程师们开始使用更为严格的形式化规格及验证技术,成功地完成了过程控制领域工业规模系统的设计,通信系统中大量的安全可靠通信协议得到了测试和检验。

1形式化技术的产生和发展nn形式化技术成功的工业应用引起了人们的普遍关注,可以预计,在未来的工业应用系统开发中,形式化技术将会发挥越来越重要的作用。

软件开发中的形式化方法nn1形式化技术的产生和发展nn2软件开发中为什么使用形式化方法nn3形式化规格技术nn4形式化验证技术nn5总结2软件开发中为什么使用形式化方法nn

(1)保证质量的需要nn

(2)节约成本的需要nn(3)形式方法和复用nn(4)英国国防部的标准nn(5)经典案例

(1)保证质量的需要nn为了得到高质量的软件,我们强烈地希望使用软件工程中最好的实践。

软件中存在的缺陷至少会引起客户的愤怒,而在更坏的情况下可能会给客户的业务造成较大的破坏或者造成生命损失。

因此,企业要采用最好的实践,使他们的软件过程变得成熟起来。

形式方法是一种前沿技术,研究表明,这种技术非常有助于那些希望把软件产品的缺陷出现率减到最小的公司。

(2)节约成本的需要nn有证据显示,形式方法的使用减少了项目成本。

例如,IBM的大型CICS事务处理项目的独立审核表明,9的成本节约要归功于形式方法的使用。

对T800型变换计算机的Inmos浮点单元的独立审核也证明,形式方法的使用估计可以减少12个月的测试时间。

(3)形式方法和复用nn有效的软件复用有助于提高软件开发的生产率,这在应用软件的快速开发中具有特殊的意义。

nn软件复用的思想是开发出可在未来项目中使用的基本部件,这就要求部件具有高质量和高可用性,而且部件的实际行为和使用环境也要具备一个文档化的描述。

(3)形式方法和复用nn形式方法在软件复用中也占有一席之地,因为它形式方法在软件复用中也占有一席之地,因为它可提高部件正确性的置信度,并对某个部件的行可提高部件正确性的置信度,并对某个部件的行为进行明确的形式描述。

可以对部件进行广泛的为进行明确的形式描述。

可以对部件进行广泛的测试,以便为部件的正确性提供更高的置信度。

测试,以便为部件的正确性提供更高的置信度。

一个部件一般会在不同的环境中使用,而部件在一个部件一般会在不同的环境中使用,而部件在某种条件下能正常运转并不能保证它在未来也能某种条件下能正常运转并不能保证它在未来也能够成功运转,因为这个部件和其他部件或其他软够成功运转,因为这个部件和其他部件或其他软件之间可能存在着潜在的不良相互作用。

因此,件之间可能存在着潜在的不良相互作用。

因此,我们希望部件的行为能够得到明确的规定和充分我们希望部件的行为能够得到明确的规定和充分的了解,并对部件的构成进行形式分析,以确保的了解,并对部件的构成进行形式分析,以确保风险最小化,并在最后得到高质量的软件。

风险最小化,并在最后得到高质量的软件。

(3)形式方法和复用nn学术界和工业界都对部件的形式化进行了研究;作为欧洲RACE计划的一部分,ECSCORE研究项目考虑了复用中亟待解决的问题。

它包括部件的形式规范以及实际的部件模型的开发。

该项目还考虑了电信环境中存在的特征交互问题。

这验证了形式方法可以成功地用于特征交互的确定和消除。

显然形式方法也对确定和消除部件间的不良交互起了一定的作用。

(4)英国国防部的标准nn在某些环境下,形式方法的使用是强制性的。

英国国防部在20世纪90年代初期发行了两种与软件开发生命周期中使用形式方法有关的安全至上标准。

(4)英国国防部的标准nn第一个标准是防卫标准(DefenseStandard)0055,即DefStan00-55nn另一个防卫标准是DefStan00-56(4)英国国防部的标准nnDefStan00-55标准要求英国在安全至上的软件开发中强制采用形式方法:

尤其要提到的是,它要求强制使用形式数学来证明最为关键的程序正确地实现了他们的规范。

nnDefStan00-56标准的目标是提供指南,以便确定哪一个系统或系统的哪一个部分是安全至上的,然后要求在这些系统中使用形式方法。

(4)英国国防部的标准nn这两个标准表明了英国国防部采用的安全措施有多么严格,Brown在文献中提出:

nn在导弹系统表明其安全之前,我们必须假设它处于危险状况中,没有危险错误存在的证据并不等于没有危险。

(5)经典案例及应用nn典型应用系统包括:

IBM商用信息控制系统、英国伦敦空中交通管理系统、空中交通防碰撞系统TCAS等。

(5)经典案例及应用nn牛津大学和Hursley实验室于20世纪80年代合作将Z规格语言用于IBM商用信息控制系统。

IBM对整个开发进行的测试表明,Z规格语言的应用明显地改善了产品质量、大量减少了错误和早期诊断错误。

IBM估计使总体开发成本降低9。

这一成果获皇家技术成就奖。

(5)经典案例及应用nnPraxisPraxis公司于公司于19921992年交付给英国民航局的信息显年交付给英国民航局的信息显示系统是伦敦机场新空中交通管理系统的一部分。

示系统是伦敦机场新空中交通管理系统的一部分。

在该系统的需求分析阶段,形式化描述和非形式在该系统的需求分析阶段,形式化描述和非形式结构化的需求概念相结合;在系统规格阶段,采结构化的需求概念相结合;在系统规格阶段,采用了抽象的用了抽象的VDMVDM模型;在设计阶段,抽象模型;在设计阶段,抽象VDMVDM细细化为更为具体的规格。

项目开发的生产效率和采化为更为具体的规格。

项目开发的生产效率和采用非形式化技术相当,甚至更好。

同时,软件质用非形式化技术相当,甚至更好。

同时,软件质量得到了很大的提高,软件的故障率仅为量得到了很大的提高,软件的故障率仅为0.750.75每每千行代码,大大低于采用非形式化技术所提供的千行代码,大大低于采用非形式化技术所提供的软件的故障率(约为软件的故障率(约为220220每千行代码)。

每千行代码)。

(5)经典案例及应用nn加州大学的安全关键系统研究组所开发的空中交通防碰撞系统的形式化需求规格TCASII,采用了基于Statecharts的需求状态机语言RSML,解决了开发过程中遇到的许多问题。

TCASII项目表明了复杂过程控制系统列写形式化需求规格的可能性以及应用工程师们不经任何专门培训建立易读且易评判的形式化规格的可行性。

(5)经典案例及应用n除此之外还有:

(1)数据库:

用于存储病人监护信息的HP医用仪器实时数据库系统。

(2)核反应堆系统:

核反应器安全系统、核发电系统的切换装置。

(3)电信系统:

AT&T的5ESS电话交换系统、德国电信的电话业务系统。

(5)经典案例及应用(4)保密系统:

NATO控制指挥和控制系统中的保密策略模型、Multinet网关系统的数据安全传输、美国国家标准和技术院的令牌访问控制系统。

(5)通信协议:

协议规格、测试集的生成、协议转换。

(5)经典案例及应用(6)运输系统:

巴黎地铁的自动火车保护系统、英国铁路信号控制、以色列机载航空电子软件。

软件开发中的形式化方法nn1形式化技术的产生和发展nn2软件开发中为什么使用形式化方法nn3形式化规格技术nn4形式化验证技术nn5总结3形式化规格技术nn3.1形式化规格的定义nn3.2形式化规格的分类nn3.3操作类规格技术nn3.4描述类规格技术nn3.5双重类规格技术3.1形式化规格的定义nn规格就是对系统或者对象及其期望的特性或者行为进行的描述。

规格所要描述的内容包括:

功能特性、行为特性、结构特性、时间特性。

功能特性侧重于系统的功能方面,即做什么;行为特性侧重于系统的具体行为演化,即如何做;结构特性侧重于系统的组成,各个组成部分或者子系统间的联系和复合;时间特性则是时间相关的系统特性。

3.1形式化规格的定义nn形式化规格就是通过具有明确数学定义的文法和语义的语言实现以上描述。

3形式化规格技术nn3.1形式化规格的定义nn3.2形式化规格的分类nn3.3操作类规格技术nn3.4描述类规格技术nn3.5双重类规格技术3.2形式化规格的分类nn形式化规格技术可分为:

操作类、描述类和双重形式化规格技术可分为:

操作类、描述类和双重类。

类。

nn操作类技术基于状态和迁移,因其本质上可执行,操作类技术基于状态和迁移,因其本质上可执行,故具有直观和可视的特点;描述类技术基于数学故具有直观和可视的特点;描述类技术基于数学公理和概念,通过逻辑和代数给出系统的状态空公理和概念,通过逻辑和代数给出系统的状态空间,具有高度抽象、便于通过自动工具进行验证间,具有高度抽象、便于通过自动工具进行验证的特点;双重类技术则兼有二者的特点,既能够的特点;双重类技术则兼有二者的特点,既能够通过数学公理和概念高度抽象描述系统,又具有通过数学公理和概念高度抽象描述系统,又具有状态和迁移的可执行特征。

状态和迁移的可执行特征。

3形式化规格技术nn3.1形式化规格的定义nn3.2形式化规格的分类nn3.3操作类规格技术nn3.4描述类规格技术nn3.5双重类规格技术3.3操作类规格技术nn操作类技术通过可执行模型描述系统,即模型本身能够采用静态分析和执行模型得到验证。

nn操作类技术侧重于系统行为的特性描述,主要包括:

有限状态机及其扩展技术和Petri网技术等。

2Petri网1有限状态机3.3.1有限状态机

(1)产生背景

(2)形式化定义(3)有限状态图的表示(4)“生产者与消费者”实例

(1)产生背景nn有限状态机或者自动机的概念于20世纪50年代提出,包括Moore机和Mealy机。

由于状态机本质上的可操作性,因而它成为多种操作模型的基础。

经典的有限状态机(Moore机和Mealy机),可用来规格系统的行为特性,并具有状态迁移图和状态迁移矩阵两种表述方式。

(2)形式化定义n有限状态机FSM(FiniteStateMachine)是一种基本的、简单的、重要的形式化技术,它具有广泛的应用,可用于系统生命期中从系统规格到系统设计的所有阶段。

直观地理解,有限状态机就是一个具有有限状态的机器。

n有限状态机是一个5元组M=(Q,q0,F),其中:

(2)形式化定义nQ=q0,q1,qn是有限状态集合。

在任一确定的时刻,有限状态机只能处于一个确定的状态qi;n=1,2,m是有限输入字符集合。

在任一确定的时刻,有限状态机只能接收一个确定的输入j;n:

QQ是状态转移函数。

在某一状态下,给定输入后有限状态机将转入由状态迁移函数决定的一个新的状态;nq0Q是初始状态,有限状态机由此状态开始接收输入;nFQ是终结状态集合,有限状态机在达到终态后

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试认证 > IT认证

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1