第4章协议形式描述语言精品PPT课件

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
定义ip必须指明ip的队列性质:common queue或individual queue。
多个模块使用同一个通道时,可使用自己 的单独队列,也可以共享队列。
输入输出
When语句从ip读一个事件,而output语句 往ip输出一个事件。
格式: when ip.m(aruements) output ip.m(aruements)
modvar
mv-1:模块头-A; mv-2:模块头-A;
initialize
begin Init mv-1 with 模块体-1; Init mv-2 with模块体-2; ……..
end
8
模块类别
模块分类
1. 非活跃模块:模块体内无状态转换部分的模块 2. 活跃模块:包括状态转换部分的模块 3. 特征模块:当一个模块头定义有多个模块体定义与之关联
网络协议工程
第4章 协议形式描述语言
4.1 引言 4.2 ESTELLE概述 4.3 LOTOS概述
2
4.1 引言
协议可用自然语言、程序设计语言或专用语言描述 自然语言描述有二义性,从协议到实现复杂 程序设计语言可读性差,而且表述能力差 专用语言有很多优点:形式化 形式化,即“模型化”和“抽象化”。 形式描述语言基于一种或几种数学模型,为充分表
6
module
模块头-A 模块类别
外部交互点说明;
输出变量说明
end;
body
模块体-1 for 模块头-A
通道说明; 内部交互点说明; 数据类型和变量说明; 模块状态定义; 过程和函数定义; 模块初始化部分; 状态转换部分;
end;
body 模块体-2 for 模块头-A
说明部分
7
模块实例
协议运行时,ESTELLE定义的一个模块体可同时生 成一个或多个模块实例,模块实体并可动态产生 和消失。同一个模块体的不同模块实例用模块变 量来标识,父模块实例初始化时负责子模块实例 的生成。
detach
格式:detach eip 或child -eip
14
联接端点
多个ip利用多个connect语句和attach语句 串行约束在一起可形成一条联接,联接两 端的ip即联接端点。
特征:进入一个联接端点的输入事件将自 动传递到另一端的联接端点的队列中,中 间ip的队列隐藏起来。
15
ip队列
4
4.2.1 模块概念
模块 模块实例 模块类别 模块嵌套规则 Specification模块
5
模块
模块的组成部分; 1. 模块头定义:一个模块头可有多个模块体
与之关联,包括外部交互点和输出变量 2. 模块体定义:说明部分(对模块所使用的
通道、内部交互点、数据类型和变量、模 块状态、调用过程和函数进行说明)、初 始化部分(说明模块初启动时个变量和模 块状态的初始值)和转换部分(关键部分, 按EFMS定义模块状态转换过程)
list):noexit= <behaviour-expression> endproc 说明: process endproc为关键词表示进程的开始和
结束 process-id为进程名;gate-list为门径表;
parameter-list为参数表 behaviour-expression为描述进程行为的表达式 Noexit表示该进程为非终止进程 exit为终止进程
9
模块嵌套规则
系统模块的父模块必须为非特征模块 特征系统模块的子模块必须为特征模块 同一级可有多个系统模块 非系统模块的子模块不能为系统模块 系统进程的子模块可为进程或活动模块,系统活动
的子模块必须为活动模块 进程模块的子模块必须为进程模块,活动模块的子
模块必须为活动模块 非活跃模块头定义可以不指明模块类别
10
4.2.2 模块通讯
通道 交互点 交互点的约束 联接端点 Ip队列
11
通道
包括通道名、通讯角色和个通讯角色向通道 施加交互信息。
一个通道两个通讯角色。 每个角色向通道发的交互信息、及各交互携
带的参数在通道定义中给出。
12
交互点ip
若一个模块要使用父模块定义的通道,必须 在模块头定义中给出交互点定义,这是外部 交互点,
实现的FDL ESTELLE有较强表达能力 ESTELLE描述的协议不易提取转变为TL和CSS
模型
19
4.3 LOTOS概述
进程定义 行为算子 抽象数据类型 门径 AB协议的LOTOS描述 LOTOS的特点和应用方法
20
4.3.1进程定义
定义: process process-id[gate-list](parameter-
16
4.2.3状态转换的描述
基于扩展有限状态机模型 描述语句: 转换的选择和执行:转换分成3种状态
enabled fireable offered
17
4.2.4AB协议ESTELLE的描述
18
4.2.Leabharlann Baidu ESTELLE的特点和应用方法
基于扩充EFSM的FDL,专为协议描述而设计 模块实例化可通过初始化语句动态产生 模块通讯为异步通讯 ESTELLE是pascal语言的扩充是一种面向协议
时,若至少有一个模块体内包含状态转换部分。
模块类别:
1. 系统进程模块:父模块必为非特征模块,父模块优先于子 模块,兄弟模块并发。
2. 系统活动模块:父模块必为非特征模块,子模块必为 activity,父模块优先于子模块,兄弟模块串行执行
3. 进程模块:必须为特征模块,子模块只能为进程模块 4. 活动模块:必须为特征模块,子模块只能为活动模块
述协议的各种特性(并发性、不确定性、时序性、递 归性等),为协议验证、协议实现、协议测试和协议 转换过程系统化和自动化提供了良好基础。
ISO: ESTELLE、LOTOS CCITT(ITU-T): SDL
3
4.2 ESTELLE概述
1 模块概念 2 模块通讯 3 状态转换的描述 4 AB协议的ESTELLE描述 5 ESTELLE的特点和应用方法
使用自己定义的通道,在模块定义这给出的 定义是内部交互点
13
交互点约束
connect
格式: connect ip -1 to ip -2 ip -1和ip -2是定义在同一个通道两端的交互点
disconnect
格式: disconnect ip -1或 ip -2
attach
格式: attach eip to child -eip
相关文档
最新文档