chapter协议描述技术_第1页
chapter协议描述技术_第2页
chapter协议描述技术_第3页
chapter协议描述技术_第4页
chapter协议描述技术_第5页
已阅读5页,还剩90页未读, 继续免费阅读

下载本文档

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

文档简介

1、chapter协议描述技术协议描述自然语言描述,存在二义性通用程序设计语言描述,无法描述不确定性、并发等协议性质形式化描述语言是最适宜的描述语言协议描述的内容协议通信行为的描述协议状态机的描述协议描述技术 4.1 MSC概述 4.2 MSC根底 4.3 MSC构造概念 4.4 高级MSC概念 4.5 MSC文档 4.6 MSC应用举例 MSC概述 MSC(Message Sequence Chart ):一种形式语言,用来描述多个实体之间和实体与环境之间消息交互的顺序。 在建议中,MSC的定义用两种具体文法给出,即文本文法(Textual grammar)和图形文法(Graphical gra

2、mmar)。 4.1.2 MSC的实体类型 MSC的特点 4.1.3 定义图形文法的符号说明MSC 的 特 点1 是一种消息跟踪语言:可以描述通信及其它事件发生的顺序,同时也可以表示对数值传递和事件定时的限定。是一种“场景语言:每张MSC图只描述系统在某种情况下的通信行为。支持完整的和不完整的标准说明。 在需求分析初期,可以用MSC描述不完整的系统通信行为。是一种图形化语言。用二维图形来概括通信实例的行为。是一种形式语言。语言的定义采用自然语言和形式化记法。MSC 的 特 点2是一种实用语言:可用于软件开发的全过程。从需求分析到总体设计,到详细设计,软件测试,在不同的阶段,MSC的用法稍有不同

3、。应用广泛:可用于所有具有信息交互的应用领域。 支持构造化设计。高级MSC图可以把用简单MSC图描述的单个历程组合成更完整的标准说明。经常被用来与其它方法和语言联合使用。可以描述系统不允许出现或不可能出现的通信行为。 MSC的实体类型a) MSC 文档;b) MSC图;c) 实例(instance);d) 状态(condition);e) 定时器(timer);f) 消息(message);g) 通道gate;h) 变量variable;MSC的实体类型MSC 文档和MSC图也称为视见域scope。在一个系统中,每个实体都用一个名称来标识。在同一个视见域内,属于同一种实体类型的两个实体不能使用

4、一样的名称。在同一个视见域内,可以屡次出现的实体有:状态、定时器和消息等,屡次出现的实体代表同一个实体。实体的名称只在同一个视见域内是可见的,在该视见域之外不能被引用。定义图形文法的符号说明在用图形文法定义MSC语法及后续章节定义SDL语法时,将采用类似于巴科斯范式BNF的符号: :表示括号内的符号为非终结符,即还需进一步定义; :表示括号内的内容有关联性;* :表示括号内的内容是可选的,可以为零或重复任意次;+ :表示括号内的内容是必选的,可以出现一次或重复任意次;= :定义符,定义符左部是非终结符,右部是由非终结符和/或终结符组成的符号串;| :“或符,该符号两边的内容为并列关系。非终结符

5、最终都要用终结符来定义。终结符包括MSC中的关键字、各种标识符、名称、各种图形符号等。定义图形文法的符号说明一组说明句法构造的词组:contains包含is followed by下接is associated with关联is attached to相接above在上方set集合MyMSC := contains 说明“contains的例子 := is followed by := is followed by 说明“is followed by的例子 说明“is associated with的例子:= is associated with is attached to msgIJMSC

6、根底 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 环境与通道 消息顺序图 MSC图有两种形式简单MSC图和高级MSC图: := | 注:HMSC用来描述简单MSC的连接关系和组合关系简单MSC图可以进一步定义如下: := contains 消息顺序图 MSC符号定义如下: := is attached to * set := MSC头部由关键字“msc和MSC图名msc name组成,其定义如下: :=msc 消息顺序图 MSC主体域包括5

