chapter4-协议描述技术.ppt_第1页
chapter4-协议描述技术.ppt_第2页
chapter4-协议描述技术.ppt_第3页
chapter4-协议描述技术.ppt_第4页
chapter4-协议描述技术.ppt_第5页
免费预览已结束,剩余90页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Chapter4协议描述技术,协议描述,自然语言描述,存在二义性通用程序设计语言描述,无法描述不确定性、并发等协议性质形式化描述语言是最合适的描述语言,协议描述的内容,协议通信行为的描述协议状态机的描述,协议描述技术,4.1MSC概述,4.2MSC基础,4.3MSC结构概念,4.4高级MSC概念,4.5MSC文档,4.6MSC应用举例,MSC概述,4.1,MSC(MessageSequenceChart):一种形式语言,用来描述多个实体之间和实体与环境之间消息交互的顺序。在Z.120建议中,MSC的定义用两种具体文法给出,即文本文法(Textualgrammar)和图形文法(Graphicalgrammar)。,4.1.2MSC的实体类型,4.1.1MSC的特点,4.1.3定义图形文法的符号说明,MSC的特点(1),是一种消息跟踪语言:可以描述通信及其它事件发生的顺序,同时也可以表示对数值传递和事件定时的限定。是一种“场景”语言:每张MSC图只描述系统在某种情况下的通信行为。支持完整的和不完整的规范说明。在需求分析初期,可以用MSC描述不完整的系统通信行为。是一种图形化语言。用二维图形来概括通信实例的行为。是一种形式语言。语言的定义采用自然语言和形式化记法。,MSC的特点(2),是一种实用语言:可用于软件开发的全过程。从需求分析到总体设计,到详细设计,软件测试,在不同的阶段,MSC的用法稍有不同。应用广泛:可用于所有具有信息交互的应用领域。支持结构化设计。高级MSC图可以把用简单MSC图描述的单个历程组合成更完整的规范说明。经常被用来与其它方法和语言联合使用。可以描述系统不允许出现或不可能出现的通信行为。,MSC的实体类型,a)MSC文档;b)MSC图;c)实例(instance);d)状态(condition);e)定时器(timer);f)消息(message);g)通道(gate);h)变量(variable);,MSC的实体类型,MSC文档和MSC图也称为视见域(scope)。在一个系统中,每个实体都用一个名称来标识。在同一个视见域内,属于同一种实体类型的两个实体不能使用相同的名称。在同一个视见域内,可以多次出现的实体有:状态、定时器和消息等,多次出现的实体代表同一个实体。实体的名称只在同一个视见域内是可见的,在该视见域之外不能被引用。,定义图形文法的符号说明,4.1.3,在用图形文法定义MSC语法(及后续章节定义SDL语法)时,将采用类似于巴科斯范式(BNF)的符号:表示括号内的符号为非终结符,即还需进一步定义;:表示括号内的内容有关联性;*:表示括号内的内容是可选的,可以为零或重复任意次;+:表示括号内的内容是必选的,可以出现一次或重复任意次;=:定义符,定义符左部是非终结符,右部是由非终结符和/或终结符组成的符号串;|:“或”符,该符号两边的内容为并列关系。非终结符最终都要用终结符来定义。终结符包括MSC中的关键字、各种标识符、名称、各种图形符号等。,定义图形文法的符号说明,一组说明句法结构的词组:contains(包含)isfollowedby(下接)isassociatedwith(关联)isattachedto(相接)above(在上方)set(集合),说明“contains”的例子,:=isfollowedby,:=isfollowedby,说明“isfollowedby”的例子,说明“isassociatedwith”的例子,:=isassociatedwithisattachedto,msg,I,J,MSC基础,4.2.2实例,4.2.1消息顺序图,4.2.3消息,4.2.4条件,4.2.5定时器,4.2.6动作,4.2.7进程创建,4.2.8进程终止,4.2.9方法调用与回复,4.2.10环境与通道,4.2,消息顺序图,4.2.1,MSC图有两种形式(简单MSC图和高级MSC图)::=|注:HMSC用来描述简单MSC的连接关系和组合关系,简单MSC图可以进一步定义如下::=contains,消息顺序图,MSC符号定义如下::=isattachedto*set:=,MSC头部由关键字“msc”和MSC图名(mscname)组成,其定义如下::=msc,消息顺序图,MSC主体域包括5个层面:实例层(instancelayer)文本层(textlayer)通道定义层(gatedefinitionlayer)事件层(eventlayer)连接器层(connectorlayer)每张MSC图的主体域由这5个层面的任意组合构成,其定义如下::=set,实例层:用来说明MSC图中包含的实例的情况,包括实例类型、实例名及实例体等,这些由实例域给出。实例层包括零个到多个实例域,说明个别MSC图可以不包含实例。实例层的定义如下::=*set,文本层:MSC图中的文本说明,是一个独立层,与其它层在逻辑上和图形符号上均无联系。文本层包括零个到多个文本域。文本层的定义如下::=*set,事件层:由一个到多个事件域组成事件域按顺序上下排列事件层的定义如下::=|aboveMSC中共有三种事件域:实例事件域(instanceeventarea)共享事件域(sharedeventarea)创建域(createarea)。,:=/*消息事件域*/|/*方法调用事件域*/|/*回复事件域*/|/*定时器域*/|/*并发域*/|/*方法域*/|/*挂起域*/|/*动作域*/,:=|/*条件域*/|/*MSC引用域*/|/*内部表达式域*/,连接器层:描述连接两个实例的事件,包括消息域(messagearea)、未完成消息域(incompletemessagearea)、方法调用域(methodcallarea)、回复域(replyarea)等。:=*|*|*|*|*set,简单MSC图的一般形式:,msc,建立连接的简单MSC图,MSCdiagram,Messagetotheenvironment,MSCheading,Instance,Condition,Outputevent,Inputevent,Instanceend,Message,实例,实例代表某种实体,具有该实体的所有属性。在SDL系统中,实体可以是系统、功能块或进程。在通信领域,实体可以是一个系统,也可以是某层协议实体。实例由实例头部、实例轴、实例结束符或实例终止符组成。,实例图形的三种表示形式,Instanceheadsymbol,instanceaxissymbol,instancestopsymbol,(a),(b),(c),实例,实例轴符有两种形式。同一张MSC图,同一个实例只能采用其中一种。实例结束符(instanceendsymbol)仅代表该实例需在本MSC图中要描述的部分的结束,而不表示该实例的结束。实例头部符号只表示该实例需在本MSC图中要描述的部分的开始,而不表示该实例的创建。终止符(stopsymbol)表示该实例真正的结束,终止符只适用于进程类型的实例。,实例标题的三种表示形式,inst,inst:processdigit,inst,processdigit,instanceheading,MSC支持的实例类型有:进程(process)类型、功能块(block)类型和系统(system)类型。,实例分为简单实例和可分解实例(decomposed),关键字decomposed表示该实例还需用另一个MSC图作进一步说明。如果分解后的MSC图采用别的图名,则需在实例标题中给出该图名。,inst,decomposed,process,digit,decomposed,inst,decomposed,as,inst,mscUserAccess,User,ACSystemdecomposedasAC_UserAccess,whenIdle,EstablishAccess(“IllegalPIN”),CardOut,whenPINOK,“PleaseEnter”,OpenDoor,Idle,opt,MSCReference,Inlineexpression,包含分解实例的MSC图,Decomposedinstance,实例展开后的MSC图,消息,在MSC图中,消息用来在两个实体之间或实例与环境之间交换信息。在两个实例之间交换一条消息可以看成两个事件:消息出(messageout)和消息入(messagein)。两个事件共享一个消息名。消息用消息名来标识,可以带参数,参数列表中不用给出参数类型。MSC中无法表示把消息放入缓冲区的情况。两种与消息有关的异常:输出消息丢失;实例消耗“来历不明”的消息,即输入异常消息。,消息,timeout,消息丢失的例子,MSC中无法表示把消息放入缓存区,条件,4.2.4,MSC图中条件(condition)可以描述:全局状态(globalcondition,涉及MSC图中所有实例)局部状态(non-globalcondition,涉及MSC图中部分实例)当局部状态只涉及MSC图中的一个实例时,称为本地状态(localcondition)。条件的图形符号,表示此条件不包括该实例,条件不是判断,而是描述系统的全局/局部/本地的状态。,定时器,4.2.5,在MSC图中,定时器可以用来监视某一事件(一般为等待接收消息)的到达。定时器包括两个操作(动作)和一个事件,即:启动定时器、复位定时器和定时器超时。启动定时器就是在系统中创建一个定时器实例,该实例有个实例名(定时器名),可以带参数,也可以给出定时间隔(duration)。,定时器,settimer,resettimer,设置定时器和复位定时器的例子,定时器,settimer,timeout,定时器超时的例子,表示启动定时器的两种图形符号,表示再启动定时器的图形符号,表示复位定时器的两种图形符号,表示定时器超时的几种图形符号,定时器,动作,动作指通信实体在通信过程中完成的某些操作动作符定义::=isattachedtocontains动作符描述的动作仅限于实例内部,进程创建,两种进程创建:静态创建:系统初始化时创建的实例动态创建:系统运行过程中创建的实例动态创建实例用进程创建符来描述进程创建符有箭头一端与被创建实例的实例头部相连。进程创建符:或,进程终止,进程终止是指终止本进程实例,即执行了进程终止的进程实例在系统中就不存在了。进程终止仅适用于进程类型的实例。一般来说,进程终止只适用于动态创建的进程实例。,进程创建和进程终止的例子,Instancecreatedwithparameter,Instancestop,方法调用与回复,MSC图中实例间交互信息的一种形式。MSC中的方法是实例中的一个行为单元,具有独立的名称。一个实例中的方法可以由另一个实例来调用,方法的运行(计算)结果以回复的形式回送给调用者。调用和回复使用同一方法名。方法调用与回复均可带参数,使用同一个方法名。,实例TC调用实例SUT中的方法“Method1”,methodarea,reply,methodcall,suspensionarea,环境与通道,MSC图的主体是实例,MSC图的边框是MSC系统的环境。实例可以从环境输入消息,也可以向环境输出消息,实例与环境交互的消息通过通道来完成。每个通道都有一个通道名,通道名可以显式给出,即在图中直接给出通道名。也可以以隐式方式给出。隐式通道名由消息的方向和消息名来确定。,环境与通道,mscgates,i,j,k,MyMSC,g,h,s1,s2,s3,s4,通道定义,MSC结构概念,4.3,4.3.2MSC引用,4.3.1并发,4.3.3线内表达式,并发,应用背景:某通信实体在某状态下需要接收到两条或多条消息后才能往下进行,而这些消息到达的时间顺序是任意的,即实例消耗这些消息的顺序是任意的。作用:描述在实例轴上发生时间无序的事件并发只与单实例相关,并发的不同表示形式,并发符1,并发符2,并发,concurrentarea,Instancecreatedwithparameter,并发的例子,MSC引用,MSC引用是指在MSC图中引用别的MSC图被引用的MSC图用一个引用符来表示,引用符上有实际通道,被引用的MSC通过这些实际通道与新的MSC图中的实例和环境交互信息。MSC引用符可以与多个实例轴相连。与本引用符无关的实例的实例轴可以穿过引用符。MSC引用不能递归进行。引用符:,引用别的MSC图的例子,被引用的MSC图的例子,线内表达式,线内表达式(inlineexpression)作用:在MSC图中构造分支结构、并行结构、循环结构。线内表达式运算符:“alt”(交替)、“opt”(可选项)、“exc”(异常)、“loop”(循环)和“par”(并行)。线内表达式的符号:,线内表达式符,异常线内表达式符,分隔符,分支结构alt:两个区域内的内容是二选一的关系,非此即彼,不会同时出现。,分支结构(alt)的MSC图,两个区中间用虚线隔开,分支结构opt:“alt”的一个特例,此时“alt”线内表达式中第二个区域为空。,分支结构exc:“alt”的一个特例,其以下的部分被当成第二个区域的内容,须包含该MSC图中的所有实例。,exceptionalcase,应该是虚线,描述循环的MSC图,循环结构“loop”:描述一些重复发生的事件。线内表达式的内容将循环若干次循环次数格式为:loop,表示至少循环n次,最多循环m次。缺省值loop=loop具体实现的时候,重发是个定数而不是个范围。,并行事件的例子,并行结构“par”:用来描述并行发生的事件在最新的Z.120没有此部分规范,高级MSC概念,作用:把一组MSC图组合成更复杂的MSC图高级MSC(HMSC)是一个有向图。有向图由节点和连接节点的线构成连接节点的线:节点:开始符:结束符:MSC引用符:条件框:连接点:并行框:,高级MSC举例1:顺序结构,HMSCStart,HMSCend,MSCReference,高级MSC举例2:分支结构,Alternative,Loop,高级MSC举例3:并行结构,MSC文档,要把一个系统的所有“场景”描述出来,需要若干张MSC图。把这些图集中起来,就形成了MSC文档的主要内容。MSC文档定义本MSC系统用到的实例名、简单MSC图名、高级MSC图名、消息名及其参数、定时器和变量等。MSC文档内容包括:文档头、定义部分、应用部分,definingpartarea,utilitypartarea,documenthead,MSC文档的例子,MSC应用举例,4.6,4.6.1硬件结构与工作原理,4.6.2需求分析,4.6.3软件结构设计,4.6.4消息定义,4.6.5消息交互图,电话业务,主叫,交换机,交换机,启呼(摘机),拨号音,拨号信号,占用信号,选择信号(路由信号),回铃音信号,应答(摘机),应答信号,(通话),复原(挂机),后向挂机信号,前向拆线信号,拆线证实信号,复原(挂机),用户线,被叫,用户线,(发端局),(终端局),中继线,振铃信号,局间信号,用户线信号,用户线信号,电话接续信令基本流程,微型电话交换机硬件结构示意图,音信号,交换网络,主控CPU,收号器,用户电路,收号器,用户电路,0,127,最多连接128个用户,每个用户电路配有一个双音多频收号器,不考虑出入局呼叫,用户电路直接接入交换网,硬件结构与工作原理,4.6.1,硬件结构与工作原理,微型电话交换机软件系统特点:提供基本的呼叫处理功能和部分补充业务用户电话号码采用四位编码,0到127号用户分别对应电话号码3000到3127微型电话交换机的工作原理可以通过一次完整的呼叫过程来描述。呼叫过程分成三个阶段:连接建立阶段通话阶段连接释放阶段,工作原理(1),连接建立阶段用户A摘机,交换机检测到用户A摘机后向用户A送拨号音用户A听到拨号音后输入用户B的电话号码(3位),交换机通过定期监测DTMF收号器接收这3位号码。交换机收到第1位号码后停拨号音交换机收齐号码后进行号码分析,判断用户B的状态:如果用户B空闲,则向用户B的话机振铃,同时向用户A送回铃音;如果用户B忙,则向用户A送忙音;如果用户A所拨号码不是本交换机内的号码,则向用户A送空号音用户B摘机应答后,交换机检测到用户B的动作后,停止振铃,停送回铃音,通过交换网络把两个用户的话路接通。连接建立阶段结束。被叫忙或空号情况下,用户A挂机,交换机检测到后,停送忙音或空号音,结束本次呼叫,工作原理(2),通话阶段在本阶段,交换机周期性地监测用户状态,一旦检测到用户挂机,就进入连接释放状态连接释放阶段:分为三种情况用户A先挂机,交换机检测到后,断开通话话路,向用户B送忙音;用户B挂机后,交换机停送忙音,本次呼叫过程结束用户B先挂机,交换机检测到后,断开通话话路,向用户A送忙音;用户A挂机后,交换机停送忙音,本次呼叫过程结束用户A和用户B同时挂机,交换机断开通话话路,结束本次呼叫,交换机完成的主要工作:用户摘挂机检测,交换机周期性地监测用户线状态;DTMF收号,及时接收用户所拨号码;交换网络控制,通过交换网络向用户送各种音信号,连接话路等;振铃控制,按一秒振,四秒停的节奏向用户送铃流;号码分析,确定所拨用户号码的呼叫类型;地址翻译,确定被叫用户逻辑号;用户状态管理,用户状态:“忙”、“空闲”、“挂起”。呼叫处理,对整个呼叫过程进行控制。,需求分析,4.6.2,需求分析主要考虑交换机用户的要求用户在话机没有振铃的情况下拿起话机手柄,应能及时听到拨号音(300毫秒内);用户在话机振铃的情况下拿起话机手柄,应能与对方通话,同时停止振铃;用户摘机后,应能通过话机按键输入被叫号码,输入第一位号码后交换机应及时停送拨号音;用户拨完四位号码后,如果对方空闲(用户未使用话机),应能听到回铃音;如果对方忙(用户正在使用话机或话机正在振铃),应能听到忙音;如果用户拨错号码,应能听到空号音;用户通过输入不同的号码,可以与其他127个用户中的任意一个通话;用户可以通过拨号设置或撤销呼叫转移;用户可以在接续过程中随时挂机,结束呼叫;话机振铃时间不超过60秒,听拨号音时间不超过10秒,听回铃音时间不超过60秒,听忙音时间不超过40秒,听空号音时间不超过40秒;用户输入号码时,两位号码之间的间隔不超过20秒;,软件结构设计,4.6.3,本交换机的软件采用分层结构:应用层和接口层接口层负责与硬件有关部分的工作,完成以下功能:(?仿真)用户摘挂机检测,上报用户状态(摘机或挂机);DTMF收号,上报收到的号码;音信号连接和断开;振铃控制和停振铃;话路连接和释放。应用层负责与硬件无关部分的工作,完成以下功能:号码分析,对用户所拨号码进行分析,确定本次呼叫类型,包括内部呼叫、设置呼叫转移、撤销呼叫转移;地址翻译,根据主叫所拨号码确定被叫用户;用户状态管理,建立一张用户状态表,记录用户状态。呼叫处理,负责呼叫接续过程连接建立阶段和连接释放阶段的工作。,消息定义,4.6.4,接口层发到应用层的消息只有三条,定义如下:摘机消息off_hook(integer),参数:用户线逻辑号;其中:“off_hook”是消息名,“integer”是参数类型,下同。挂机消息on_hook(integer),参数:用户线逻辑号;号码消息digit(integer,integer),参数:用户线逻辑号,一位拨号号码。,消息定义,4.6.4,应用层发到接口层的消息有:连接拨号音dial_tone(integer),参数:用户线逻辑号;连接回铃音ringback_tone(integer),参数:用户线逻辑号;连接空号音null_tone(integer),参数:用户线逻辑号;连接忙音busy_tone(integer),参数:用户线逻辑号;停音信号stop_tone(integer),参数:用户线逻辑号;振铃ringing_on(integer),参数:用户线逻辑号;停振铃ringing_off(integer),参数:用户线逻辑号;连接话路path_connect(integer,i

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论