280 likes | 392 Views
协议开发的理论与方法. 罗军舟 东南大学计算机科学与工程系 jluo@seu.edu.cn. 计算机网络. 计算机学科发展的一个特征: 应用驱动 计算机网络: 应用和工程 → 技术 → 科学 理论和方法: 体系结构与协议, 协议开发. 协议研究. Routing QoS Multicast Admission Control & Congestion Control Switching Middleware ………. 协议发展. IBM SNA 、 ISO OSI/RM 和 DoD TCP/IP 等著名体系结构和协议已发挥了不可估量的作用;
E N D
协议开发的理论与方法 罗军舟 东南大学计算机科学与工程系 jluo@seu.edu.cn
计算机网络 • 计算机学科发展的一个特征: 应用驱动 • 计算机网络: 应用和工程→技术→科学 • 理论和方法: 体系结构与协议,协议开发
协议研究 • Routing • QoS • Multicast • Admission Control & Congestion Control • Switching • Middleware • ………
协议发展 • IBM SNA、ISO OSI/RM和DoD TCP/IP等著名体系结构和协议已发挥了不可估量的作用; • SNA是协议体系结构的开拓者; • OSI/RM是协议的指路灯塔; • TCP/IP是目前盛行的实事上的工业标准; • XTP、VMTP、Delta-t和NETBLT的出现,将使计算机网络进入一个高性能的时代。
协议工程 • 随着网络服务要求的提高,网络系统的复杂性在协议方面体现出空间分布性、并发性、异步性、不稳定性和多样性,高质量的通信协议再也不可能靠工程直觉方法来设计了; • 协议工程(Protocol Engineering)用形式化的方法来描述在协议设计和维护中的各个活动,建立一套严格的协议设计方法,使协议开发的整个过程一体化、系统化和形式化,从而保证协议的完整性、正确性、安全性和可移植性。
形式描述技术FDT的特征 • 完整的语法和语义定义; • 体系结构、服务和协议的可表达性; • 协议重要特性的可分析性; • 支持复杂协议的管理; • 支持逐步求精的方法; • 支持实现独立性; • 支持协议生命期的各环节(描述、验证、实现、一致性测试、……); • 支持自动设计、验证、实现和维护方法。
FDT种类 • 状态变迁模型 • 有限状态机FSM • 通信有限状态机CFSM • Petri网 • 程序设计语言模型 • 抽象程序 • CCS,CSP • 时态逻辑
FDT种类 • 进程代数(Process Algebra):用代数的方法来研究协议,它有一套完善的等价理论,如果与网论相结合,可以用一套完善的分析技术,提供一个结构清晰的模型。进程代数与随机模型相结合(如马尔可夫模型),被应用到协议的性能评价。 • 混合模型(如扩展的FSM):扩展的FSM过于复杂并且缺乏形式语义,分析功能较弱。
国际标准 FDT-SDL • SDL (Specification and Description Language):FSM + extensions 1976年由CCITT(ITU)颁布 ,一种基于扩展状态变迁和抽象数据类型的混合技术,被电信公司广泛用于描述电子分组交换系统,最近已发布了SDL-2000的新版本 。
国际标准 FDT- LOTOS • LOTOS (Language Of Temporal Ordering Specification):CCS+ADT • 80年代ISO制订OSI参考模型时发布,1988年确立了最后的国际标准文本。 • LOTOS提供形式语义,保证描述不存在二义性,便于分析和一致性测试理论的研究。LOTOS有二个组成部分,一部分基于过程代数,另一部分是基于ACT ONE的抽象数据类型。
FDT的国际标准-Estelle • Estelle(Extended State Transition Model Language):EFSM + extended Pascal • Estelle也是基于扩展的状态变迁模型,但使用PASCAL语法和数据类型,它有一个形式化的独立于实现的语义。 • Estelle标准颁布以后, 一直到1994年,Estelle研究小组主要致力工具包的研制,1996年以后, Estelle标准又被改进了50多处,不过直到现在也没有见到Estelle 的升级版本。
FDT与UML的结合 近年来UML (Unified Modeling Language) 被应用到协议开发中。 • UML简介 UML统一各种面向对象分析和设计方法的差异。1995年10月发布了第一个版本,现在UML2.0已经推出。如今UML已成为一个流行的、标准化的、通用目的面向对象的可视化模型语言,许多大的软件开发组织开始用它进行系统建模。
FDT与UML的结合 • UML用于协议开发的优势 • 当今的形式化的协议开发技术缺少可视化; • 不支持协议开发的整个生命周期; 而上述两点正是UML的优势所在。 • UML用于协议开发的不足 UML缺少定义复杂通信系统协议的形式化语义,不能直接用它来开发协议,必须给UML增加一些语义功能。
FDT与UML相结合— BDL • BDL (Behavioural Description Language) • 一个能够描述异步并发行为的语言BDL(把UML的面向对象技术引入到形式化的协议验证中); • 利用BDL可以一致性的操纵包含序列或协同图的UML行为视图,并且不同UML行为视图可以相互转换; • 在BDL中,用事件的偏序集合来表示对象间的相互交互,用对象间的一些基本的交互来描述整个系统的行为。
FDT与UML相结合—GPDL • GPDL (Graphical Protocol Description Language ) • 一个图形化的协议设计语言,描述协议的结构和行为; • GPDL的重要性在于把UML的图形引入到了协议设计中,使之可视化; • GPDL包含两部分:一是图和文本,图的结构使协议设计形象化,当图形不能表示时,就用文字说明;另一部分是GAEL (Generic Action Extension Language)用来表达协议的语义信息,以弥补UML的不足。
FDT与UML相结合—GPDL GPDL主要用于协议的设计和实现,用GPDL描述的协议可以比较容易地转换成SDL标准。
SDL-2000 在三种主要的国际标准FDT中,SDL与UML结合的是较容易的,因为 • SDL是基于状态变迁技术的,而状态 图(state diagram)正是UML建模的5种图之一;一个状态图就是一个状态机 ; • SDL具有抽象数据类型,与UML的面向对象技术吻合。
SDL-2000 SDL-2000是SDL-96和UML技术有机结合的版本, SDL-2000 = SDL-96 + UML
基于Petri网的FDT Petri网理论是在并发的概念上建立起来的,它直观地表示了非确定性,可以用于表达不同抽象级上的系统概念。 Petri网有一套成熟的数学理论工具,建立了许多分析技术,包括可达性分析、不变量分析(使用线性代数方法)、保持特性的变换(包括化简)、构造理论、形式语言理论、同步距离和网的分解和等价等。
基于Petri网的FDT 近几年人们的注意力集中在如何将代数的抽象数据类型,融合在高级网结构中,能够大大地提高描述协议和服务所用的高级Petri网系统的表示能力。
基于Petri网的FDT • 三种标准的FDT只支持协议工程的一至二个活动 • Estelle是一种过程语言,可以描述协议细节,用它描述的协议仅便于实现; • LOTOS描述协议实体的外部行为,不关心实体内部变化,描述的协议仅便于验证; • SDL是一种混合式的FDT,缺乏形式语义,缺乏分析技术。SDL-2000也只是吸收了UML的一些概念、方法,增加了面向对象的可视化设计功能,使之更好用,并没有从本质上提升SDL的分析能力 。
基于Petri网的FDT • Petri网具有异步特性并发,决定了它的主要应用方向是分布式系统 根据外延公理,变迁的发生完全由它的外延决定,与系统全局状态无关。因而网系统是异步并发的“自由王国”,没有主宰全局的中央控制,这很适合网络体系结构、协议和服务的特点 。
基于Petri网的FDT • Petri网的形式基础使它与其它并发模型建立了连接,这有益于分布式系统的描述和分析。 • Petri网用直观的图形表示形式,与物理系统相近,学习和理解这种语言相对容易。 • Petri网最大的优点是具备一套严密的数学理论,各种技术极有利于验证和分析。
基于Petri网的FDT • Petri网表现出面向对象技术的各个特性,将是一种优良的可用图形表示的面向对象语言。 为适应不同规范及验证的需求,从基本Petri网模型衍化出许多扩展模型系统,目前主要有:谓词/动作Petri网、时间Petri网(TPN)、带时态逻辑的Petri网、颜色Petri网(CPN)、面向对象Petri网(OOPN)、随机Petri网(SPN)、数字Petri网(NPN)等。
协议开发面临的挑战 • 支持协议工程整个生命期的FDT? • 协议的描述? • 支持协议开发的工具?
基于Petri网的协议开发的问题 • 自然语言描述的协议系统到Petri网系统的转换,相应的计算机辅助工具的开发,中间语言、一般模型、转换算法和规则的建立。 • 协议Petri网描述到协议实现的自动化,建立Petri网编译系统,实现网系统到目标代码转换的算法和模型。 • Petri网节点和可达状态的爆炸,包括适当的高级网系统和分层网系统建立、网系统的合成和化简和协议工程工作站的建立。 • 所建立的Petri网模型支持协议描述、协议验证、协议实现、性能分析、一致性测试等协议工程各个活动。
感谢各位领导和专家!请提出宝贵意见! Questions & Answers