7、个层面:实例层instance layer 文本层text layer 通道定义层gate definition layer 事件层event layer 连接器层connector layer 每张MSC图的主体域由这5个层面的任意组合构成,其定义如下: := set实例层:用来说明MSC图中包含的实例的情况,包括实例类型、实例名及实例体等,这些由实例域给出。实例层包括零个到多个实例域,说明个别MSC图可以不包含实例。实例层的定义如下: := * set文本层: MSC图中的文本说明,是一个独立层,与其它层在逻辑上和图形符号上均无联系。文本层包括零个到多个文本域。文本层的定义如下: := *

8、 set 事件层 :由一个到多个事件域组成事件域按顺序上下排列事件层的定义如下: := | above MSC中共有三种事件域:实例事件域instance event area共享事件域shared event area创立域create area。 := /* 消息事件域 */| /* 方法调用事件域 */ | /* 回复事件域 */| /* 定时器域 */| /* 并发域 */| /* 方法域 */| /* 挂起域 */| /* 动作域 */ :=| /* 条件域 */| /* MSC引用域 */| /* 内部表达式域 */连接器层:描述连接两个实例的事件,包括消息域message are

9、a、未完成消息域incomplete message area、方法调用域method call area、回复域reply area等。 := * | * |* | * | * set简单MSC图的一般形式 :msc 建立连接的简单MSC图 MSC diagramMessage to the environmentMSC headingInstanceConditionOutput eventInput eventInstance endMessage实 例实例代表某种实体,具有该实体的所有属性。在SDL系统中,实体可以是系统、功能块或进程。在通信领域,实体可以是一个系统,也可以是某层协议实

10、体。实例由实例头部、实例轴、实例完毕符或实例终止符组成。实例图形的三种表示形式Instance head symbolinstance axis symbol instance stop symbol (a)(b)(c)实 例实例轴符有两种形式。同一张MSC图,同一个实例只能采用其中一种 。实例完毕符instance end symbol仅代表该实例需在本MSC图中要描述的局部的完毕,而不表示该实例的完毕。实例头部符号只表示该实例需在本MSC图中要描述的局部的开场,而不表示该实例的创立。终止符stop symbol表示该实例真正的完毕,终止符只适用于进程类型的实例。实例标题的三种表示形式 in

11、st inst:process digit instprocess digitinstance heading MSC支持的实例类型有:进程process类型、功能块block类型和系统system类型。实例分为简单实例和可分解实例decomposed 关键字decomposed表示该实例还需用另一个MSC图作进一步说明。如果分解后的MSC图采用别的图名,那么需在实例标题中给出该图名。 instdecomposed process digit decomposed inst decomposed as instmsc UserAccessUserACSystemdecomposed asAC_

12、UserAccesswhen IdleEstablishAccess(“Illegal PIN)CardOutwhen PINOK“Please EnterOpenDoorIdleoptMSC ReferenceInline expression包含分解实例的MSC图msc AC_UserAccessAuthorizerAccessPointdecomposed asAP_UserAccesswhen IdleAC_EstablishAccess(“Illegal PIN”)CardOutwhen PINOK“Please Enter”AC_OpenDoorIdleoptConsoleDeco

13、mposed instance实例展开后的MSC图 消 息在MSC图中,消息用来在两个实体之间或实例与环境之间交换信息。在两个实例之间交换一条消息可以看成两个事件:消息出message out和消息入message in 。两个事件共享一个消息名。消息用消息名来标识,可以带参数,参数列表中不用给出参数类型。MSC中无法表示把消息放入缓冲区的情况。两种与消息有关的异常: 输出消息丧失; 实例消耗“来历不明的消息,即输入异常消息。消 息Message nameincomplete message output set timertimeout消息丧失的例子MSC中无法表示把消息放入缓存区条 件MS

