李敬,夏勝吾
(廣州海格通信集團(tuán)股份有限公司,廣州510663)
基于點(diǎn)波束同步軌道衛(wèi)星實(shí)現(xiàn)的下一代某頻段衛(wèi)星移動(dòng)通信系統(tǒng),支持手持、車載、機(jī)載、船載等各型終端,以保障針對(duì)個(gè)人和移動(dòng)平臺(tái)的話音、傳真、數(shù)據(jù)、圖像等中低速移動(dòng)通信業(yè)務(wù)為主,可提升我國(guó)在搶險(xiǎn)救災(zāi)、反恐、維穩(wěn)等場(chǎng)景下的應(yīng)急通信能力,也可以滿足我國(guó)廣大人民群眾對(duì)個(gè)人衛(wèi)星移動(dòng)通信日益增長(zhǎng)的需求[1-4]。但是,衛(wèi)星移動(dòng)通信終端的開(kāi)發(fā)不同于地面蜂窩系統(tǒng)終端的開(kāi)發(fā),沒(méi)有大量成熟的基帶芯片可直接使用,必須自主進(jìn)行研發(fā)。本文對(duì)空口協(xié)議棧的形式化技術(shù)進(jìn)行了分析,提出了一種基于有限狀態(tài)機(jī)的協(xié)議棧開(kāi)發(fā)方法,能有效地保證協(xié)議開(kāi)發(fā)的正確性和完全性。
某頻段衛(wèi)星移動(dòng)通信系統(tǒng)的協(xié)議體系可分為如圖1所示三個(gè)部分:與衛(wèi)星有關(guān)層、與衛(wèi)星無(wú)關(guān)層和外部層,實(shí)現(xiàn)與衛(wèi)星有關(guān)的功能和與衛(wèi)星無(wú)關(guān)的功能的分離。與衛(wèi)星有關(guān)層包含鏈路適配層下部(與衛(wèi)星有關(guān)的適配功能)和物理層等;外部層包含應(yīng)用、應(yīng)用適配層等;與衛(wèi)星無(wú)關(guān)包含網(wǎng)絡(luò)協(xié)議層,鏈路適配層上部(與衛(wèi)星無(wú)關(guān)的適配功能)等[5-6]。
圖1 系統(tǒng)協(xié)議體系結(jié)構(gòu)
物理層:與地面移動(dòng)通信系統(tǒng)物理層所提供的服務(wù)類似,屬于系統(tǒng)分層協(xié)議的最低層,主要負(fù)責(zé)幀格式設(shè)計(jì)、邏輯信道的映射、無(wú)線鏈路質(zhì)量管理與控制、星地一體化的頻率和時(shí)間同步,同時(shí)在上層的控制下完成信道的建立、釋放以及信道上加密。
數(shù)據(jù)鏈路層:數(shù)據(jù)鏈路層的主要目的是在終端和衛(wèi)星網(wǎng)絡(luò)間建立可靠的專用數(shù)據(jù)鏈路。鏈路層的協(xié)議一方面要支持鏈路層數(shù)據(jù)報(bào)的檢錯(cuò)和糾錯(cuò),另一方面要加入控制功能,建立鏈路幀之間的流量控制、確認(rèn)和重發(fā)機(jī)制。
無(wú)線資源控制RR(Radio Resource Control)子層專門用于管理無(wú)線接口的功能協(xié)議組,主要任務(wù)是對(duì)每個(gè)申請(qǐng)通信的終端建立其與信關(guān)站之間的傳輸路徑和信令路徑,并負(fù)責(zé)在終端和信關(guān)站之間無(wú)線資源分配信息的交換以及越區(qū)切換信道的控制。
移動(dòng)管理 MM(Mobility Management)子層:MM 是建立在RR層之上用于處理移動(dòng)性和安全保密性的功能協(xié)議組,負(fù)責(zé)在終端和信關(guān)站之間用戶移動(dòng)性管理信息的交換。
通信連接管理CM(Connection Management)子層:CM位于上述兩組協(xié)議層之上,完成點(diǎn)到點(diǎn)傳輸路徑的建立和釋放,支持以交換信息為目的的通信。它由呼叫控制(CC)、補(bǔ)充業(yè)務(wù)(SS)、短消息業(yè)務(wù)(SMS)組成。呼叫控制(CC)具有移動(dòng)臺(tái)主呼(或被呼)的呼叫建立(或拆除)電路交換連接所必需的功能;補(bǔ)充業(yè)務(wù)(SS)支持呼叫的管理功能,如呼叫轉(zhuǎn)移、記費(fèi)等;短消息業(yè)務(wù)(SMS)是一種提供快速分組消息的傳輸業(yè)務(wù)。
協(xié)議各層不同功能過(guò)程的執(zhí)行是由特定的狀態(tài)決定的。以無(wú)線資源管理RR層為例,RR層有空閑模式,連接建立和釋放模式,連接模式。協(xié)議根據(jù)觸發(fā)事件驅(qū)動(dòng)狀態(tài)遷移,從而實(shí)現(xiàn)RR層的管理和各個(gè)功能間的協(xié)同通信。網(wǎng)絡(luò)端RR層的狀態(tài)如圖2所示。
圖2 無(wú)線資源管理層狀態(tài)轉(zhuǎn)移圖
某頻段衛(wèi)星移動(dòng)通信系統(tǒng)的空口高層協(xié)議存在功能強(qiáng)大、復(fù)雜度極高的特點(diǎn),所以在自主研發(fā)時(shí)需要尋找一種合適的開(kāi)發(fā)方法。一般對(duì)協(xié)議描述采用自然語(yǔ)言,但存在不嚴(yán)格、不精確等致命缺點(diǎn)。通信協(xié)議的形式化(Formal Methods)技術(shù),隨著網(wǎng)絡(luò)與分布式系統(tǒng)的迅速發(fā)展,也有了較大的進(jìn)步。在協(xié)議技術(shù)中,對(duì)協(xié)議實(shí)現(xiàn)的正確性、完全性和復(fù)雜度起到至關(guān)重要的影響的形式描述和驗(yàn)證技術(shù),是整個(gè)協(xié)議設(shè)計(jì)與實(shí)現(xiàn)的基礎(chǔ)。有限狀態(tài)機(jī)FSM(Finite State Machine)模型和Petri網(wǎng)(Petri Net)模型[8-9]是目前協(xié)議的形式化方法中比較典型的兩種模型。
協(xié)議形式化技術(shù)一般包括活動(dòng)性、安全性、有界性、完整性和可恢復(fù)性或同步性五大特性。
①活動(dòng)性:能使協(xié)議運(yùn)行時(shí)按照一定良性事件發(fā)生。
②安全性:指在協(xié)議運(yùn)行過(guò)程中不會(huì)有惡性事件出現(xiàn)。
③有界性:檢驗(yàn)協(xié)議的某些指數(shù)是否有界。
④完整性:檢驗(yàn)協(xié)議是否有遺漏的處理,以及有無(wú)異常接收等。
⑤可恢復(fù)性或自同步性:當(dāng)協(xié)議出現(xiàn)差錯(cuò)后,檢測(cè)是否能在有限步驟內(nèi)返回到正常狀態(tài)下執(zhí)行。
目前在各種形式描述技術(shù)(Formal Description Technique,F(xiàn)DT)中,有限狀態(tài)機(jī)是一種非常重要的形式描述技術(shù),它的主要優(yōu)點(diǎn)有直觀性強(qiáng)、可實(shí)現(xiàn)與其他形式方法的組合和轉(zhuǎn)換、且易于自動(dòng)實(shí)現(xiàn),是很多種形式化方法的基礎(chǔ)。有限狀態(tài)機(jī)在協(xié)議一致性測(cè)試中也是描述協(xié)議控制流最常用的形式化模型。因此,采用這一方式對(duì)協(xié)議進(jìn)行建模和開(kāi)發(fā)非常合適。
另一種重要的形式化模型是Petri網(wǎng)絡(luò),此模型在刻畫(huà)復(fù)雜系統(tǒng)時(shí)會(huì)異常繁瑣,對(duì)于描述協(xié)議的進(jìn)展情況非常不利,一般不會(huì)采用這一方法。因此,基于FSM的協(xié)議開(kāi)發(fā)技術(shù)非常適用于某頻段衛(wèi)星移動(dòng)通信協(xié)議這樣協(xié)議功能復(fù)雜的協(xié)議軟件開(kāi)發(fā)。
本節(jié)將以某頻段衛(wèi)星通信協(xié)議中無(wú)線資源管理RR實(shí)體連接狀態(tài)轉(zhuǎn)移的形式化描述、設(shè)計(jì)和實(shí)現(xiàn)過(guò)程為例,說(shuō)明FSM方法的基本流程。
采用FSM方法對(duì)協(xié)議進(jìn)行形式化描述、設(shè)計(jì)和實(shí)現(xiàn)的過(guò)程可分為5個(gè)步驟:上下文定義、進(jìn)程級(jí)分解、進(jìn)程事件枚舉、進(jìn)程事件響應(yīng)和代碼實(shí)現(xiàn)[8-9]。其中RR層實(shí)體連接流程的功能為:接收上層或本層的連接請(qǐng)求,接收低層的RR實(shí)體連接指示,完成RR實(shí)體的連接/釋放功能。每個(gè)步驟的具體說(shuō)明如下:
(1)上下文定義
在此步驟中,根據(jù)標(biāo)準(zhǔn)協(xié)議架構(gòu),RR層向MM層提供服務(wù),并根據(jù)自身狀態(tài)和接收的消息向?qū)Φ葘?shí)體發(fā)送消息,以此實(shí)現(xiàn)RR層狀態(tài)轉(zhuǎn)換,從而完成RR層實(shí)體的連接/釋放功能。
(2)進(jìn)程級(jí)分解
進(jìn)程級(jí)分解主要確定合適的進(jìn)程模型分解技術(shù)。RR進(jìn)程模型只需要采用單進(jìn)程模型即可滿足要求,因此RR層實(shí)體連接管理進(jìn)程采用單進(jìn)程模型。
(3)進(jìn)程事件枚舉
進(jìn)程事件枚舉主要分析與RR層實(shí)體連接相關(guān)的所有內(nèi)部觸發(fā)事件和外部觸發(fā)事件。與RR層實(shí)體相關(guān)的觸發(fā)事件如下圖3所示,有:連接建立超時(shí)、低層錯(cuò)誤、消息的發(fā)送、消息接收、服務(wù)請(qǐng)求和服務(wù)終止等。
圖3 協(xié)議觸發(fā)事件圖
根據(jù)以上協(xié)議觸發(fā)事件,列舉出所有事件如表1所示:
表1 觸發(fā)事件列表
(4)進(jìn)程事件響應(yīng)表
進(jìn)程事件響應(yīng)表主要針對(duì)RR層實(shí)體連接進(jìn)程模型,在不同狀態(tài)下,對(duì)各種事件的響應(yīng)行為采取的描述,事件和行為都是根據(jù)協(xié)議標(biāo)準(zhǔn)規(guī)定的。設(shè)計(jì)過(guò)程中,首先從初始狀態(tài)出發(fā),依次根據(jù)協(xié)議標(biāo)準(zhǔn)發(fā)掘構(gòu)造出所有狀態(tài)。迭代選擇其中一個(gè)狀態(tài),選擇一個(gè)所屬事件,然后根據(jù)事件再選擇一個(gè)轉(zhuǎn)換條件,并確定響應(yīng)的行為,由此來(lái)確定目標(biāo)狀態(tài),再把所有狀態(tài)的所有事件和轉(zhuǎn)換條件依次遍歷。
以下以空閑狀態(tài)和等待RR連接狀態(tài)為例進(jìn)行說(shuō)明。
①空閑狀態(tài)
表2 空閑狀態(tài)事件響應(yīng)表
②等待RR連接狀態(tài)
表3 等待RR連接狀態(tài)事件響應(yīng)表
(5)代碼實(shí)現(xiàn)
根據(jù)協(xié)議標(biāo)準(zhǔn),對(duì)事件響應(yīng)表中的進(jìn)程行為邏輯進(jìn)行檢查,以確定是否符合協(xié)議要求,確保功能的完整準(zhǔn)確無(wú)誤。然后再結(jié)合設(shè)計(jì)的狀態(tài)轉(zhuǎn)移圖和狀態(tài)行為表,按照標(biāo)準(zhǔn)模板編寫(xiě)C++代碼。
將有限狀態(tài)機(jī)應(yīng)用于某頻段衛(wèi)星移動(dòng)通信系統(tǒng)協(xié)議棧的開(kāi)發(fā)設(shè)計(jì)中,再結(jié)合有效的軟件設(shè)計(jì),對(duì)于系統(tǒng)的嚴(yán)謹(jǐn)性和完善性的提高都有促進(jìn)作用。對(duì)于通信系統(tǒng)而言,如何能有效全面地得以實(shí)現(xiàn),有效狀態(tài)機(jī)起著重要作用。采用有效狀態(tài)機(jī)的設(shè)計(jì)思想,從狀態(tài)轉(zhuǎn)移圖到狀態(tài)行為表,只要設(shè)計(jì)完整合理,保證狀態(tài)轉(zhuǎn)移正確,就可以達(dá)到預(yù)期的效果。