謝 彬 吳俊偉 魏 駿
1(華東計算技術研究所 上海 200233)2(復旦大學計算機科學技術學院 上海 201203)3(上海申騰信息技術有限公司 上海 200040)
?
SCA核心框架優化設計技術研究
謝彬1吳俊偉2魏駿3
1(華東計算技術研究所上海 200233)2(復旦大學計算機科學技術學院上海 201203)3(上海申騰信息技術有限公司上海 200040)
軟件通信體系架構(SCA)是軍事通信領域重要的開放體系架構。針對當前SCA核心框架在應用層面存在的兼容性和輕量化問題,提出一種應用接口兼容的SCA核心框架優化設計方案,對SCA 核心框架接口進行優化裁剪,并重點在端口連接、XML解析、動態重構等方面進行優化設計和實現。通過測試驗證,達到了降低平臺資源消耗、提高系統啟動和部署效率的目的,實現了SCA核心框架的靈活、高效和兼容性設計。該研究成果對SCA相關技術成果的裝備化應用具有積極的意義。
軟件通信體系結構核心框架輕量化向后兼容性
軟件通信體系結構(SCA)是將計算機領域的面向對象、分布式中間件等技術應用于軍事通信,基于“軟總線”和波形組件化思想提出的一種開放體系設計架構。與傳統的軟件無線電設備相比,SCA軟件無線電設備系統升級維護簡單,互聯互通互操作能力強,應用開發和操作管理成本較低。目前國內外應用最廣的是2006年發布的SCA 2.2.2規范[1],在軍事通信領域美軍已經裝備了大量符合該規范要求的軟件無線電設備。
SCA 2.2.2規范雖然應用廣泛,然而在小型化軟件無線電設備研發領域,也遇到了不少質疑,如:SCA體系結構太龐大、功耗要求過高、CORBA中間件拖累了整個系統架構等一系列問題。特別是針對背負和手持等對尺寸、重量和功耗(SWaP)等資源要求極為嚴苛,同時又對系統性能有一定要求的通信平臺(如:單兵背負電臺、單兵手持電臺等軟件無線電設備),系統的體積、功耗和指標情況往往難以滿足系統設計要求。
2012年2月發布的SCA 4.0規范重新刻畫了操作系統、通信中間件、核心框架和應用之間的邏輯關系,對系統升級、輕量化和靈活性設計提供了更強的支持[2]。然而,由于具體設計實現方法的不同,SCA4.0版本的核心框架并不能從組件層面完全向后兼容SCA2.2.2波形應用。同時由于接口裁剪原則的隨意使用,增加了核心框架設計的復雜性,造成不同版本的SCA4.0核心框架實現之間互不兼容,無法實現波形應用的跨平臺移植。
2014年12月,美軍聯合戰術網絡中心(JTNC)發布了SCA 4.1規范草案,其軟件體系結構如圖1所示。
(1) 框架控制組件(CF)是應用軟件構件化設計和運行管理的基礎,為波形應用軟件開發者提供對底層軟件和硬件的高層次抽象。
(2) 傳輸機制為軟件組件間的數據通信提供標準化的客戶/服務端操作,軟件組件使用傳輸機制提供的接口和服務進行連接和數據交換。
(3) 應用環境描述(AEP)是SCA波形組件允許調用的操作系統接口集。
(4) 應用程序接口(API)是標準化波形應用程序接口,如:Packet、SerialDevice、MHAL、MOCB等。
SCA 4.1規范定義了輕量級/超輕量級的AEP,重新定義了可裁剪的管理組件和應用組件,擴展了“推”注冊模型,明確了對SCA2.2.2波形組件的控制能力。SCA4.1規范為解決向后兼容性問題提出基本的思路和方法,對核心框架的兼容性設計具有較強的參考價值。
1.1輕量化設計
SCA規范層面提供了核心框架接口的可裁剪性,所以,在不同的應用場景下,可以對核心框架接口進行定制裁剪,如:波形的安裝和刪除接口等。同時,可以將運行時XML域描述的DTD(document type definition)驗證功能轉移到開發階段進行,從而減少波形加載運行時的資源消耗。另外,為了盡量降低平臺軟件的資源占用,公共的平臺服務(如:日志服務、事件服務)也可以從輕量化平臺中裁減掉,而只保留必需的部分平臺設備(如:硬件抽象層設備)。
基于上述分析,本文對SCA標準級與輕量級平臺功能需求進行劃分。SCA標準級與輕量級平臺功能需求劃分如圖2所示。