14、C图中条件condition可以描述: 全局状态global condition,涉及MSC图中所有实例 局部状态non-global condition,涉及MSC图中局部实例当局部状态只涉及MSC图中的一个实例时,称为本地状态local condition。条件的图形符号表示此条件不包括该实例条件不是判断,而是描述系统的全局/局部/本地的状态。定 时 器在MSC图中,定时器可以用来监视某一事件一般为等待接收消息的到达。定时器包括两个操作动作和一个事件,即:启动定时器、复位定时器和定时器超时。启动定时器就是在系统中创立一个定时器实例,该实例有个实例名定时器名,可以带参数,也可以给出定时间隔d

15、uration。定 时 器set timerreset timer设置定时器和复位定时器的例子定 时 器set timertimeout定时器超时的例子表示启动定时器的两种图形符号表示再启动定时器的图形符号表示复位定时器的两种图形符号表示定时器超时的几种图形符号定 时 器动 作动作指通信实体在通信过程中完成的某些操作动作符定义: :=is attached to contains 动作符描述的动作仅限于实例内部进 程 创 建 两种进程创立: 静态创立:系统初始化时创立的实例 动态创立:系统运行过程中创立的实例动态创立实例用进程创立符来描述进程创立符有箭头一端与被创立实例的实例头部相连。进程创立

16、符: 或进 程 终止 进程终止是指终止本进程实例,即执行了进程终止的进程实例在系统中就不存在了。 进程终止仅适用于进程类型的实例。一般来说,进程终止只适用于动态创立的进程实例。进程创立和进程终止的例子 Instance created with parameterInstance stop方法调用与回复 MSC图中实例间交互信息的一种形式。MSC中的方法是实例中的一个行为单元,具有独立的名称。一个实例中的方法可以由另一个实例来调用,方法的运行计算结果以回复的形式回送给调用者。调用和回复使用同一方法名。方法调用与回复均可带参数,使用同一个方法名。实例TC调用实例SUT中的方法“Method1 m

17、ethod areareplymethod callsuspension area环境与通道MSC图的主体是实例,MSC图的边框是MSC系统的环境。实例可以从环境输入消息,也可以向环境输出消息,实例与环境交互的消息通过通道来完成。每个通道都有一个通道名,通道名可以显式给出,即在图中直接给出通道名。也可以以隐式方式给出。隐式通道名由消息的方向和消息名来确定。环境与通道msc gates i j k MyMSC g h s1 s2 s3 s4 通道定义MSC构造概念 4.3.2 MSC引用 4.3.1 并发 4.3.3 线内表达式 并 发应用背景:某通信实体在某状态下需要接收到两条或多条消息后才能

18、往下进展,而这些消息到达的时间顺序是任意的,即实例消耗这些消息的顺序是任意的。作用:描述在实例轴上发生时间无序的事件并发只与单实例相关并发的不同表示形式并发符1并发符2并 发concurrent area Instance created with parameter并发的例子 MSC引用 MSC引用是指在MSC图中引用别的MSC图被引用的MSC图用一个引用符来表示,引用符上有实际通道,被引用的MSC通过这些实际通道与新的MSC图中的实例和环境交互信息。MSC引用符可以与多个实例轴相连。与本引用符无关的实例的实例轴可以穿过引用符。MSC引用不能递归进展。引用符: 引用别的MSC图的例子 被引用

19、的MSC图的例子 线内表达式 线内表达式inline expression作用:在MSC图中构造分支构造、并行构造、循环构造。线内表达式运算符:“alt交替、“opt可选项、“exc异常、“loop循环和“par并行。 线内表达式的符号:线内表达式符异常线内表达式符分隔符分支构造alt:两个区域内的内容是二选一的关系,非此即彼,不会同时出现。 分支构造alt的MSC图 两个区中间用虚线隔开 ICONrespICONconfICONFTICONreqICONindICONResponderTInitiatormscalternativewhen DisconnectedWait_For_Resp

20、altTIDISindDisconnectedConnected分支构造opt:“alt的一个特例,此时“alt线内表达式中第二个区域为空。分支构造exc:“alt的一个特例,其以下的局部被当成第二个区域的内容,须包含该MSC图中的所有实例。 exceptional case应该是虚线描述循环的MSC图 循环构造“loop:描述一些重复发生的事件 。 线内表达式的内容将循环假设干次 循环次数格式为:loop,表示至少循环n次,最多循环m次。 缺省值loop=loop具体实现的时候,重发是个定数而不是个范围。并行事件的例子并行构造“par:用来描述并行发生的事件 高级MSC概念作用:把一组MSC

