李敬,夏勝吾
(廣州海格通信集團股份有限公司,廣州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++代碼。
將有限狀態機應用于某頻段衛星移動通信系統協議棧的開發設計中,再結合有效的軟件設計,對于系統的嚴謹性和完善性的提高都有促進作用。對于通信系統而言,如何能有效全面地得以實現,有效狀態機起著重要作用。采用有效狀態機的設計思想,從狀態轉移圖到狀態行為表,只要設計完整合理,保證狀態轉移正確,就可以達到預期的效果。