圖2 SCA標準級與輕量級平臺功能需求劃分
圖2中,將SCA平臺標準級功能需求歸納為:實時操作系統應用環境描述(RTOS-AEP)、傳輸中間件、XML解析、注冊/注銷管理、連接管理、資源管理、靜態/動態部署、卸載管理、波形安裝/刪除、平臺設備、平臺服務、DTD驗證等功能點。而為小型化SCA平臺定制的輕量級功能需求只包括:RTOS-AEP、傳輸中間件、XML解析、注冊管理、連接管理、資源管理和靜態部署功能[4]。
1.2兼容性設計
為保證核心框架軟件向后兼容SCA2.2.2的波形應用,組件模型和組件接口必須進行兼容性設計。本文提出的核心框架的應用組件模型設計如圖3所示。

圖3 組件概念模型
圖3中,組件接口默認只是繼承LifeCycle接口,其他功能接口以條件繼承的方式供波形組件選擇使用,且都與SCA2.2.2規范保持兼容。端口連接器(PortAccessor)取代了SCA2.2.2規范中的PortSupplier和Port,具體參見2.3.2節端口連接機制優化。
基于上述對SCA核心框架功能需求的分析,本文提出的核心框架軟件功能模塊組成如圖4所示。

圖4 核心框架模塊組成
基礎模塊提供基本的域配置描述文件解析、連接管理、資源管理和波形開發公共庫支持。
核心模塊包括域管理器和波形控制器。其中,域管理器提供域控制與配置、波形管理、設備注冊和服務注冊功能;波形控制器提供波形靜態部署和波形參數設置與查詢功能。
基于上述分析,核心框架在具體設計實現時,將重點在核心框架接口和域描述文件上對SCA核心框架進行優化設計,并針對系統啟動時間、應用部署時間等關鍵應用指標進行優化定制。
2.1核心框架管理接口
核心框架在接口設計上,主要考慮到小型化軟件無線電設備規模小、互聯關系簡單的硬件特征,對SCA 2.2.2規范規定的核心框架接口進行部分裁剪,從而簡化SCA核心框架的管理流程,提高系統運行效能。另外,部分接口還參照SCA4.1規范進行優化設計。
對核心框架的接口裁剪主要包括:裁剪核心框架軟件中的ResourceFactory、AggregateDevice接口;裁剪掉設備管理器接口(DeviceManager)以及三個文件服務接口(File, FileSystem和FileManager),通過統一的域管理器來負責平臺設備和平臺服務的注冊管理,而文件服務接口通過調用本地RTOS提供的文件接口來替代。由于組件的注冊/注銷不再依賴于各個設備管理器,從而降低系統管理層次,提高核心框架軟件的執行效率。
本文實現的核心框架軟件IDL接口關系如圖5所示。

圖5 核心框架IDL接口關系
圖5中,基本應用接口包括:LifeCycle、ComponentIdentifier、ControllableComponent、PropertySet、PortAccessor、TestObject和Resource;框架控制接口包括:Application, ApplicationFactory、ComponentRegistry、ManagerRegistry、DomainManager;基本設備接口包括:Device,LoadableDevice, ExecutableDevice。
DomainManager組件負責對整個平臺域的控制與配置,以及波形應用、設備和服務的注冊管理,而波形的安裝/刪除功能則在開發階段拷貝到系統中,在系統啟動時進行靜態解析,并創建對應的應用工廠;邏輯設備組件實現Device接口,是對系統內部物理硬件設備的抽象和封裝;波形應用組件繼承實現Resource接口中創建、銷毀、啟動/停止和測試接口。
2.2描述文件設計
核心框架的域描述文件以配置描述符的形式存在,考慮到小型化戰術軟件無線電設備的技術需求特征,基于SCA 4.1規范,裁剪掉規范中規定的軟件組件描述(SCD)設備包描述(DPD)、平臺部署描述(PDD)和應用部署描述(ADD)。
對SCD的裁剪,主要是考慮到在資源受限的運行平臺上對原有的SCD描述的軟件組件提供和/或使用的接口信息進行驗證會影響系統性能,所以更改為只是在開發平臺中進行驗證。同時把DPD中描述的內容合并到設備對應的SPD中進行描述,而小型化戰術軟件無線電設備單通道的系統架構也決定了可以對PDD和ADD進行裁剪。
裁剪后的核心框架的域描述文件包括軟件集合描述符(SAD)、軟件包描述符(SPD)、設備配置描述符(DCD)、屬性描述符(PD)和域管理器配置描述符(DMD),它們之間的關系如圖6所示。