21、图组合成更复杂的MSC图高级MSCHMSC是一个有向图。有向图由节点和连接节点的线构成连接节点的线:节点: 开场符: 完毕符: MSC引用符: 条件框: 连接点: 并行框:高级MSC举例1:顺序构造HMSC StartHMSC endMSC Reference高级MSC举例2:分支构造AlternativeLoop高级MSC举例3:并行构造MSC文档要把一个系统的所有“场景描述出来,需要假设干张MSC图。把这些图集中起来,就形成了MSC文档的主要内容。MSC文档定义本MSC系统用到的实例名、简单MSC图名、高级MSC图名、消息名及其参数、定时器和变量等。MSC文档内容包括:文档头、定义局部、

22、应用局部defining part area utility part area document head MSC文档的例子MSC应用举例 4.6.1 硬件构造与工作原理 4.6.2 需求分析 4.6.3 软件构造设计 4.6.4 消息定义 4.6.5 消息交互图 业务主叫交换机交换机启呼摘机拨号音拨号信号占用信号选择信号路由信号回铃音信号应答摘机应答信号通话复原挂机后向挂机信号前向拆线信号拆线证实信号复原挂机用户线被叫用户线发端局终端局中继线振铃信号局间信号用户线信号用户线信号 接续信令根本流程微型 交换机硬件构造示意图音信号交换网络主控CPU收号器用户电路收号器用户电路0127最多连接1

23、28个用户每个用户电路配有一个双音多频收号器不考虑出入局呼叫用户电路直接接入交换网硬件构造与工作原理硬件构造与工作原理微型 交换机软件系统特点:提供根本的呼叫处理功能和局部补充业务用户 号码采用四位编码,0到127号用户分别对应 号码3000到3127微型 交换机的工作原理可以通过一次完整的呼叫过程来描述。呼叫过程分成三个阶段: 连接建立阶段 通话阶段 连接释放阶段工作原理1连接建立阶段用户A摘机,交换机检测到用户A摘机后向用户A送拨号音用户A听到拨号音后输入用户B的 号码3位,交换机通过定期监测DTMF收号器接收这3位号码。交换机收到第1位号码后停拨号音交换机收齐号码后进展号码分析,判断用户

24、B的状态:如果用户B空闲,那么向用户B的话机振铃,同时向用户A送回铃音;如果用户B忙,那么向用户A送忙音;如果用户A所拨号码不是本交换机内的号码,那么向用户A送空号音用户B摘机应答后,交换机检测到用户B的动作后,停顿振铃,停送回铃音,通过交换网络把两个用户的话路接通。连接建立阶段完毕。被叫忙或空号情况下,用户A挂机,交换机检测到后,停送忙音或空号音,完毕本次呼叫工作原理2通话阶段在本阶段,交换机周期性地监测用户状态,一旦检测到用户挂机,就进入连接释放状态连接释放阶段:分为三种情况用户A先挂机,交换机检测到后,断开通话话路,向用户B送忙音;用户B挂机后,交换机停送忙音,本次呼叫过程完毕用户B先挂

25、机,交换机检测到后,断开通话话路,向用户A送忙音;用户A挂机后,交换机停送忙音,本次呼叫过程完毕用户A和用户B同时挂机,交换机断开通话话路,完毕本次呼叫交换机完成的主要工作: 用户摘挂机检测,交换机周期性地监测用户线状态; DTMF收号,及时接收用户所拨号码; 交换网络控制,通过交换网络向用户送各种音信号,连接话路等; 振铃控制,按一秒振,四秒停的节奏向用户送铃流; 号码分析,确定所拨用户号码的呼叫类型 ; 地址翻译,确定被叫用户逻辑号; 用户状态管理,用户状态:“忙、“空闲、“挂起。 呼叫处理,对整个呼叫过程进展控制。需求分析需求分析主要考虑交换机用户的要求用户在话机没有振铃的情况下拿起话机

