葉上華,李雪源,陳朋瑞
(航空工業西安航空計算技術研究所,陜西 西安 710068)
隨著綜合模塊化航電子系統(Intergrated Modular Avionics,IMA)的發展,軟件加卸載和更新維護的需求日益增加,因此ARINC615A數據加載通信協議規定了航空電子系統數據加卸載行為,其中包括查找信息、上傳以及下載功能涉及的通信過程和格式,但通信協議缺乏對所上傳數據進行校驗的機制,因此航空電子系統中運行的軟件可能會存在與機上軟硬件不兼容的風險,造成航空電子系統運行故障,甚至導致安全事故[1]。本文提出基于ARINC615A數據加載通信協議的數據加載軟硬件兼容性校驗方法,該方法針對IMA系統中的通用處理模塊(General Processing Module,GPM)設計了一種可加載映射表,利用可加載映射表改進上傳通信過程使其具有校驗機制,最后實現了軟件核心功能[2]。改進后的上傳通信通過識別出與航空電子系統不兼容的數據文件拒絕其上傳,進一步保障航空電子系統運行的可靠性和安全性。
綜合模塊化航空電子系統是一個分布式的計算平臺,由機柜和標準化的硬件模塊組成,包括GPM、交換機模塊以及遠程數據集中器。系統中的設備通過實時可靠的航空電子全雙工交換式以太網(Avionics Full Duplex Switched Ethernet,AFDX)進行通信,其中GPM模塊支持數據計算功能,交換機模塊支持數據傳輸功能,遠程數據集中器將傳感器等設備信號經由交換機傳至GPM進行數據計算。IMA系統的駐留應用軟件運行在GPM模塊上,GPM采用實時操作系統為駐留應用軟件提供可計算的資源。隨著應用規模的不斷擴大,一個航空電子駐留應用往往由運行在不同GPM中的多個軟件功能構成,這些應用軟件功能按照空間和時間2個因素進行分區,因此駐留應用又稱為分區應用[3]。空間分區指每個分區由模塊集成者根據空間分隔需求為每個分區分配最大數量的資源;時間分區通過配置表為每個模塊中的軟件功能靜態分配時間片。時間片的分配具有周期性和固定性,因此每個分區應用功能都在特定時間周期內執行。
數據加載分區應用軟件采用ARINC615A數據加載通信協議滿足IMA系統對維護軟件的加卸載要求。ARINC615A數據加載通信協議是由運行在AFDX網絡中的地面端加載器和目標機即GPM模塊組成。地面端加載器運行數據加載客戶端軟件,GPM模塊運行數據加載分區應用軟件。數據加載客戶端軟件和數據加載分區應用軟件根據ARINC615A數據加載通信協議的規定進行大量的消息通信,共同完成以下功能。
(1)查詢功能。數據加載分區應用軟件接收數據加載客戶端軟件的查詢請求,獲取目標機硬件信息并組織查詢應答包發送給數據加載客戶端軟件,以完成加載器對目標機的查找。
(2)信息功能。數據加載分區應用軟件接收數據加載客戶端軟件的信息請求,通過信息功能來告知當前目標機名稱、序列號以及軟件名稱等相關設備信息。
(3)上傳功能。數據加載分區應用軟件接收數據加載客戶端軟件的上傳請求后,從該請求包中得到加載器所要上傳的文件列表,通過解析文件列表,數據加載分區應用軟件依次請求數據加載客戶端軟件上傳的數據文件,從而實現獲取數據文件的目的。
(4)下載功能。數據加載分區應用軟件接收數據加載客戶端軟件的下載請求后,通過向加載器發送目標機所有的文件列表,由數據加載客戶端軟件對需要下載的文件進行選擇,或者由目標機直接接收數據加載客戶端軟件所需要下載的文件列表請求,而后數據加載分區應用軟件將需要下載的數據文件發送給數據加載客戶端軟件。
數據加載分區應用軟件為IMA系統提供軟件更新維護的功能,使得GPM模塊可以上傳和下載數據。本小節提出可加載映射表的設計思想,將其作為兼容性校驗的標準,通過判斷待上傳的加載項是否與GPM模塊軟硬件兼容,從而決定是否允許其進行上傳通信。利用可加載映射表對上傳通信進行改進,使上傳通信具有校驗機制。
可加載映射表針對IMA系統的GPM模塊設計,包含一個模塊可兼容的所有加載項信息。每個加載項均具有多種屬性,如加載項名稱、描述和所占存儲空間大小等。本文經過梳理,提煉出7個屬性作為兼容性校驗的關鍵屬性,分別是硬件兼容碼和可加載項配置信息。硬件兼容碼包含機柜位置和模塊位置2個關鍵屬性,根據機柜位置和模塊位置可以確定可加載映射表所在模塊的相關信息,凡是不滿足該硬件屬性的加載項均被拒絕上傳。可加載項配置信息包含5個屬性,分別是可加載項名稱、可加載項ID、可加載項的平臺主版本號、平臺次版本號以及應用程序版本號。其中,可加載項名稱和可加載項ID可以唯一識別一個特定的可加載項,其余的3個關鍵屬性則可以依次得出平臺版本和應用版本的控制信息。
GPM模塊的可加載映射表是由硬件兼容碼和多個可加載項配置信息2個部分內容組成的二進制文件,結構如圖1所示。

