协议验证技术.ppt
《协议验证技术.ppt》由会员分享,可在线阅读,更多相关《协议验证技术.ppt(64页珍藏版)》请在三一办公上搜索。
1、第 5 章 协议验证技术,内容提要,概述,1,协议性质,2,可达性分析,3,不变性分析,4,协议验证,Holzman:每一个新设计的协议在被完全证明没有错误之前,都应认为不是完全正确的。协议验证技术和形式描述技术是同步发展的,它也是协议工程技术中研究最早、最深入的课题,使用的技术方法多种多样。,验证的含义,“验证”的含义:验证协议的设计。通过分析每一层的所有协议实体间的所有可能的交互、协议的抽象规范中所确定的功能以及通过低层提供的服务所实现的对等层间的通信来确定上述操作是否满足协议的服务规范。在设计阶段进行验证,可以及早发现协议错误,大大降低协议开发成本。验证协议的实现。检查每一个协议实体的实
2、现是否满足它的抽象协议规范。大多数情况下,协议实现的验证是通过不同的测试工具来实现的。有时也将其称为协议实现评估或协议的一致性测试,一般情况下,协议验证指的是第(1)类验证,这也是本课程的观点。具体来说,协议验证是指根据协议规范来检查协议实体间的交互是否满足一定特性(properties)或条件(conditions)的过程,例如,检查是否有死锁存在。通过协议验证,可以获知协议设计是否满足正确性、完整性和一致性等要求。,Verification and Validation,在英文文献中,“验证”一词有两种不同的表示:validation和verification。它们的含义也比较混乱。文献R
3、ud98认为:validation主要是指检查协议逻辑上的一致性,以查实协议设计中是否存在某些错误,这些错误是所有协议中都可能存在的共性错误,与具体的协议功能无关,例如,验证有无死锁。而verification则是指检查协议是否能成功地提供指定的协议功能。文献Lai98认为:verification主要是指检查一个系统是否满足它的规格说明,而validation的含义则不仅包括verification,还可能包括对最终的系统实现进行测试,系统模拟,性能分析预测等。,Verification and Validation,Bohem:Verification:to establish the t
4、ruth of correspondence between a software product and its specification(“truth”)or are we building the product right?Validation:to establish the fitness or worth of a software product for its operational mission(“to be worth”)or are we building the right product?谢94版网络书中介绍:Verification:在功能方面进行验证Vali
5、dation:在语法方面进行证实在实践当中,validation和verification所采用的技术并没有明显的界限。也正因为如此,很多文献并没有严格区分validation和verification,而是混用这两个单词。,Verification and Validation,形式化验证,非形式化验证则主要通过传统的遍历(walkthrough)和代码检查(inspection)来实现。协议验证通常与形式描述技术有关。形式化验证主要将形式描述技术和推理技术相结合,是形式化描述技术的一个重要方面,其优点是:一方面可以获得无二义性的协议规范,另一方面可以通过计算机辅助工具来帮助实施自动或半自动
6、验证。协议设计者必须在早期的协议设计阶段采用一些技术或工具来发现设计中存在的错误,这也是协议验证的最重要的目的。,形式化协议验证,主要两类方法:模型检测(Model Checking):基于状态搜索(State Exploration)演绎验证(Deductive Verification):基于定理证明(Theorem Proving),模型检测方法,步骤:建模(Modeling)描述(Specification)验证(Verification)问题:状态空间爆炸协议运行的无穷状态空间的不可搜索性 协议运行过程中的无穷消息空间的不可搜索性,定理证明方法,步骤:将实现方案和功能描述都转换为一种
7、形式逻辑,如命题逻辑、一阶逻辑(First Order Logic,FOL)、高阶逻辑(Higher Order Logic,HOL)等 建立公理系统,作为验证的依据,并将协议性质构造成一组代定数定理 根据公理系统,使用定理证明器,通过逻辑推理、逻辑规约等手段,构造证明过程,证明实现方案和功能描述等价 问题:入门难,前两步难,内容提要,概述,1,协议性质,2,可达性分析,3,不变性分析,4,协议性质,协议验证的最主要内容是检查协议是否满足规定的协议性质。一般情况下,将协议性质分为两类:一般性质(general properties)。指所有协议所具有的一些公共特性。不同文献对这类性质的个数和描
8、述也不尽相同。特殊性质(specific properties)。是指与具体协议内容有关的性质。对这些性质的定义构成了服务规范的主体内容。也有文献将协议性质分为安全性(safety)和活跃性(liveness)。,一般性质,可达性(Reachability)。验证协议的各种可能状态之间的可达关系。如果协议的某个状态从初态不可达,则表明协议有错误。如果从状态A到状态B的变迁不可能发生(直接或间接),则从状态A到状态B是不可达的。没有死锁(Deadlock freeness)。最典型的死锁是协议中各实体都处于这样的一种等待状态,即只有在“某一事件”发生后才能做进一步的动作,但在该状态下,这个“某一
9、事件”却不可能发生。死锁发生时,协议所处的状态称为死锁状态。没有活锁(Livelock freeness)。活锁是指协议处于无限的死循环中,而没有别的事件可使协议从这一循环中解脱出来。例如,协议无限制地执行超时重发操作,但总是收不到对方的确认信息。状态还是在变化的,不过不能脱离这种死循环状态而已。,一般性质(Cont.),弱活锁(Weak livelock)。是指协议处于死循环中,只有当协议交换命令的相对速度达到某一状态时,协议才退出死循环。时间相关的活锁(Time-dependent livelock)。也称为临时阻塞(Tempo-blocking)。它是指协议处于死循环中,但是当通信双方交
10、换报文的相对速度到达某一状态时,协议可以从死循环中出来。有界性(Boundedness)。检验协议的某些成分或参数的容量(例如:通道容量、窗口大小)是否有界。有界性是针对协议元素性质和通道性质而言。可恢复性或自同步性(Recovery from failures)。这是当出现差错后,协议能否在有限的步骤内返回到正常状态(包括初始态)执行。,一般性质(Cont.),无状态二义性(State ambiguities freeness)。一个进程在某一时刻只允许具有一个稳定状态。所谓稳定状态是指当通信双方的通道为空时的进程状态。若在某一时刻进程可以有多个稳定状态,则称该进程的状态为二义状态。互斥性(
11、Mutual exclusion)。互斥性是指有些协议动作不能同时被多个用户执行。例如,多个用户不能同时请求同一资源。终止或进展(Termination or Progress)。是指协议提供的服务必须在有限时间内完成。终止是针对终止协议(terminating protocols)而言,意思是指协议总是能到达期望的结束状态。而进展则是针对循环协议(cyclic protocols)而言,意思是指协议总是能到达它的初始状态。,一般性质(Cont.),无冗余描述(Absence of Overspecification)。协议规范中没有无用的、冗余描述,例如,没有未经实践的报文接收(absenc
12、e of unexercised message receptions)。公平性(Fairness)。是指每一个协议实体均应平等地得到运行的机会,无论其它的协议实体想做什么。,特殊性质,完整性(Completeness)。是指协议设计考虑了所有可能发生的事件、选项以及服务。检验协议是否能处理所有可能的输入,即是否缺少应用的处理,或有无非期待的接收或输入(即错收)。也有的文献将完整性称为完全正确性(plete correctness)。一致性(consistency)。是指协议服务行为(或性质)和协议行为(或性质)一致,即协议应该提供用户要求的服务,而无需提供用户没有要求的服务。也有文献将一致性
13、称为部分正确性(partial correctness)、等价性(equivelence)等。,一般性质 vs.特殊性质,协议验证着重在于一般性质,而协议测试则着重于特殊性质。,安全性(safety)vs.活动性(liveness),安全性是指协议的所有动作均需与它的服务规范保持一致,即没有不期望的情况出现。不期望的情况包括:不可接收的事件、不可进一步向前的状态、错误的动作、错误的条件、变量值越界等。例如,如果传输协议传送报文,则它必须将这些报文传送到正确的目的地,按正确的顺序,并且无差错地交给目的主机。安全性保证协议不出现错误。活动性是指在有穷时间内,完成规范所规定的动作(或所有的服务必须在
14、有限时间内完成)。在进行逻辑验证时,确保一个有限的时延就足够了。但是,在验证协议的效率和响应能力时,则必须定量地确定期望的时延、吞吐率以及其它的一些指标。,安全性(safety)vs.活动性(liveness),活动性(Cont.)协议的活动性体现在终止性(termination)和进展性(progress)两个方面。终止性是指协议从任何一个状态开始运行,经过有限时间总能正确地达到终止状态;进展性是指协议从初始状态运行,经过有限时间总能到达指定状态。在某些情况下,终止状态和初始状态是同一的。这样,协议从初始状态出发总能正确地回到初始状态,并可反复运行。,内容提要,概述,1,协议性质,2,可达性
15、分析,3,不变性分析,4,协议验证方法,验证方法主要有两类:模型检查(Model Checking)。最常见方法:可达性分析(RA:Reachability analysis),它包括状态穷举,状态随机枚举,状态概率枚举等方法 不变性分析(invariance analysis)等价性分析(equivalence analysis)重要问题:状态空间爆炸 证明(Proving)试图用推理演算方法严密地证明协议的各种性质其他方法:模拟(Simulation)通过一些模拟试验来测试协议的各种性质,可达性分析,一、概 述,可达性分析,可达性分析是最常用的协议验证方法。它试图产生和检查协议所有或部分可
16、达状态。“可达状态”是指协议从初始状态开始经历有限次转换之后可达到的状态。所有可达状态构成可达图(RG:Reachability Graph)。,可达性分析(Cont.),可达性分析的原理是:采用穷举法检查同一层内两个或多个协议实体间所有可能的交互所产生的状态。将协作的协议实体的状态以及连接这些协议实体的低层称为系统的全局状态或混合状态(posite or global state)。从一个给定的初始状态开始,所有可能的变迁(用户命令、超时、报文到达等)产生许多新的全局状态。对每一个新产生的状态重复执行上述过程直到没有新的状态产生(某些变迁将导致系统返回到已产生的状态)。对于一个给定的初始状态
17、和一组关于低层协议的假定(提供的服务的类型),这种分析能够确定协议可能产生的所有结果。,可达性分析(续),可达性分析最适合于用状态变迁模型描述的协议模型。对于状态变迁模型的全局状态空间的产生也比较容易自动化,目前已有很多作此用途的工具。对于程序语言描述的协议模型也可以使用可达性分析方法。具体做法是:在程序中设置许多断点(break points),这些断点有效地定义了系统的控制状态。可达性分析方法特别适用于验证上一节提到的协议的一般性质,因为这些性质是可达图结构的一种直接结果。没有出口的全局状态要么是死锁,要么是期望的结束状态。同样,收到一个没有定义如何处理的报文或超过了传输媒体的带宽等情况很
18、容易被发现。,可达性分析(Cont.),可达性分析涉及三个重要技术:怎样找出所有可达状态,构成可达图。怎样检测死锁、活锁等协议错误。怎样解决状态空间爆炸问题。,可达性分析,二、可达性分析算法,可达性分析算法,文献Holz93给出了三个主要的可达性分析算法:穷尽性可达性分析算法(exhaustive or full search),受控部分搜索算法(controlled partial search),随机模拟算法(random simulation)。,算法一:穷尽性可达性分析算法,start()W=初始状态;/*工作集:分析的状态*/A=;/*已分析过的状态*/analyze();analy
19、ze()/*全局搜索*/if(W为空)return;q=取自W的元素;将q加入到A中 if(q是错误状态)report_error();/*报告错误*/else for(q的每一个后继状态s)if(s不在A或W中)把s加入到W中;analyze();从W中删除q;,工作集W控制系统状态空间树的搜索顺序。如果工作集W中的状态以先进先出(FIFO)的顺序取出,那么算法执行的是状态空间树的先广搜索(breadth-first);如果以先进后出(FILO)的顺序取出,则是状态空间树的先深搜索(deapth-first)。先深搜索方法占用存贮空间小,这是其最大优点之一。,假定每个状态有两个后继状态,算法
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 协议 验证 技术

链接地址:https://www.31ppt.com/p-4978206.html