26、手柄,应能及时听到拨号音300毫秒内;用户在话机振铃的情况下拿起话机手柄,应能与对方通话,同时停顿振铃;用户摘机后,应能通过话机按键输入被叫号码,输入第一位号码后交换机应及时停送拨号音;用户拨完四位号码后,如果对方空闲用户未使用话机,应能听到回铃音;如果对方忙用户正在使用话机或话机正在振铃,应能听到忙音;如果用户拨错号码,应能听到空号音;用户通过输入不同的号码,可以与其他127个用户中的任意一个通话;用户可以通过拨号设置或撤销呼叫转移;用户可以在接续过程中随时挂机,完毕呼叫;话机振铃时间不超过60秒,听拨号音时间不超过10秒,听回铃音时间不超过60秒,听忙音时间不超过40秒,听空号音时间不超过

27、40秒;用户输入号码时,两位号码之间的间隔不超过20秒;软件构造设计 本交换机的软件采用分层构造:应用层和接口层接口层负责与硬件有关局部的工作,完成以下功能:?仿真用户摘挂机检测,上报用户状态摘机或挂机;DTMF收号,上报收到的号码;音信号连接和断开;振铃控制和停振铃;话路连接和释放。 应用层负责与硬件无关局部的工作,完成以下功能:号码分析,对用户所拨号码进展分析,确定本次呼叫类型,包括内部呼叫、设置呼叫转移、撤销呼叫转移;地址翻译,根据主叫所拨号码确定被叫用户;用户状态管理,建立一张用户状态表,记录用户状态。呼叫处理,负责呼叫接续过程连接建立阶段和连接释放阶段的工作。 消息定义接口层发到应用

28、层的消息只有三条,定义如下:摘机消息off_hook(integer),参数:用户线逻辑号;其中:“off_hook是消息名,“integer是参数类型,下同。挂机消息on_hook(integer),参数:用户线逻辑号;号码消息digit(integer,integer),参数:用户线逻辑号,一位拨号号码 。消息定义应用层发到接口层的消息有:连接拨号音dial_tone(integer),参数:用户线逻辑号;连接回铃音ringback_tone(integer),参数:用户线逻辑号;连接空号音null_tone(integer),参数:用户线逻辑号;连接忙音busy_tone(integer

29、),参数:用户线逻辑号;停音信号stop_tone(integer),参数:用户线逻辑号;振铃 ringing_on(integer),参数:用户线逻辑号;停振铃 ringing_off(integer),参数:用户线逻辑号;连接话路 path_connect(integer,integer),参数:主叫用户线逻辑号,被叫用户线逻辑号;断开话路 path_disconnect(integer,integer),参数:主叫用户线逻辑号,被叫用户线逻辑号。消息交互图,MSC图 用MSC图给出接口层与应用层之间消息交互的情况:用户空闲、建立通话的情况被叫忙的情况空号的情况久叫不应振铃超时的情况振铃早

30、释主叫在听回铃音期间挂机的情况用户早释用户在拨号期间挂机的情况久不拨号主叫在拨号期间长时间未拨号的情况消息交互图 被叫空闲的情况用户摘机、听拨号音用户拨第一位号码、停拨号音用户拨后三位号码、听回铃音被叫忙的情况用户摘机、听拨号音用户拨第一位号码、停拨号音用户拨后三位号码、听忙音空号的情况用户摘机、听拨号音用户拨第一位号码、停拨号音用户拨后三位号码、听空号音上述三种情况的拨号过程完全一样,故可把拨号过程提取出来,画成单独的MSC图。三种情况都可以引用下面这张图。msc dialingapp_syswhen idledial_tone_ondigittone_offdigitinterfaceoff_hook(user_a)loopmsc seizureapp_syswhen idleseizure用户空闲的情况interfaceringing_on(user_b)ringback_tone_on(user_a)dialingT(60s)MSC Refe

温馨提示

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

评论

0/150

提交评论