張 超,李華君,周 元,李 強(qiáng)
(中國(guó)船舶集團(tuán)有限公司第八研究院,南京211153)
現(xiàn)代戰(zhàn)爭(zhēng)中電子對(duì)抗的程度非常激烈,雷達(dá)的生存也變得越來(lái)越困難。[1]使用單部雷達(dá)進(jìn)行各自為戰(zhàn)的探測(cè)以獲取空間信息的效果將變得越來(lái)越差。[2]依托現(xiàn)有裝備部署和協(xié)同作戰(zhàn)體系的不斷完善,在節(jié)約經(jīng)濟(jì)成本的情況下實(shí)現(xiàn)雷達(dá)之間的最優(yōu)配置[3],可提升某區(qū)域在復(fù)雜、對(duì)抗環(huán)境下傳感器體系的探測(cè)能力。通過優(yōu)化設(shè)計(jì)協(xié)同組網(wǎng)探測(cè)系統(tǒng)的軟件架構(gòu),有效實(shí)現(xiàn)區(qū)域內(nèi)傳感器資源統(tǒng)一調(diào)度控制和情報(bào)資源共享,形成統(tǒng)一戰(zhàn)場(chǎng)態(tài)勢(shì),并有針對(duì)性地對(duì)重點(diǎn)目標(biāo)進(jìn)行綜合目標(biāo)協(xié)同識(shí)別,形成體系合力,從而快速、有效地獲得目標(biāo)信息是當(dāng)前一項(xiàng)重要的研究課題。[4]
針對(duì)傳統(tǒng)的雷達(dá)組網(wǎng)系統(tǒng)軟件架構(gòu)柔性不足,以及不便于對(duì)系統(tǒng)進(jìn)行升級(jí)、擴(kuò)展和維護(hù)的問題,本文采用開放式分層設(shè)計(jì)思想實(shí)現(xiàn)了基于插件的協(xié)同探測(cè)系統(tǒng)軟件,實(shí)現(xiàn)了協(xié)同組網(wǎng)探測(cè)系統(tǒng)顯示與數(shù)據(jù)處理高度解耦。協(xié)同組網(wǎng)探測(cè)系統(tǒng)軟件采用插件化和參數(shù)化設(shè)計(jì),解決了軟硬件耦合程度高、功能模塊可重用程度低、研發(fā)周期長(zhǎng)、系統(tǒng)升級(jí)難度大、維護(hù)成本高等問題,提高了系統(tǒng)的可維護(hù)性和可擴(kuò)展性。
插件是按照統(tǒng)一接口規(guī)范編寫的一種程序,能夠動(dòng)態(tài)地加入或退出系統(tǒng),是插件式軟件系統(tǒng)的重要組成部分。插件式軟件系統(tǒng)通過在程序中插入大量的插件來(lái)增強(qiáng)系統(tǒng)功能,完善系統(tǒng)的能力。插件結(jié)構(gòu)如圖1所示。
圖1 插件結(jié)構(gòu)圖
一個(gè)使用插件結(jié)構(gòu)的軟件由一個(gè)可執(zhí)行程序和許多完成子功能的插件組成,主要分為宿主程序、插件、接口3個(gè)部分。插件式軟件系統(tǒng)主要有以下特點(diǎn):
(1)降低系統(tǒng)的復(fù)雜度,提高軟件并行開發(fā)效率
將功能復(fù)雜的軟件系統(tǒng)分解為具有單一功能且耦合程度更低的插件集合,并根據(jù)插件間的組織關(guān)系和交互方式抽象出符合需求的策略文件,大大降低系統(tǒng)軟件的復(fù)雜程度,從而為快速構(gòu)建大規(guī)模的軟件系統(tǒng)提供支持;得益于插件的獨(dú)立性,不同的軟件開發(fā)人員專注于不同插件的開發(fā),大大縮短了軟件的研發(fā)周期,節(jié)約了研發(fā)成本,提高了軟件并行開發(fā)效率。
(2)提高系統(tǒng)的可擴(kuò)展性和可維護(hù)性
傳統(tǒng)軟件的體系結(jié)構(gòu)可重用性低且不易對(duì)功能模塊進(jìn)行改進(jìn)升級(jí),無(wú)法適應(yīng)用戶多變的需求。插件軟件系統(tǒng)通過動(dòng)態(tài)地增加、減少或替換功能插件來(lái)實(shí)現(xiàn)系統(tǒng)的升級(jí),而不影響整個(gè)系統(tǒng)的體系結(jié)構(gòu),提高了系統(tǒng)了可擴(kuò)展性和可維護(hù)性。
(3)提高系統(tǒng)可重構(gòu)能力
軟件系統(tǒng)可分解為插件、插件間組織關(guān)系和交互關(guān)系的集合,插件組織關(guān)系和交互關(guān)系以策略文件的形式進(jìn)行描述。通過加載不同的插件或調(diào)整插件間組織關(guān)系對(duì)外提供不同的能力,從而提高了系統(tǒng)的動(dòng)態(tài)重構(gòu)能力,使得系統(tǒng)能夠適應(yīng)動(dòng)態(tài)多變的應(yīng)用環(huán)境。
協(xié)同組網(wǎng)探測(cè)系統(tǒng)軟件的主要功能在于實(shí)現(xiàn)區(qū)域內(nèi)某型雷達(dá)間協(xié)同探測(cè),系統(tǒng)應(yīng)具備以下幾點(diǎn)功能:
(1)具備對(duì)入網(wǎng)雷達(dá)的組網(wǎng)配置及管理功能;
(2)具備目標(biāo)及環(huán)境特性分析、協(xié)同策略生成、協(xié)同方案擬定等信息處理功能;
(3)具備對(duì)重點(diǎn)目標(biāo)進(jìn)行引導(dǎo)探測(cè)、融合、定位及聯(lián)合識(shí)別功能;
(4)具備整合區(qū)域內(nèi)雷達(dá)主、被動(dòng)探測(cè)資源跨平臺(tái)遠(yuǎn)程調(diào)度及探測(cè)功能;
(5)具備監(jiān)控各雷達(dá)裝備的運(yùn)行狀態(tài),完成區(qū)域內(nèi)探測(cè)信息的共享、整合、處理和集成,形成組網(wǎng)雷達(dá)綜合態(tài)勢(shì)顯示功能。
針對(duì)雷達(dá)組網(wǎng)系統(tǒng)的功能特點(diǎn),本文提出了一種支持插件配置與組裝的開放式分層軟件體系結(jié)構(gòu)框架。該體系結(jié)構(gòu)以插件作為系統(tǒng)的基本功能單元,從整體上反映了軟件的組織結(jié)構(gòu)、設(shè)計(jì)思想和數(shù)據(jù)交互。
軟件體系架構(gòu)如圖2所示,從下至上依次是網(wǎng)絡(luò)接收層、協(xié)同處理層、協(xié)同調(diào)度層和綜合顯示層。
圖2 協(xié)同組網(wǎng)探測(cè)系統(tǒng)軟件體系架構(gòu)
(1)網(wǎng)絡(luò)接收層對(duì)系統(tǒng)外部的各種數(shù)據(jù)源進(jìn)行數(shù)據(jù)處理轉(zhuǎn)換和數(shù)據(jù)匯集分發(fā),提高軟件顯示能力及異型產(chǎn)品間的接口適配能力。數(shù)據(jù)轉(zhuǎn)換實(shí)現(xiàn)了將外部數(shù)據(jù)源轉(zhuǎn)化為內(nèi)部統(tǒng)一的數(shù)據(jù)格式,使得其他功能軟件只關(guān)注于功能和邏輯,同時(shí)將來(lái)自其他功能軟件的數(shù)據(jù)轉(zhuǎn)化為外部系統(tǒng)能夠識(shí)別的數(shù)據(jù)格式并下發(fā);數(shù)據(jù)分發(fā)實(shí)現(xiàn)了系統(tǒng)對(duì)數(shù)據(jù)流的過濾和管理,大大減少了功能軟件之間的關(guān)聯(lián)復(fù)雜度,有利于軟件升級(jí)和系統(tǒng)維護(hù)。
(2)協(xié)同處理層主要實(shí)現(xiàn)多源數(shù)據(jù)整合、分析、加工、挖掘等處理,實(shí)現(xiàn)對(duì)各站主動(dòng)探測(cè)目標(biāo)進(jìn)行匹配識(shí)別、被動(dòng)探測(cè)的輻射源配對(duì)進(jìn)行聯(lián)合協(xié)同快速定位,并將處理后結(jié)果發(fā)送至綜合顯示層進(jìn)行數(shù)據(jù)信息的整合展示。
(3)協(xié)同調(diào)度層主要實(shí)現(xiàn)區(qū)域內(nèi)資源協(xié)同調(diào)度,主要對(duì)接收到的航跡信息、輻射源信息和網(wǎng)內(nèi)各雷達(dá)工作狀態(tài)等信息進(jìn)行融合處理生成相應(yīng)策略并下發(fā),實(shí)現(xiàn)目標(biāo)交接、協(xié)同定位、目標(biāo)引導(dǎo)等功能。
(4)綜合顯示層主要根據(jù)雷達(dá)組網(wǎng)系統(tǒng)的功能,構(gòu)建友好的用戶圖形界面,實(shí)現(xiàn)系統(tǒng)的人機(jī)交互功能、綜合顯示控制功能和管理維護(hù)功能,實(shí)現(xiàn)原始及加工信息的集成綜合顯示。用戶也可以根據(jù)個(gè)人喜好,改變軟件界面顯示風(fēng)格。
分層軟件架構(gòu)是一個(gè)具有高度擴(kuò)展性的開放的系統(tǒng)架構(gòu),實(shí)現(xiàn)了系統(tǒng)的高度解耦。將協(xié)同組網(wǎng)探測(cè)系統(tǒng)劃分為帶有明確接口定義的功能層,保證了各層次之間的相對(duì)穩(wěn)定與獨(dú)立,不需暴露層內(nèi)的實(shí)現(xiàn)邏輯,減少了各層次之間的關(guān)聯(lián)復(fù)雜度。上下層之間通過消息傳遞,數(shù)據(jù)流從下層至上層傳遞,原始數(shù)據(jù)被逐漸抽象和融合后進(jìn)行綜合顯示;控制命令從上層至下層傳遞,用來(lái)下發(fā)用戶發(fā)起的引導(dǎo)、協(xié)同定位和目標(biāo)處理等命令。
分層軟件架構(gòu)為系統(tǒng)重構(gòu)提供了指導(dǎo)和約束。協(xié)同組網(wǎng)探測(cè)系統(tǒng)軟件采用插件化方法進(jìn)行開發(fā),在系統(tǒng)進(jìn)行修改、維護(hù)或者功能擴(kuò)展時(shí)只需修改、替換或添加相關(guān)插件而不影響其他軟件或整個(gè)系統(tǒng)的集成,使得系統(tǒng)能依據(jù)動(dòng)態(tài)多變的戰(zhàn)場(chǎng)環(huán)境進(jìn)行動(dòng)態(tài)集成,大大提高了系統(tǒng)的重構(gòu)能力。
根據(jù)插件功能與職責(zé)的不同,本項(xiàng)目給出一種插件的分層組織模式,將插件劃分為功能插件和服務(wù)插件,如圖3所示。
圖3 插件層次化組織結(jié)構(gòu)
功能插件實(shí)現(xiàn)具體共性的、與業(yè)務(wù)無(wú)關(guān)的功能,具有較高的復(fù)用性。此類插件的特點(diǎn)是提供特定的顯示、計(jì)算或通信能力,主要包括態(tài)勢(shì)管理插件、坐標(biāo)轉(zhuǎn)換插件、網(wǎng)絡(luò)通信插件、表頁(yè)擴(kuò)展插件等。功能插件的物理實(shí)體是一個(gè)動(dòng)態(tài)庫(kù)或靜態(tài)庫(kù),并且以自定義接口形式向外暴露自身的能力。
服務(wù)插件實(shí)現(xiàn)具體領(lǐng)域相關(guān)的功能,組織多個(gè)功能插件,它可以調(diào)用功能插件的各個(gè)能力以便對(duì)外提供服務(wù)。服務(wù)插件是在功能插件的基礎(chǔ)上抽象出來(lái)的更高一層主體,它們之間相互協(xié)作,對(duì)外提供更為復(fù)雜的能力,主要包括態(tài)勢(shì)綜合顯示插件、平臺(tái)操控插件、網(wǎng)絡(luò)服務(wù)插件、可視化顯示插件等。服務(wù)插件物理實(shí)體是一個(gè)動(dòng)態(tài)庫(kù),支持動(dòng)態(tài)加載,與系統(tǒng)集成框架接口統(tǒng)一,可以被系統(tǒng)集成框架識(shí)別管理。
系統(tǒng)軟件插件集成過程如圖4所示。根據(jù)協(xié)同組網(wǎng)探測(cè)系統(tǒng)軟件功能,協(xié)同組網(wǎng)探測(cè)系統(tǒng)包括綜合態(tài)勢(shì)顯控、綜合識(shí)別與數(shù)據(jù)庫(kù)、綜合協(xié)同調(diào)度、綜合協(xié)同處理和數(shù)據(jù)接口處理5個(gè)軟件實(shí)體。
圖4 插件集成過程
在開發(fā)設(shè)計(jì)階段,首先應(yīng)分析系統(tǒng)各個(gè)軟件的組織架構(gòu),然后將其劃分為若干可由插件替換的軟件單元,并使用工具完成插件開發(fā)。在此階段還需抽取各插件之間的組織關(guān)系和交互方式,并對(duì)其進(jìn)行形式化描述,生成具體的策略文件用以指導(dǎo)插件的具體交互行為。策略文件的實(shí)體是若干個(gè)XML(Extensible Markup Language,可擴(kuò)展標(biāo)記語(yǔ)言)文件,其內(nèi)容主要包括插件名稱、插件唯一ID值、插件類型、插件大小以及插件位置和插件間交互方式的描述。
軟件集成框架是一個(gè)與插件統(tǒng)一接口的可執(zhí)行程序,框架通過加載不同插件對(duì)外提供不同的服務(wù)并提供插件管理、插件能力注冊(cè)、插件通信服務(wù)、插件XML策略文件解析等功能。當(dāng)進(jìn)入系統(tǒng)運(yùn)行階段,軟件集成框架加載、激活指定目錄下的插件,集成框架中解析控制模塊將加載并解析XML策略文件,并依據(jù)策略文件對(duì)插件進(jìn)行基本信息配置,使插件根據(jù)策略文件既定的組織關(guān)系和交互方式進(jìn)行插件間的自主協(xié)作,從而根據(jù)用戶需求實(shí)現(xiàn)了插件的自動(dòng)化集成。
當(dāng)用戶需求發(fā)生變化或有新功能插件加入系統(tǒng)時(shí),用戶只需按照規(guī)則編寫新的策略文件,并將策略加載到框架中,系統(tǒng)即可在以后運(yùn)行的過程中針對(duì)特定策略動(dòng)態(tài)調(diào)整插件的組織關(guān)系和交互方式,從而改變系統(tǒng)的構(gòu)態(tài),適應(yīng)動(dòng)態(tài)變化的外部需求。
協(xié)同組網(wǎng)探測(cè)系統(tǒng)軟件以基于VPX架構(gòu)的硬件平臺(tái)為運(yùn)行載體,實(shí)現(xiàn)顯示與數(shù)據(jù)處理高度解耦的開放式軟件體系架構(gòu),實(shí)現(xiàn)基于統(tǒng)一數(shù)據(jù)源的協(xié)同數(shù)據(jù)處理模式,同時(shí)提供基于配置的數(shù)據(jù)接口層進(jìn)行數(shù)據(jù)預(yù)處理、轉(zhuǎn)碼、整合、分發(fā)等,提高軟件的顯示能力及異型產(chǎn)品間的接口適配能力。遵循“系統(tǒng)功能軟件可配置”的思路,展開協(xié)同組網(wǎng)探測(cè)功能軟件的模塊化和參數(shù)化設(shè)計(jì),為系統(tǒng)的可重構(gòu)性和可擴(kuò)展性奠定良好的基礎(chǔ)。
系統(tǒng)軟件采用插件化實(shí)現(xiàn),開發(fā)準(zhǔn)備階段依照應(yīng)用需求,將系統(tǒng)軟件劃分為若干可相對(duì)完整、獨(dú)立的功能軟件。配置階段開發(fā)人員根據(jù)功能單元的特點(diǎn)抽象出相應(yīng)能力,使用統(tǒng)一的開發(fā)方法生成相應(yīng)插件;程序運(yùn)行階段使用軟件集成框架對(duì)插件進(jìn)行加載、卸載、激活、停用、查詢等管理,并提供插件間的通信服務(wù)。軟件集成框架對(duì)插件進(jìn)行實(shí)例化加載,形成面向用戶需求的應(yīng)用模式。使用插件開發(fā)方法增加了軟件的靈活性和可復(fù)用性,當(dāng)某個(gè)插件出現(xiàn)問題時(shí)可以單獨(dú)修改此插件而不需要更改整個(gè)軟件,便于軟件的管理和維護(hù)。
系統(tǒng)運(yùn)行情況如圖5所示。系統(tǒng)軟件的實(shí)現(xiàn)驗(yàn)證了本文所提出系統(tǒng)軟件體系架構(gòu)的有效性。系統(tǒng)完成了區(qū)域內(nèi)3站6部某型雷達(dá)的資源協(xié)同調(diào)度,全局掌握及監(jiān)控雷達(dá)各站點(diǎn)的運(yùn)行狀態(tài),實(shí)現(xiàn)各雷達(dá)的遠(yuǎn)程引導(dǎo)及控制;完成了區(qū)域內(nèi)主動(dòng)探測(cè)信息的共享,建立目標(biāo)航跡級(jí)的整合;完成了區(qū)域內(nèi)被動(dòng)探測(cè)信息的整合,根據(jù)協(xié)同需求生成協(xié)同策略;提供了基于分站/區(qū)域的多層次信息集成顯示界面,實(shí)現(xiàn)原始及加工信息的集成綜合顯示。系統(tǒng)以軟件體系架構(gòu)為指導(dǎo),通過復(fù)用、集成各種不同功能的插件,可以構(gòu)建出面向不同應(yīng)用需求的構(gòu)態(tài),以適應(yīng)動(dòng)態(tài)變換的作戰(zhàn)場(chǎng)景的需求。
圖5 協(xié)同組網(wǎng)探測(cè)系統(tǒng)態(tài)勢(shì)展示
本文依托和挖掘現(xiàn)役某型雷達(dá)協(xié)同探測(cè)功能,采用分層模式設(shè)計(jì)某海域戰(zhàn)場(chǎng)雷達(dá)協(xié)同組網(wǎng)探測(cè)系統(tǒng)軟件架構(gòu),實(shí)現(xiàn)了網(wǎng)絡(luò)接收、信息處理、協(xié)同調(diào)度、數(shù)據(jù)可視化的高度解耦;采用插件化思想開發(fā)系統(tǒng)軟件,提升了系統(tǒng)可復(fù)用性、可移植性及可靠性,形成基于配置的產(chǎn)品級(jí)軟件靈活重構(gòu),充分發(fā)揮了系統(tǒng)的協(xié)同探測(cè)能力。