李敬,夏胜吾
(广州海格通信集团股份有限公司,广州510663)
基于点波束同步轨道卫星实现的下一代某频段卫星移动通信系统,支持手持、车载、机载、船载等各型终端,以保障针对个人和移动平台的话音、传真、数据、图像等中低速移动通信业务为主,可提升我国在抢险救灾、反恐、维稳等场景下的应急通信能力,也可以满足我国广大人民群众对个人卫星移动通信日益增长的需求[1-4]。但是,卫星移动通信终端的开发不同于地面蜂窝系统终端的开发,没有大量成熟的基带芯片可直接使用,必须自主进行研发。本文对空口协议栈的形式化技术进行了分析,提出了一种基于有限状态机的协议栈开发方法,能有效地保证协议开发的正确性和完全性。
某频段卫星移动通信系统的协议体系可分为如图1所示三个部分:与卫星有关层、与卫星无关层和外部层,实现与卫星有关的功能和与卫星无关的功能的分离。与卫星有关层包含链路适配层下部(与卫星有关的适配功能)和物理层等;外部层包含应用、应用适配层等;与卫星无关包含网络协议层,链路适配层上部(与卫星无关的适配功能)等[5-6]。
图1 系统协议体系结构
物理层:与地面移动通信系统物理层所提供的服务类似,属于系统分层协议的最低层,主要负责帧格式设计、逻辑信道的映射、无线链路质量管理与控制、星地一体化的频率和时间同步,同时在上层的控制下完成信道的建立、释放以及信道上加密。
数据链路层:数据链路层的主要目的是在终端和卫星网络间建立可靠的专用数据链路。链路层的协议一方面要支持链路层数据报的检错和纠错,另一方面要加入控制功能,建立链路帧之间的流量控制、确认和重发机制。
无线资源控制RR(Radio Resource Control)子层专门用于管理无线接口的功能协议组,主要任务是对每个申请通信的终端建立其与信关站之间的传输路径和信令路径,并负责在终端和信关站之间无线资源分配信息的交换以及越区切换信道的控制。
移动管理 MM(Mobility Management)子层:MM 是建立在RR层之上用于处理移动性和安全保密性的功能协议组,负责在终端和信关站之间用户移动性管理信息的交换。
通信连接管理CM(Connection Management)子层:CM位于上述两组协议层之上,完成点到点传输路径的建立和释放,支持以交换信息为目的的通信。它由呼叫控制(CC)、补充业务(SS)、短消息业务(SMS)组成。呼叫控制(CC)具有移动台主呼(或被呼)的呼叫建立(或拆除)电路交换连接所必需的功能;补充业务(SS)支持呼叫的管理功能,如呼叫转移、记费等;短消息业务(SMS)是一种提供快速分组消息的传输业务。
协议各层不同功能过程的执行是由特定的状态决定的。以无线资源管理RR层为例,RR层有空闲模式,连接建立和释放模式,连接模式。协议根据触发事件驱动状态迁移,从而实现RR层的管理和各个功能间的协同通信。网络端RR层的状态如图2所示。
图2 无线资源管理层状态转移图
某频段卫星移动通信系统的空口高层协议存在功能强大、复杂度极高的特点,所以在自主研发时需要寻找一种合适的开发方法。一般对协议描述采用自然语言,但存在不严格、不精确等致命缺点。通信协议的形式化(Formal Methods)技术,随着网络与分布式系统的迅速发展,也有了较大的进步。在协议技术中,对协议实现的正确性、完全性和复杂度起到至关重要的影响的形式描述和验证技术,是整个协议设计与实现的基础。有限状态机FSM(Finite State Machine)模型和Petri网(Petri Net)模型[8-9]是目前协议的形式化方法中比较典型的两种模型。
协议形式化技术一般包括活动性、安全性、有界性、完整性和可恢复性或同步性五大特性。
①活动性:能使协议运行时按照一定良性事件发生。
②安全性:指在协议运行过程中不会有恶性事件出现。
③有界性:检验协议的某些指数是否有界。
④完整性:检验协议是否有遗漏的处理,以及有无异常接收等。
⑤可恢复性或自同步性:当协议出现差错后,检测是否能在有限步骤内返回到正常状态下执行。
目前在各种形式描述技术(Formal Description Technique,FDT)中,有限状态机是一种非常重要的形式描述技术,它的主要优点有直观性强、可实现与其他形式方法的组合和转换、且易于自动实现,是很多种形式化方法的基础。有限状态机在协议一致性测试中也是描述协议控制流最常用的形式化模型。因此,采用这一方式对协议进行建模和开发非常合适。
另一种重要的形式化模型是Petri网络,此模型在刻画复杂系统时会异常繁琐,对于描述协议的进展情况非常不利,一般不会采用这一方法。因此,基于FSM的协议开发技术非常适用于某频段卫星移动通信协议这样协议功能复杂的协议软件开发。
本节将以某频段卫星通信协议中无线资源管理RR实体连接状态转移的形式化描述、设计和实现过程为例,说明FSM方法的基本流程。
采用FSM方法对协议进行形式化描述、设计和实现的过程可分为5个步骤:上下文定义、进程级分解、进程事件枚举、进程事件响应和代码实现[8-9]。其中RR层实体连接流程的功能为:接收上层或本层的连接请求,接收低层的RR实体连接指示,完成RR实体的连接/释放功能。每个步骤的具体说明如下:
(1)上下文定义
在此步骤中,根据标准协议架构,RR层向MM层提供服务,并根据自身状态和接收的消息向对等实体发送消息,以此实现RR层状态转换,从而完成RR层实体的连接/释放功能。
(2)进程级分解
进程级分解主要确定合适的进程模型分解技术。RR进程模型只需要采用单进程模型即可满足要求,因此RR层实体连接管理进程采用单进程模型。
(3)进程事件枚举
进程事件枚举主要分析与RR层实体连接相关的所有内部触发事件和外部触发事件。与RR层实体相关的触发事件如下图3所示,有:连接建立超时、低层错误、消息的发送、消息接收、服务请求和服务终止等。
图3 协议触发事件图
根据以上协议触发事件,列举出所有事件如表1所示:
表1 触发事件列表
(4)进程事件响应表
进程事件响应表主要针对RR层实体连接进程模型,在不同状态下,对各种事件的响应行为采取的描述,事件和行为都是根据协议标准规定的。设计过程中,首先从初始状态出发,依次根据协议标准发掘构造出所有状态。迭代选择其中一个状态,选择一个所属事件,然后根据事件再选择一个转换条件,并确定响应的行为,由此来确定目标状态,再把所有状态的所有事件和转换条件依次遍历。
以下以空闲状态和等待RR连接状态为例进行说明。
①空闲状态
表2 空闲状态事件响应表
②等待RR连接状态
表3 等待RR连接状态事件响应表
(5)代码实现
根据协议标准,对事件响应表中的进程行为逻辑进行检查,以确定是否符合协议要求,确保功能的完整准确无误。然后再结合设计的状态转移图和状态行为表,按照标准模板编写C++代码。
将有限状态机应用于某频段卫星移动通信系统协议栈的开发设计中,再结合有效的软件设计,对于系统的严谨性和完善性的提高都有促进作用。对于通信系统而言,如何能有效全面地得以实现,有效状态机起着重要作用。采用有效状态机的设计思想,从状态转移图到状态行为表,只要设计完整合理,保证状态转移正确,就可以达到预期的效果。