形式化描述技术概述FSM.ppt
《形式化描述技术概述FSM.ppt》由会员分享,可在线阅读,更多相关《形式化描述技术概述FSM.ppt(83页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 网网 络络 协协 议议 工工 程程 第第 3 讲:协议形式化描述技术讲:协议形式化描述技术5/17/20231形式化描述技术第第 3 讲:协议形式化描述技术讲:协议形式化描述技术3.1 概述概述3.2 有限状态机有限状态机(FSM)3.3 PetriNet3.4 SDL3.5 Estelle3.6 Lotos3.7 ASN.15/17/20232形式化描述技术形式化描述技术:形式化描述技术:Why?v通信系统行为的复杂性增大了行为描述的难度,人们必须通信系统行为的复杂性增大了行为描述的难度,人们必须借助一种语言或一种技术来准确地描述系统行为。借助一种语言或一种技术来准确地描述系统行为。v在过
2、去,人们习惯使用自然语言进行协议描述(用自然语在过去,人们习惯使用自然语言进行协议描述(用自然语言写协议的规格说明或规范)言写协议的规格说明或规范)优点是:方便、易懂优点是:方便、易懂致命缺点是:不严格、不精确、结构不好、没有描述标准和有二义致命缺点是:不严格、不精确、结构不好、没有描述标准和有二义性性且很难进行协议实现、测试的自动化和协议验证。且很难进行协议实现、测试的自动化和协议验证。不同的人对协议描述的理解不一样导致不同的协议实现之间不能实不同的人对协议描述的理解不一样导致不同的协议实现之间不能实现互连,甚至还会得出错误的协议。现互连,甚至还会得出错误的协议。v解决办法:形式化技术解决办
3、法:形式化技术 FDTs(Formal Description Techniques)5/17/20233形式化描述技术FDTs:Aimsv采用形式描述技术的目的是:采用形式描述技术的目的是:为开发者提供一种分析的方法;为开发者提供一种分析的方法;作为对开发结果验证的基础;作为对开发结果验证的基础;为设计人员和应用人员提供交流途径;为设计人员和应用人员提供交流途径;作为开发文档能在将来再开发时使用。作为开发文档能在将来再开发时使用。v理想的形式描述技术应该既能描述系统的行为特征,又能进行理想的形式描述技术应该既能描述系统的行为特征,又能进行操作:操作:在系统需求分析和设计阶段,它应该是一种描述
4、语言在系统需求分析和设计阶段,它应该是一种描述语言在系统实现阶段它应该是一种编程语言。在系统实现阶段它应该是一种编程语言。v形式描述技术是将协议工程各阶段在技术上衔接起来的纽带,形式描述技术是将协议工程各阶段在技术上衔接起来的纽带,因此它对协议工程的发展起决定性作用。因此它对协议工程的发展起决定性作用。5/17/20234形式化描述技术FDTs:特性:特性v用于协议的用于协议的FDT一般应具有如下重要特性:一般应具有如下重要特性:完整的语法和语义定义完整的语法和语义定义 体系结构、服务和协议的可表达性体系结构、服务和协议的可表达性 协议重要特性协议重要特性(如,无死锁如,无死锁)的可分析性的可
5、分析性 支持复杂协议的管理支持复杂协议的管理(如,构造能力如,构造能力)支持逐步求精的方法支持逐步求精的方法 支持实现独立性支持实现独立性(包括并发性、非确定性和适当的抽象机包括并发性、非确定性和适当的抽象机制制)支持协议生命期的各环节,包括验证、实现和测试支持协议生命期的各环节,包括验证、实现和测试 支持自动或半自动设计、验证、实现和维护方法支持自动或半自动设计、验证、实现和维护方法 应能准确地描述进程交互的各种原语应能准确地描述进程交互的各种原语 5/17/20235形式化描述技术FDTs:Classificationv形式描述模型形式描述模型(FDM)状态变迁模型状态变迁模型有限状态机有
6、限状态机FSM(Finite State Machine)扩展的有限状态机扩展的有限状态机EFSM(Extended FSM)模型模型通信有限状态机通信有限状态机C CFSM(Communicating FSM)模型模型Carl Adam Petri的的Petri网网(PetriNet)时态逻辑时态逻辑TL(Temporal Logic)进程代数进程代数(Algebra of Process)R.Miler:通信系统演算通信系统演算CCS(Calculus of Communication System)(进程代数据的基础)(进程代数据的基础)Hoare:通信顺序进程通信顺序进程CSP(Com
7、municating Sequential Processes)(以(以CCS为基础)为基础)5/17/20236形式化描述技术FDTs:Classification(Cont.)v形式描述语言形式描述语言(FDL)ISO制定的制定的Estelle和和LOTOS CCITT制定的制定的SDL ISO的的ASN.1(抽象语法记法抽象语法记法)对象管理组织对象管理组织OMG制定的统一建模语言制定的统一建模语言UMLISO的的抽象测试集描述语言的抽象测试集描述语言的TTCN 高级程序设计语言,如高级程序设计语言,如Pascal,C,PL/1便于协议的实现便于协议的实现大多数比较复杂、分析起来比较困难
8、,且不支持非确大多数比较复杂、分析起来比较困难,且不支持非确定性的描述。定性的描述。5/17/20237形式化描述技术模型模型 vs.语言语言v模型模型含义一:对象或系统的抽象含义一:对象或系统的抽象OSI/RM:网络系统的抽象模型:网络系统的抽象模型含义二:描述对象或系统的方法或技术含义二:描述对象或系统的方法或技术FSMPetriNet5/17/20238形式化描述技术Functions vs.ComputationvFunctions specify only a relation between two sets of variables(input and output)vCompu
9、tations describe how the output Variables can be derived from the value of the input variables.5/17/20239形式化描述技术Model of ComputationvA MoC is a framework in which to express what sequence of actions must be taken to complete a computationvAn instance of a model of computation is a representation of
10、a function under a particular interpretation of its constituentsvNot necessarily a bijection(in fact almost never!)vExamples:Finite State Machine,Turing Machine,differential equation5/17/202310形式化描述技术模型模型 vs.语言(续)语言(续)v形式语言形式语言具有严格的语法和语义具有严格的语法和语义可以精确、完全地表述协议的功能、性能及行为等可以精确、完全地表述协议的功能、性能及行为等以一种或多种数学方
11、法或形式模型为基础以一种或多种数学方法或形式模型为基础SDL:基于扩展的基于扩展的FSM和抽象数据类型和抽象数据类型 Eetelle:基于扩展的:基于扩展的FSM,是,是Pascal语言的扩充语言的扩充LOTOS:基于通信系统演算(:基于通信系统演算(CCS)和抽象数据类型语)和抽象数据类型语言言ACT ONE 5/17/202311形式化描述技术模型模型 vs.语言(续)语言(续)v模型与语言的差别不是很明显。不同文献有不同的说模型与语言的差别不是很明显。不同文献有不同的说法。法。将模型与语言分开将模型与语言分开一些文献中的模型在另一些文献中成为语言或相反一些文献中的模型在另一些文献中成为语
12、言或相反将模型与语言不分,统称为形式化描述技术将模型与语言不分,统称为形式化描述技术v事实上,模型也可以看成是一种形式语言事实上,模型也可以看成是一种形式语言文法:描述语言的语法结构的形式规则(即语法规则)文法:描述语言的语法结构的形式规则(即语法规则)Turing 机机(无限自动机无限自动机)的能力相当于的能力相当于0型文法型文法有限自动机相当于正规文法(有限自动机相当于正规文法(3型文法)型文法)模型是语言的一个实例模型是语言的一个实例(Instance)(语义),例如(语义),例如C语言编语言编译器是译器是C语言的模型语言的模型5/17/202312形式化描述技术Models Of Co
13、mputation and languagesvNeed to distinguish between model and languagevLanguage needs to be expressive enough for application domain(write things once)have semantics in desired MOCvMOC needs to be powerful enough for application domainhave appropriate synthesis and validation algorithms5/17/202313形式
14、化描述技术FDTs:小结小结v实际应用时,往往是将多种形式描述技术混合起来实际应用时,往往是将多种形式描述技术混合起来使用。使用。例如:将协议中的主要状态用变迁用图形表示例如:将协议中的主要状态用变迁用图形表示(有限状态有限状态机或机或Petri网网),而协议的其他细节则用高级语言描述。,而协议的其他细节则用高级语言描述。这样使得协议的描述和验证都比较方便。这样使得协议的描述和验证都比较方便。5/17/202314形式化描述技术第第 3 讲:协议形式化描述技术讲:协议形式化描述技术3.1 概述概述3.2 有限状态机有限状态机(FSM)3.3 PetriNet3.4 SDL3.5 Estelle
15、3.6 Lotos3.7 ASN.15/17/202315形式化描述技术Finite State Machines(FSMs)一、概一、概 述述5/17/202316形式化描述技术Finite State Machines(FSMs)inputeventsoutputscurrentstatenextstatestatetransitionfunctionvFinite state machines consist of:Output EventsInput Events(or Signals,or Messages)Transition Functions STATEStatesNEXTST
16、ATECURRENTSTATEINPUTEVENTSOUTPUTSTransitionFunction5/17/202317形式化描述技术Finite State Machine StatesinputeventsoutputscurrentstatenextstatestatetransitionfunctionvCurrent State State which determines the current behavior of the machinevNext State State which will machine have after processing an input e
17、vent.Next State can be same as currentvStart State State in which machine will be when created5/17/202318形式化描述技术FSM TransitionsinputeventsoutputscurrentstatenextstatestatetransitionfunctionvTriggered by input events the FSM moves from one state to other based on the Transition FunctionvTransition Fu
18、nction produces the Output and Next State depending on Current State and Input EventvWhile in particular state FSM is not active.It is waiting for an input to perform next activity5/17/202319形式化描述技术Finite State Machines(FSMs)二、形式化定义二、形式化定义5/17/202320形式化描述技术FSM:Formal DefinitionvFSM is 5-tuple:FSM=(S
19、,s0,I,F),whereS=s0,s1,sn:有限状态集合。在任一确定时刻,有限状态集合。在任一确定时刻,FSM只能处于一个确定的状态只能处于一个确定的状态si。I=a0,a1,am:有限输入字符集合。在任一确定的时刻,有限输入字符集合。在任一确定的时刻,FSM只能接收一个确定的输入只能接收一个确定的输入aj。:S I S是状态转换函数,如果在某一确定的时刻,是状态转换函数,如果在某一确定的时刻,FSM处于某一状态处于某一状态si S,并接收一个输入字符并接收一个输入字符aj I,那么下,那么下一时刻将处于一个确定的状态一时刻将处于一个确定的状态 s=(si,aj)S。在这里规定,。在这里
20、规定,s=(s,),即对任何状态即对任何状态s,当读入空字符,当读入空字符 时,有很状态机时,有很状态机不发生任何状态转移。不发生任何状态转移。s0 S是初始状态,是初始状态,FSM由此状态开始接收输入由此状态开始接收输入F S是一个终态集(可空),是一个终态集(可空),FSM到达终态后不再接收输入到达终态后不再接收输入v确定有限状态机也称为确定有限状态机也称为DFA(确定有限自动机)(确定有限自动机)5/17/202321形式化描述技术Non deterministic FSM(or NFA)vNFSM is 5-tuple:FSM=(S,s0,I,F),whereS=s0,s1,sn:有限
21、状态集合。在任一确定时刻,有限状态集合。在任一确定时刻,FSM只只能处于一个确定的状态能处于一个确定的状态si。I=a0,a1,am:有限输入字符集合。在任一确定的时刻,有限输入字符集合。在任一确定的时刻,FSM只能接收一个确定的输入只能接收一个确定的输入aj。:S I 2S是状态转换函数,如果在某一确定的时刻,是状态转换函数,如果在某一确定的时刻,FSM处于某一状态处于某一状态si S,并接收一个输入字符并接收一个输入字符aj I,那么下,那么下一时刻将处于一个某一个状态子集一时刻将处于一个某一个状态子集=(si,aj)=p0,p1,pk(pi S,I=1,2,k)。在这里规定,。在这里规定
22、,s=(s,),即对任何状态即对任何状态s,当读入空字符,当读入空字符 时,有很状态机不发生任何状态转移。时,有很状态机不发生任何状态转移。s0 S是初始状态,是初始状态,FSM由此状态开始接收输入由此状态开始接收输入F S是一个终态集(可空),是一个终态集(可空),FSM到达终态后不再接收输入到达终态后不再接收输入5/17/202322形式化描述技术FSM:Formal Definition(Cont.)v在一些情况下,如果讨论问题的重点集中在在一些情况下,如果讨论问题的重点集中在FSM的的状态集状态集(S)、输入集、输入集(I)和状态转换函数和状态转换函数()上。这上。这时可用如下两种方式
23、来表示时可用如下两种方式来表示FSM:FSM=(S,I,)或或FSM=(S,s0,I,)5/17/202323形式化描述技术Finite State Machines(FSMs)三、三、Representation5/17/202324形式化描述技术State Transition Diagrams(状态转换图状态转换图)vUsed to Visually represent an FSMvEmphasis is on identifying states and possible transitionsvCircles represent StatesvArrows represent Tr
24、ansitionsei are inputsxi are outputsS1S2e1/x1e1/x2e2/x4e2/x35/17/202325形式化描述技术FSM Tables(状态转换表状态转换表)vAll inputs,states,state transitions and outputs of a FSM can be listed in a Table formatinputeventsoutputscurrentstatenextstateS1S2S1S2x1x2x3x4S2e1e1e2e2S2S1S1vEach row of the table is one unique com
25、bination of Input Events and Current StatevFor complete definition of FSM all Event/State combinations shall be providedvTable is another way to represent an FSM with an emphasis on exploring all Event/State combinations5/17/202326形式化描述技术FSM Table-Compact FormvHere in the top row of the Table has a
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 形式化 描述 技术 概述 FSM
限制150内