圖1 可加載映射表結構
對于每個待上傳的加載項,其必須符合可加載軟件飛機零部件(Loadable Software Airplane Parts,LSAP)的格式規定。LSAP包含1個頭文件和1個或多個數據文件,根據使用需求選擇是否提供支持文件,支持文件包含數據文件的配置信息。IMA系統要求必須提供支持文件。根據所提出的關鍵屬性,結合支持文件和可加載映射表,對于特定的加載項,GPM模塊的數據加載分區應用軟件利用支持文件中的加載項信息和可加載映射表對比,就可以確定該加載項是否被目標機兼容。
根據所提出的可加載映射表,對ARINC615A通信協議的上傳通信進行改進。上傳通信就是從地面端數據加載器到目標機數據加載分區應用軟件上傳文件的消息通信過程,本文利用可加載映射表使其能夠識別出不符合GPM模塊軟硬件兼容的加載項并拒絕上傳。為方便表述,將改進后的上傳通信稱為可校驗上傳通信。
ARINC615A通信協議的上傳功能包括3個階段,如圖2所示。初始化階段用于目標機與地面端加載器的通信狀態初始化,目標機應根據其當前狀態決定是否接受上傳通信請求,并將結果發送給地面端加載器。列表傳輸階段目標機應獲取地面端加載器的上傳文件列表,表中包含地面端加載器給目標機的上傳文件名。文件傳輸階段目標機應接收地面端加載器發送給目標機的數據文件[4]。

圖2 ARINC615A協議上傳通信過程
上傳通信的3個階段都會產生相應的消息,地面端加載器和目標機數據加載分區應用軟件通過大量的協議文件交互完成此功能。可校驗上傳通信在列表傳輸階段添加軟硬件校驗機制,列表傳輸階段目標機接收到頭文件以后進行解析,按照ARINC615A協議的規定,此時需要獲取數據文件的名稱,然后依次向地面端加載器發起數據文件傳輸請求,但改進后的列表傳輸階段則會通過解析頭文件獲取支持文件的名稱,通過向地面端加載器請求支持文件獲取加載項的配置信息,而后對支持文件進行解析。首先,支持文件中加載項的機柜位置、模塊位置應與可加載映射表中可加載項的硬件兼容碼相同;其次,支持文件中加載項的主平臺版本號應與可加載映射表中可加載項的主平臺版本號相同,所有加載項都應具有相同的主平臺版本號;再次,支持文件中加載項的次平臺版本號應小于或等于可加載映射表中可加載項的次平臺版本號,每個可加載項的次平臺版本號可能具有差異;最后,支持文件中加載項的應用程序版本號應等于可加載映射表中可加載項的應用程序版本號。通過解析支持文件和可加載映射表,當所有加載項滿足兼容條件時才會進入文件傳輸階段,否則本次上傳通信因存在軟硬件不兼容的加載項而結束。
為了驗證可校驗上傳通信功能的可行性,本文對目標端數據加載分區應用軟件的基本功能進行實現。數據加載分區應用軟件采用分層設計的邏輯架構,通過對數據加載分區應用軟件功能的分析,對其進行結構化劃分,最終完成整個應用的設計。軟件架構如圖3 所示[5]。

圖3 數據加載分區應用軟件架構
數據加載分區應用軟件自頂向下分為應用層和協議層。應用層通過調用協議層接口完成任務啟動終止以及各類協議和軟件的初始化、目標機配置管理接口調用等。協議層包括ARINC615A通信協議、ARINC 665 協議以及簡單文件傳輸協議(Trivial File Transfer Protocol,TFTP)[6,7]。TFTP 協議是實現文件傳輸所遵循的規定,包括讀文件請求、寫文件請求、發送文件以及接收文件等。數據加載分區應用軟件和加載端軟件進行通信的文件格式定義遵循ARINC665協議,包含對通信過程中文件的結構體定義、生成、解析以及文件生成后或解析時用到的數據完整性、正確性的校驗算法等。通信過程核心功能的實現則符合ARINC615A協議的規定,包括實現應用層調用所需的接口、對數據加載通信協議流程的處理以及上傳通信及其他功能的實現。
在此對可校驗的上傳通信涉及到的函數接口進行介紹,如表1所示。

表1 可校驗的上傳通信函數接口說明
整個過程中,接口函數互相配合調用來保證數據通信完整正確的執行。實驗結果表明,數據加載分區應用軟件功能正常、運行穩定,滿足預期設計。
通過研究ARINC615A數據加載通信協議的上傳通信過程,設計出適用于IMA系統的可加載映射表,改進了ARINC615A數據加載通信協議的上傳通信,使其具有數據加載兼容性校驗功能,實現了整個數據加載分區應用軟件,充分保證了綜合模塊化航空電子系統上傳文件的可用性和正確性,提高了系統的可靠性和安全性。在今后的研究中還需繼續探索,進一步優化數據加載校驗方法的性能。