張 超,李華君,周 元,李 強
(中國船舶集團有限公司第八研究院,南京211153)
現代戰爭中電子對抗的程度非常激烈,雷達的生存也變得越來越困難。[1]使用單部雷達進行各自為戰的探測以獲取空間信息的效果將變得越來越差。[2]依托現有裝備部署和協同作戰體系的不斷完善,在節約經濟成本的情況下實現雷達之間的最優配置[3],可提升某區域在復雜、對抗環境下傳感器體系的探測能力。通過優化設計協同組網探測系統的軟件架構,有效實現區域內傳感器資源統一調度控制和情報資源共享,形成統一戰場態勢,并有針對性地對重點目標進行綜合目標協同識別,形成體系合力,從而快速、有效地獲得目標信息是當前一項重要的研究課題。[4]
針對傳統的雷達組網系統軟件架構柔性不足,以及不便于對系統進行升級、擴展和維護的問題,本文采用開放式分層設計思想實現了基于插件的協同探測系統軟件,實現了協同組網探測系統顯示與數據處理高度解耦。協同組網探測系統軟件采用插件化和參數化設計,解決了軟硬件耦合程度高、功能模塊可重用程度低、研發周期長、系統升級難度大、維護成本高等問題,提高了系統的可維護性和可擴展性。
插件是按照統一接口規范編寫的一種程序,能夠動態地加入或退出系統,是插件式軟件系統的重要組成部分。插件式軟件系統通過在程序中插入大量的插件來增強系統功能,完善系統的能力。插件結構如圖1所示。

圖1 插件結構圖
一個使用插件結構的軟件由一個可執行程序和許多完成子功能的插件組成,主要分為宿主程序、插件、接口3個部分。插件式軟件系統主要有以下特點:
(1)降低系統的復雜度,提高軟件并行開發效率
將功能復雜的軟件系統分解為具有單一功能且耦合程度更低的插件集合,并根據插件間的組織關系和交互方式抽象出符合需求的策略文件,大大降低系統軟件的復雜程度,從而為快速構建大規模的軟件系統提供支持;得益于插件的獨立性,不同的軟件開發人員專注于不同插件的開發,大大縮短了軟件的研發周期,節約了研發成本,提高了軟件并行開發效率。
(2)提高系統的可擴展性和可維護性
傳統軟件的體系結構可重用性低且不易對功能模塊進行改進升級,無法適應用戶多變的需求。插件軟件系統通過動態地增加、減少或替換功能插件來實現系統的升級,而不影響整個系統的體系結構,提高了系統了可擴展性和可維護性。
(3)提高系統可重構能力
軟件系統可分解為插件、插件間組織關系和交互關系的集合,插件組織關系和交互關系以策略文件的形式進行描述。通過加載不同的插件或調整插件間組織關系對外提供不同的能力,從而提高了系統的動態重構能力,使得系統能夠適應動態多變的應用環境。
協同組網探測系統軟件的主要功能在于實現區域內某型雷達間協同探測,系統應具備以下幾點功能:
(1)具備對入網雷達的組網配置及管理功能;
(2)具備目標及環境特性分析、協同策略生成、協同方案擬定等信息處理功能;
(3)具備對重點目標進行引導探測、融合、定位及聯合識別功能;
(4)具備整合區域內雷達主、被動探測資源跨平臺遠程調度及探測功能;
(5)具備監控各雷達裝備的運行狀態,完成區域內探測信息的共享、整合、處理和集成,形成組網雷達綜合態勢顯示功能。
針對雷達組網系統的功能特點,本文提出了一種支持插件配置與組裝的開放式分層軟件體系結構框架。該體系結構以插件作為系統的基本功能單元,從整體上反映了軟件的組織結構、設計思想和數據交互。
軟件體系架構如圖2所示,從下至上依次是網絡接收層、協同處理層、協同調度層和綜合顯示層。

圖2 協同組網探測系統軟件體系架構
(1)網絡接收層對系統外部的各種數據源進行數據處理轉換和數據匯集分發,提高軟件顯示能力及異型產品間的接口適配能力。數據轉換實現了將外部數據源轉化為內部統一的數據格式,使得其他功能軟件只關注于功能和邏輯,同時將來自其他功能軟件的數據轉化為外部系統能夠識別的數據格式并下發;數據分發實現了系統對數據流的過濾和管理,大大減少了功能軟件之間的關聯復雜度,有利于軟件升級和系統維護。
(2)協同處理層主要實現多源數據整合、分析、加工、挖掘等處理,實現對各站主動探測目標進行匹配識別、被動探測的輻射源配對進行聯合協同快速定位,并將處理后結果發送至綜合顯示層進行數據信息的整合展示。
(3)協同調度層主要實現區域內資源協同調度,主要對接收到的航跡信息、輻射源信息和網內各雷達工作狀態等信息進行融合處理生成相應策略并下發,實現目標交接、協同定位、目標引導等功能。
(4)綜合顯示層主要根據雷達組網系統的功能,構建友好的用戶圖形界面,實現系統的人機交互功能、綜合顯示控制功能和管理維護功能,實現原始及加工信息的集成綜合顯示。用戶也可以根據個人喜好,改變軟件界面顯示風格。
分層軟件架構是一個具有高度擴展性的開放的系統架構,實現了系統的高度解耦。將協同組網探測系統劃分為帶有明確接口定義的功能層,保證了各層次之間的相對穩定與獨立,不需暴露層內的實現邏輯,減少了各層次之間的關聯復雜度。上下層之間通過消息傳遞,數據流從下層至上層傳遞,原始數據被逐漸抽象和融合后進行綜合顯示;控制命令從上層至下層傳遞,用來下發用戶發起的引導、協同定位和目標處理等命令。
分層軟件架構為系統重構提供了指導和約束。協同組網探測系統軟件采用插件化方法進行開發,在系統進行修改、維護或者功能擴展時只需修改、替換或添加相關插件而不影響其他軟件或整個系統的集成,使得系統能依據動態多變的戰場環境進行動態集成,大大提高了系統的重構能力。
根據插件功能與職責的不同,本項目給出一種插件的分層組織模式,將插件劃分為功能插件和服務插件,如圖3所示。