圖6 核心框架配置描述符關系圖
其中,SPD描述軟件組件的實現信息,為域管理器加載和管理組件提供支持;SAD描述一個應用中的多個組件是怎樣部署和互連的,一個SAD與一到多個SPD相聯系,SAD中的每一個組件都有對應的SPD;PD描述軟件和硬件的屬性信息,可適用于所有的組件;DCD描述了在設備上將初始化啟動多少個組件和怎樣得到核心框架域管理器,一個子設備如果不是任何設備的父設備,那么它的DCD為空,DCD中的每一個組件都有相應的SPD描述;DMD描述的是核心框架域管理器的配置信息。
2.3核心框架優化定制
針對核心框架的輕量化實現,在滿足圖2所示的SCA輕量級平臺功能需求外,必須考慮到系統的可靠性、啟動/部署時間等因素。為此,本文主要考慮了以下幾方面的內容:框架啟動過程優化、端口連接機制優化、靜態部署優化、XML解析優化和組件動態重構支持。
2.3.1啟動過程優化
在SCA2.2.2規范中,框架往往通過“拉”的接口設計獲取組件信息[5]。在SCA4.0規范以后,組件或波形啟動過程中可以借助“推”接口設計模型,主動將信息推送到框架管理組件,減少了操作流程,省去了部分的XML解析時間,從而大大降低框架管理組件和波形組件的啟動和部署時間,實現快速啟動。本文在核心框架軟件實現上采用了SCA4.1規范的設計思路,優化前后的資源組件初始化過程如圖7所示。

圖7 資源組件啟動過程優化示意圖[6]
2.3.2端口連接機制優化
在端口連接機制方面,SCA 4.1規范的接口設計也支持在兩個組件間通過一次接口調用建立多個端口的連接關系,從而縮短波形部署過程中的端口連接建立時間。
如圖6所示,左側是SCA 2.2.2規范的端口連接機制,采用getPort和connectPort操作接口,整個連接的建立需要8步操作才能完成。采用SCA 4.1規范中的PortAccessor接口后,結合提供者端口和使用者端口的具體屬性,通過在端口連接機制上進行改進,用getProvidesPorts和connectUsesPorts接口替代原有的操作接口,能夠使得整個連接的建立過程減少到5步操作就可以完成,具體流程如圖8右側所示。

圖8 端口連接優化[7]
2.3.3靜態部署優化
靜態部署是指波形組件的部署位置和平臺狀態相對確定的情況下,直接加載和部署波形的部署方式。在對波形應用部署時間指標要求嚴格的應用場景中,可以通過裁剪核心框架軟件在波形部署和卸載過程中不必要的條件判斷,從而實現靜態部署等方法,提高波形部署的執行效率。
針對靜態部署,可以采取如下的優化措施:
(1) 通過文件對比等條件判斷,避免重復部署時導致的不必要的文件拷貝;
(2) 波形靜態部署。在前期調試和維護階段,使用動態部署功能,保證波形的正常加載和部署;在系統交付運行后,使用靜態部署功能,刪除不必要的波形組件匹配度判斷、設備可加載能力判斷、可分配資源容量判斷等過程,最大程度降低波形部署時間。
2.3.4XML解析優化
在核心框架軟件的設計過程中,裁剪掉核心框架相應的DTD驗證功能,采用沒有DTD驗證功能的輕量級XML解析器,可以達到提高核心框架的域描述文件解析效率,進一步提升系統運行效能的目的。
由于在核心框架層裁剪掉了相應的DTD驗證功能,在波形開發過程中,往往需要借助集成開發環境對生成波形的XML描述文件進行自動生成和DTD驗證,從而有效避免波形在部署運行時由于XML文件格式異常導致的部署失敗。
2.3.5組件動態重構支持
為了避免由于波形運行過程中某個節點組件出現故障而導致整個波形需要重新換通道加載運行的問題,在系統設計過程中,一般要求核心框架支持波形組件的動態遷移功能。而組件級的動態遷移一直是SCA規范未曾涉及的內容,因為SCA規范中指定的波形組件間的端口連接在波形裝配時就已經確定,只能在波形開發階段進行修改,在波形安裝到目標系統中后就不能更改。這樣的后果是,如果某個節點上的組件發生故障,整個波形就不能夠正常運行,必須重新部署一個新的打包波形到備份通道中才能保持通信信道的持續暢通[8]。
本文提出的核心框架軟件在SCA組件級動態重構上的實現思路是:首先,在進行波形組件開發時,進行波形組件的部署位置和遷移位置的描述,并寫入到波形的裝配描述文件(SAD)中;在波形部署運行后,通過周期性(或用戶發起)的故障檢測例程對波形各個組件的運行狀態進行動態檢測,當檢測到某組件發生故障后,斷開該故障組件與其他正常組件間的端口連接關系,由核心框架按照波形SAD文件中的遷移位置描述,將該故障組件進行重新部署,并重新建立該新部署的組件與其他組件間的端口連接關系,進而重新啟動波形的運行,實現波形組件運行時的動態重構[9]。
本文提出的核心框架基于中國電子科技集團公司第三十二研究所的國產銳華(ReWorks)嵌入式實時操作系統和國產嵌入式實時中間件Lw-ReORB進行了技術實現,在通用數字信號處理模塊(ARM3359,主頻720 MHz、TI-6416和Xilinx FPGA)模塊上,通過開發和運行統一的測試波形應用(包括一個GPP裝配控制器組件、一個DSP組件和一個FPGA組件)進行了技術驗證,相關技術指標與同平臺的SCA2.2.2核心框架的對比結果如表1所示。其中,CF啟動時間是指從加載核心框架共享庫到域管理器、設備管理器和一個根設備完成啟動的時間;波形部署時間是指測試波形完成部署(create)操作的時間,包含加載DSP和FPGA程序的時間。

