当前位置:文档之家› 网络协议分析与设计4

网络协议分析与设计4

第四讲协议描述技术1内容MSC基础MSC结构高级MSCMSC文档2协议可以用自然语言、程序设计语言、形式描述语言、专用描述语言。

3形式描述语言可以分为协议通信行为和协议状态机描述。

下一讲SDL描述协议的系统结构和系统行为41.MSC概述MSC是什么MSC的特点MSC的实体类型MSC的文法5概述之一——MSC是什么MSC:Message Sequence ChartMSC(消息顺序图)是ITU-T Z.120建议给出的一种形式化语言,用于描述多个实体之间、实体与环境之间消息交互的顺序。

6概述之二——MSC的特点MSC是一种图形化语言:MSC的图形文法以二维图形来概括通信实例的行为。

MSC是一种形式化语言,采用自然语言和形式化记法MSC应用广泛:可用于所有具有信息交互的应用领域。

MSC支持结构化设计。

7概述之三——MSC的实体类型MSC的实体类型–MSC文档–MSC图–实例(instance)–条件(condition)–定时器(timer)–消息(message)–通道(gate)–变量(variable)8在同一视见域内,有些实体可以多次出现,如状态、定时器和消息等,多次出现的实体代表同一实体。

9概述之四——MSC的文法MSC的文法分为:–文本文法(textual grammar)–图形文法(graphical grammar)1011一组类似于BNF范式的符号< >:非终结符{ }:括号内的内容有关联性< >*:括号中的内容是可选的,可以为零次或多次< >+:表示括号内的内容是必选的,至少出现一次::=:定义符,左部为非终结符,右部为终结符、“/”、非终结符|:或符,符号两边的内容为并列关系1213contains (A包含B)MyMSC gis followed by(A紧跟着B)<instance area> ::=is attached to(相连)above<event layer> ::=<event area> | <event area> above <event layer>MyMSC g i j ks1s2set<text layer> ::={<text area>*} set表示文本层是一个text area的集合,且无顺序关系192.MSC基础MSC图消息条件定时器动作方法调用和回复20MSC基础——MSC图——概述21MSC基础——MSC图——组成<msc symbol> ::=<frame symbol>方框符is attached to{<def gate area>*} set23MSC基础——MSC图——头部+主体域24MSC基础——MSC图——主体域——实例层实例层主要用来说明MSC图中包含的实例的情况,包括实例类型、实例名及实例体等,这些由实例域给出。

<instance layer> ::={ <instance area>* } set实例层包括零个到多个实例域,说明个别MSC图可以不包含实例。

25MSC基础——MSC图——主体域——文本层文本层主要是MSC图中的文本说明,是一个独立层,与其它层在逻辑上和图形上均无联系。

<text layer> ::={ <text area>* } set文本层包括零个到多个文本域,说明不一定每张MSC图都包含文本域。

26MSC基础——MSC图——主体域——通道定义层<gate def layer> ::={ <def gate area>* } set27域——事件层事件层由一个到多个事件域组成,事件域按顺序上下排列。

<event layer> ::=<event area>| <event area> above<event layer><event area> ::=<instance event area>| <shared event area>| <create area>28域——事件层29域——事件层例如:从一个实例发送一条消息到另一个实例,这两个实例上分别对应两个消息事件,一个发,一个收,中间需要消息域连接两个事件。

30MSC基础——MSC图——主体域——事件层<shared event area> ::=<condition area>条件域|<msc reference area>MSC引用域|<inline expression area>线内表达式域31MSC基础——MSC图——主体域——连接器层32MSC基础——在MSC图中,在两个实例之间交互一条消息被定义为两个事件,即发送消息事件(对发送该消息的实例而言)和消耗事件(对接收并处理该消息的实例而言)。

一般情况下,事件发生的顺序是自顶向下的。

33MSC 基础——MSC 图(3)c a l l e d _p a r t yo f f _h o o kd i a l _t o ne _o nd i g i td i a l _t o ne _of fd i g i ts e i z u r e _i n ta c ki n t e r n a l _r i n g i n g _o nr i n g _b a c k _t o n e _o np r o c e s s d i g i t em s c c o n n e c t i o nc a l l i n g _p a r t y p r o c e s sd i g i t eS e i z u r eMSC基础——MSC实例实例代表某种实体,具有该实体的所有属性在SDL系统中,实体可以是系统、功能块或进程。

在通信领域,实体可以是一个系统,也可以是某层协议实体。

实例分为简单实例和可分解实例(decomposed)35MSC基础——MSC实例实例头部符号也只表示该实例需在本MSC图中要描述的部分的开始,而不是该实例的创建。

实例结束符仅代表该实例需在本MSC图中要描述的部分的结束,而不表示该实例的结束。

36MSC基础——MSC实例inst inst:process digitprocess digitinst37MSC基础——MSC实例inst decomposed process digit decomposedinstdecomposed as<new msc name>inst关键字decomposed表示该实例还需用另一个MSC图作进一步说明。

如果分解后的MSC图采用别的图名,则需在实例标题中给38出该图名。

39MSC 基础——MSC 消息消息用消息名来标识,可以带参数,参数列表中不用给出参数类型。

消息出事件与消息入事件共享一个消息名。

两种与消息有关的异常:–输出消息丢失;–实例消耗“来历不明”的消息,即输入异常消息。

40<message end area> ::=<message in area> | <actual in gate area>| <def out gate area> | <inline gate area>41MSC基础——MSC消息<lost message symbol> ::=42MSC基础——MSC消息ICONreqMSC基础——条件在MSC图中,条件(condition)描述系统的全局状态(global condition,涉及MSC图中所有实例)或局部状态(non-global condition,涉及MSC图中部分实例),当局部状态只涉及MSC图中的一个实例时,也成为本地状态(local condition)。

44MSC基础——定时器定时器包括两个操作(动作,启动定时器、复位定时器)和一个事件(定时器超时)。

启动定时器就是在系统中创建一个定时器实例,该实例有个实例名(定时器名),可以带参数,也可以给出定时间隔(duration)。

启动定时器又可分为启动和再启动两种,再启动是指定时器启动后,还未到规定的时间,系统也未对定时器做复位操作,系统重新启动该定时器,定时器的计时长度重新设置。

但一个定时器只能被再启动一次。

定时器由实例启动,所以定时器启动和再启动符的一端必须与定时器实例轴相连,另一端与终止符相连。

4546MSC 基础——定时器(2)表示启动定时器的图形符号表示再启动定时器的图形符号47MSC 基础——定时器表示复位定时器(终止符)的图形符号当启动符与终止符不便相连,用符号1(例如分两页时);且在符号边给出对应的定时器名表示定时器超时的图形符号48MSC 基础——定时器ICONreq ICONindICON ResponderT ICONrespICONconfICONF Initiator msc connectionConnectedMSC基础——通道每个通道都有一个通道名。

通道名可以显示给出,也可隐式给出。

隐式通道名由消息的方向和消息名来确定49MSC基础——通道显式定义的通道:g、h隐式定义的通道:out_s2、in_s3、out_s550。

相关主题