圖3 插件層次化組織結構
功能插件實現具體共性的、與業務無關的功能,具有較高的復用性。此類插件的特點是提供特定的顯示、計算或通信能力,主要包括態勢管理插件、坐標轉換插件、網絡通信插件、表頁擴展插件等。功能插件的物理實體是一個動態庫或靜態庫,并且以自定義接口形式向外暴露自身的能力。
服務插件實現具體領域相關的功能,組織多個功能插件,它可以調用功能插件的各個能力以便對外提供服務。服務插件是在功能插件的基礎上抽象出來的更高一層主體,它們之間相互協作,對外提供更為復雜的能力,主要包括態勢綜合顯示插件、平臺操控插件、網絡服務插件、可視化顯示插件等。服務插件物理實體是一個動態庫,支持動態加載,與系統集成框架接口統一,可以被系統集成框架識別管理。
系統軟件插件集成過程如圖4所示。根據協同組網探測系統軟件功能,協同組網探測系統包括綜合態勢顯控、綜合識別與數據庫、綜合協同調度、綜合協同處理和數據接口處理5個軟件實體。

圖4 插件集成過程
在開發設計階段,首先應分析系統各個軟件的組織架構,然后將其劃分為若干可由插件替換的軟件單元,并使用工具完成插件開發。在此階段還需抽取各插件之間的組織關系和交互方式,并對其進行形式化描述,生成具體的策略文件用以指導插件的具體交互行為。策略文件的實體是若干個XML(Extensible Markup Language,可擴展標記語言)文件,其內容主要包括插件名稱、插件唯一ID值、插件類型、插件大小以及插件位置和插件間交互方式的描述。
軟件集成框架是一個與插件統一接口的可執行程序,框架通過加載不同插件對外提供不同的服務并提供插件管理、插件能力注冊、插件通信服務、插件XML策略文件解析等功能。當進入系統運行階段,軟件集成框架加載、激活指定目錄下的插件,集成框架中解析控制模塊將加載并解析XML策略文件,并依據策略文件對插件進行基本信息配置,使插件根據策略文件既定的組織關系和交互方式進行插件間的自主協作,從而根據用戶需求實現了插件的自動化集成。
當用戶需求發生變化或有新功能插件加入系統時,用戶只需按照規則編寫新的策略文件,并將策略加載到框架中,系統即可在以后運行的過程中針對特定策略動態調整插件的組織關系和交互方式,從而改變系統的構態,適應動態變化的外部需求。
協同組網探測系統軟件以基于VPX架構的硬件平臺為運行載體,實現顯示與數據處理高度解耦的開放式軟件體系架構,實現基于統一數據源的協同數據處理模式,同時提供基于配置的數據接口層進行數據預處理、轉碼、整合、分發等,提高軟件的顯示能力及異型產品間的接口適配能力。遵循“系統功能軟件可配置”的思路,展開協同組網探測功能軟件的模塊化和參數化設計,為系統的可重構性和可擴展性奠定良好的基礎。
系統軟件采用插件化實現,開發準備階段依照應用需求,將系統軟件劃分為若干可相對完整、獨立的功能軟件。配置階段開發人員根據功能單元的特點抽象出相應能力,使用統一的開發方法生成相應插件;程序運行階段使用軟件集成框架對插件進行加載、卸載、激活、停用、查詢等管理,并提供插件間的通信服務。軟件集成框架對插件進行實例化加載,形成面向用戶需求的應用模式。使用插件開發方法增加了軟件的靈活性和可復用性,當某個插件出現問題時可以單獨修改此插件而不需要更改整個軟件,便于軟件的管理和維護。
系統運行情況如圖5所示。系統軟件的實現驗證了本文所提出系統軟件體系架構的有效性。系統完成了區域內3站6部某型雷達的資源協同調度,全局掌握及監控雷達各站點的運行狀態,實現各雷達的遠程引導及控制;完成了區域內主動探測信息的共享,建立目標航跡級的整合;完成了區域內被動探測信息的整合,根據協同需求生成協同策略;提供了基于分站/區域的多層次信息集成顯示界面,實現原始及加工信息的集成綜合顯示。系統以軟件體系架構為指導,通過復用、集成各種不同功能的插件,可以構建出面向不同應用需求的構態,以適應動態變換的作戰場景的需求。

圖5 協同組網探測系統態勢展示
本文依托和挖掘現役某型雷達協同探測功能,采用分層模式設計某海域戰場雷達協同組網探測系統軟件架構,實現了網絡接收、信息處理、協同調度、數據可視化的高度解耦;采用插件化思想開發系統軟件,提升了系統可復用性、可移植性及可靠性,形成基于配置的產品級軟件靈活重構,充分發揮了系統的協同探測能力。