表1 測試結果對比表
實驗結果證明,通過對SCA核心框架的優化設計,系統啟動時間縮短了12%,波形部署時間降低了約10%,優化設計方法可行,達到了降低系統資源占用,提高了系統啟動和波形部署效率的目的,對SCA核心框架的輕量化設計具有較強的指導意義。
本文提出的核心框架優化設計方法是作者所在團隊基于前期SCA2.2.2規范的技術實現成果,結合SCA4.1規范的設計要求,按照輕量化和兼容性的設計原則,對SCA核心框架在技術實現上的一些思考和研究。
隨著國內外核心框架相關基礎軟件產品成熟度的不斷提升,必將在軍事通信領域為SCA軟件無線電技術的裝備化應用奠定更為堅實的基礎。
[1] Joint Tactical Radio System(JTRS)Standards. Software Communications Architecture Specification Version 2.2.2[S].2006-05.
[2] Joint Tactical Radio System(JTRS)Standards. Software Communications Architecture Specification Version 4.0[S].2012-02.
[3] Joint Tactical Networking Center (JTNC).SCA_4.1_DRAFT_ScaSpecification Version: 4.1[S].2014-12-31.
[4] 唐麒.小型化軟件通信體系結構的研究與實現[D].長沙:國防科技大學,2011:17-20.
[5] Ken Dingman Sr. Engineering Manager,Evaluation of SCA 4.1[R].2015-03-26.
[6] Thales.SCA 4.1: a promising future for the SDR eco-system[R].2015-03-26.
[7] Joint Program Executive Office Joint Tactical Radio System(JTRS).SCA Next-An Adaptive Architecture[R].2012-02-28.
[8] Andrew R Cormier.Dynamic reconfiguration of software defined radios using standard architectures[J].Physical Communication,2010(3):73-80.
[9] 鐘鵬飛,譚浩.一種運行時可重構的SCA規范兼容擴展方案[J].微計算機信息,2009(3):116-118.
ON OPTIMISATION DESIGN TECHNOLOGIES OF SCA CORE FRAMEWORK
Xie Bin1Wu Junwei2Wei Jun3
1(EastChinaInstituteofComputerTechnology,Shanghai200233,China)2(SchoolofComputerScience,FudanUniversity,Shanghai201203,China)3(ShanghaiShentengInformationTechnologyCo.,Ltd.,Shanghai200040,China)
Software communication architecture(SCA)is an important open architecture in military communication field. Considering the problem of incompatibility and lightweighting of SCA core framework at application level, in this paper we propose a solution of SCA core framework optimisation design with compatible application interfaces. The solution makes optimised trims on SCA core framework interfaces, and puts the emphases on the optimisation design and implementation in regard to the aspects of port connection, XML parsing and dynamic reconfiguration. It is verified through tests that the solution achieves the goals of reducing platform resource consumption, improving system-start and application-deployment efficiency, and realises the design of flexibility, efficiency and compatibility of SCA core framework. The study result in the paper has active significance on equipping application of correlated SCA technical outcomes.
SCACore frameworkLight-weightBackward compatibility
2015-07-30。謝彬,高工,主研領域:開放體系架構,大數據,基礎軟件。吳俊偉,高工。魏駿,工程師。
TP3
A
10.3969/j.issn.1000-386x.2016.08.036