盛大同
(中國(guó)電子科學(xué)研究院,北京 100041)
?
工程與應(yīng)用
關(guān)于預(yù)警機(jī)任務(wù)系統(tǒng)的軟件架構(gòu)研究
盛大同
(中國(guó)電子科學(xué)研究院,北京100041)
從預(yù)警機(jī)面臨的挑戰(zhàn)出發(fā),提出了一種預(yù)警機(jī)任務(wù)系統(tǒng)的軟件架構(gòu)——“網(wǎng)絡(luò)為中心、面向服務(wù)”的大系統(tǒng)軟件架構(gòu),“中間件為軟總線”的平臺(tái)軟件架構(gòu),“數(shù)據(jù)為中心”的應(yīng)用軟件架構(gòu)。該架構(gòu)可以簡(jiǎn)化預(yù)警機(jī)任務(wù)系統(tǒng)的數(shù)據(jù)和信息的管理,使得系統(tǒng)功能分離開來,便于進(jìn)行原型或增量開發(fā),同時(shí)使得任務(wù)系統(tǒng)性能得到提升,減少系統(tǒng)軟件維護(hù)和升級(jí)的難度。
預(yù)警機(jī); 任務(wù)系統(tǒng); 軟件架構(gòu)
E926.37
A
1673-5692(2016)02-182-05
預(yù)警機(jī)在預(yù)警探測(cè)、發(fā)現(xiàn)遠(yuǎn)距離和低空目標(biāo)有著重要的作用,是現(xiàn)代戰(zhàn)爭(zhēng)中重要的空中武器節(jié)點(diǎn)。但是,面對(duì)當(dāng)前以及未來越來越高的使用要求,預(yù)警機(jī)也存在如下挑戰(zhàn):難以處理越來越多的數(shù)據(jù)和信息;數(shù)據(jù)信息處理的實(shí)時(shí)性需要提高;軟件擴(kuò)展性不好,維護(hù)和升級(jí)改進(jìn)難度大;軟件重用度不高,開發(fā)成本高。因此,借鑒先進(jìn)的軟件發(fā)展成果,研究預(yù)警機(jī)任務(wù)系統(tǒng)高效的軟件架構(gòu),對(duì)預(yù)警機(jī)的發(fā)展有著重要的意義。
預(yù)警機(jī)任務(wù)系統(tǒng)是指預(yù)警機(jī)執(zhí)行預(yù)警探測(cè)、通信和指揮控制等功能的系統(tǒng),包括預(yù)警雷達(dá)、敵我識(shí)別/二次雷達(dá)、通信、電子偵察、指揮控制等。預(yù)警機(jī)任務(wù)系統(tǒng)包括數(shù)量眾多的計(jì)算機(jī),這些計(jì)算機(jī)由高速網(wǎng)絡(luò)連接,形成分布式的計(jì)算機(jī)系統(tǒng)。
預(yù)警機(jī)任務(wù)系統(tǒng)軟件具有配置項(xiàng)多、軟件規(guī)模大(幾百萬行)、功能復(fù)雜等特點(diǎn)。預(yù)警機(jī)任務(wù)系統(tǒng)軟件通常由人機(jī)界面軟件、系統(tǒng)軟件、傳感器主控軟件、傳感器軟件組成,如圖1所示。
圖1 預(yù)警機(jī)任務(wù)電子系統(tǒng)軟件
人機(jī)界面軟件負(fù)責(zé)人機(jī)交互,包括信息顯示、命令操作等;系統(tǒng)軟件負(fù)責(zé)任務(wù)控制、情報(bào)融合和輔助決策等;傳感器主控軟件負(fù)責(zé)傳感器與系統(tǒng)進(jìn)行信息交互,接收控制命令,報(bào)告?zhèn)鞲衅鳡顟B(tài)和傳感器探測(cè)信息等;傳感器軟件負(fù)責(zé)對(duì)傳感器實(shí)時(shí)控制,實(shí)施探測(cè),并處理探測(cè)數(shù)據(jù)等。
傳感器軟件一般采用實(shí)時(shí)系統(tǒng),人機(jī)界面軟件和系統(tǒng)軟件一般采用近實(shí)時(shí)系統(tǒng),傳感器主控軟件有的采用實(shí)時(shí)系統(tǒng),有的使用近實(shí)時(shí)系統(tǒng)。本文研究的是預(yù)警機(jī)任務(wù)系統(tǒng)中的近實(shí)時(shí)系統(tǒng)(圖1虛線以上部分)的軟件架構(gòu)。
2003年,Bass,Clements和Kazman對(duì)軟件架構(gòu)進(jìn)行的定義:軟件架構(gòu)是組成某個(gè)軟件或計(jì)算機(jī)系統(tǒng)的一個(gè)或多個(gè)結(jié)構(gòu),它們構(gòu)成軟件的各個(gè)組件(Elements),形成這些組件的外部可見屬性及相互間關(guān)系[1]。
軟件架構(gòu)是在軟件需求與軟件設(shè)計(jì)之間架起的一座橋梁,著重解決軟件系統(tǒng)的結(jié)構(gòu)和需求向?qū)崿F(xiàn)平坦過渡的問題。此外軟件架構(gòu)技術(shù)的研究,使軟件復(fù)用從代碼復(fù)用發(fā)展到設(shè)計(jì)復(fù)用和過程復(fù)用。
軟件架構(gòu)對(duì)于軟件和軟件系統(tǒng)是至關(guān)重要的。D.E.Perry將軟件架構(gòu)視為軟件開發(fā)中第一類重要的設(shè)計(jì)對(duì)象。Barry Boehm也明確指出“在沒有設(shè)計(jì)出架構(gòu)及其規(guī)則時(shí),那么整個(gè)項(xiàng)目不能繼續(xù)下去,而且架構(gòu)軟件應(yīng)該看作是開發(fā)中可交付的中間產(chǎn)品”[2]。
3.1“網(wǎng)絡(luò)為中心、面向服務(wù)”的大系統(tǒng)軟件架構(gòu)
大系統(tǒng)是指預(yù)警機(jī)作為節(jié)點(diǎn)的作戰(zhàn)系統(tǒng),包括地面指揮所、海上作戰(zhàn)艦艇、空中作戰(zhàn)飛機(jī)等。預(yù)警機(jī)作為大系統(tǒng)的一個(gè)節(jié)點(diǎn),應(yīng)滿足大系統(tǒng)的軟件架構(gòu),實(shí)現(xiàn)與其他裝備的互聯(lián)互通互操作。
(1)網(wǎng)絡(luò)為中心
預(yù)警機(jī)所在的作戰(zhàn)網(wǎng)絡(luò)是由網(wǎng)絡(luò)基礎(chǔ)平臺(tái)層、網(wǎng)絡(luò)管理層和網(wǎng)絡(luò)應(yīng)用層構(gòu)成,如圖2所示。網(wǎng)絡(luò)基礎(chǔ)平臺(tái)層由網(wǎng)絡(luò)設(shè)備組成,是網(wǎng)絡(luò)的基礎(chǔ)。網(wǎng)絡(luò)管理層執(zhí)行對(duì)網(wǎng)絡(luò)的管理,維護(hù)網(wǎng)絡(luò)的正常運(yùn)行,同時(shí)接收網(wǎng)絡(luò)應(yīng)用層請(qǐng)求,提供應(yīng)用所需的網(wǎng)絡(luò)鏈路。網(wǎng)絡(luò)應(yīng)用層是指在建立在網(wǎng)絡(luò)環(huán)境上的應(yīng)用。
圖2 作戰(zhàn)網(wǎng)絡(luò)構(gòu)成圖
短波、超短波、衛(wèi)通等通信鏈路設(shè)備構(gòu)成預(yù)警機(jī)的作戰(zhàn)網(wǎng)絡(luò)基礎(chǔ)。在任務(wù)執(zhí)行前,根據(jù)執(zhí)行任務(wù)類型制定通信規(guī)劃,確定預(yù)警機(jī)的通信鏈路和容量。在任務(wù)執(zhí)行中,根據(jù)需要預(yù)警機(jī)可向網(wǎng)絡(luò)管理節(jié)點(diǎn)申請(qǐng)調(diào)整通信規(guī)劃,變更通信鏈路或增加鏈路容量。
與“平臺(tái)為中心”大系統(tǒng)軟件架構(gòu)的區(qū)別。“平臺(tái)為中心”強(qiáng)調(diào)的是各個(gè)平臺(tái),平臺(tái)應(yīng)用受到平臺(tái)之間所能提供的鏈路限制,有什么樣的“路”才能跑什么樣的“車”?!熬W(wǎng)絡(luò)為中心”提供了鏈路的多種選擇,根據(jù)應(yīng)用的請(qǐng)求,網(wǎng)絡(luò)提供相應(yīng)的鏈路,也就是“車”決定起點(diǎn)、終點(diǎn)和要求,網(wǎng)絡(luò)提供合適的“路”。
(2)面向服務(wù)
從體系架構(gòu)的角度,面向服務(wù)的架構(gòu)是一種軟件體系結(jié)構(gòu)和軟件構(gòu)造方法。在軟件的基礎(chǔ)架構(gòu)上,面向服務(wù)架構(gòu)能夠?qū)崿F(xiàn)服務(wù)部署環(huán)境和服務(wù)實(shí)現(xiàn)之間的松散耦合,以及不同功能的服務(wù)實(shí)現(xiàn)之間松散耦合性,有利于提高分布式系統(tǒng)的可伸縮性,有利于實(shí)現(xiàn)對(duì)資源的動(dòng)態(tài)優(yōu)化配置,最大程度地資源共享[3]。
在面向服務(wù)模型中,所有的功能都定義成了獨(dú)立的服務(wù),服務(wù)之間通過交互和協(xié)調(diào)完成業(yè)務(wù)的整體邏輯。所有的服務(wù)通過服務(wù)總線或流程管理器來連接。這種松耦合的體系結(jié)構(gòu)使得各服務(wù)在交互過程中無須考慮對(duì)方的內(nèi)部實(shí)現(xiàn)細(xì)節(jié),以及部署在什么平臺(tái)上[4]。預(yù)警機(jī)的服務(wù)包括兩類,一類是預(yù)警機(jī)提供的服務(wù),另一類是預(yù)警機(jī)接收的服務(wù)。預(yù)警機(jī)提供和接受的服務(wù)包括目標(biāo)信息服務(wù)、作戰(zhàn)指揮服務(wù)等。
預(yù)警機(jī)提供服務(wù)的過程:預(yù)警機(jī)通過服務(wù)注冊(cè)中心發(fā)布服務(wù);服務(wù)請(qǐng)求者向服務(wù)注冊(cè)中心查找服務(wù);服務(wù)請(qǐng)求者按照明確定義的標(biāo)準(zhǔn)接口與預(yù)警機(jī)交互,接受服務(wù)。預(yù)警機(jī)接受服務(wù)的過程與預(yù)警機(jī)提供服務(wù)的過程類似,不同的是預(yù)警機(jī)作為服務(wù)請(qǐng)求者參與其中。
目標(biāo)信息服務(wù)包括信息訂閱接口和信息分發(fā)接口等。服務(wù)請(qǐng)求者通過信息訂閱接口向服務(wù)提供者訂閱目標(biāo)信息。服務(wù)提供者通過信息分發(fā)接口向服務(wù)請(qǐng)求者發(fā)送目標(biāo)信息。
作戰(zhàn)指揮服務(wù)包括身份注冊(cè)接口、任務(wù)分配接口、指令分發(fā)接口、指令執(zhí)行情況接口和文電接口等。服務(wù)請(qǐng)求者通過身份注冊(cè)接口向服務(wù)提供者進(jìn)行身份注冊(cè);服務(wù)提供者通過任務(wù)分配接口、指令分發(fā)接口向服務(wù)請(qǐng)求者分發(fā)任務(wù)和指令;服務(wù)請(qǐng)求者通過指令執(zhí)行情況接口向服務(wù)提供者匯報(bào)指令執(zhí)行情況;服務(wù)提供者和服務(wù)請(qǐng)求者通過文電接口進(jìn)行文電信息交互。
3.2“中間件為軟總線”的平臺(tái)軟件架構(gòu)
預(yù)警機(jī)任務(wù)系統(tǒng)的平臺(tái)軟件架構(gòu)是“中間件為軟總線”的開放式體系架構(gòu),許多先進(jìn)的武器平臺(tái)也是采用這種開放式體系架構(gòu)[5]。圖3給出了預(yù)警機(jī)任務(wù)系統(tǒng)的平臺(tái)軟件架構(gòu)。
圖3 預(yù)警機(jī)任務(wù)系統(tǒng)的平臺(tái)軟件架構(gòu)
平臺(tái)軟件架構(gòu)的下兩層是計(jì)算機(jī)及網(wǎng)絡(luò)硬件和系統(tǒng)軟件,系統(tǒng)軟件包括操作系統(tǒng)、網(wǎng)絡(luò)協(xié)議、數(shù)據(jù)庫等?;痉?wù)軟件包括提供時(shí)間對(duì)準(zhǔn)服務(wù)、坐標(biāo)系轉(zhuǎn)換服務(wù)、顯示服務(wù)的軟件等?;痉?wù)軟件為上層的應(yīng)用軟件(情報(bào)融合、外部通信、指揮控制等)提供基礎(chǔ)服務(wù)。中間件是處于應(yīng)用軟件、基本服務(wù)軟件和系統(tǒng)軟件之間的一個(gè)軟件層,它屏蔽了環(huán)境底層的復(fù)雜性,提供給應(yīng)用開發(fā)者統(tǒng)一的、功能強(qiáng)大的APIs,使應(yīng)用開發(fā)者只專注于業(yè)務(wù)邏輯的開發(fā),快速地開發(fā)出可靠、高效的企業(yè)級(jí)分布式應(yīng)用[6]。
中間件是預(yù)警機(jī)任務(wù)系統(tǒng)的軟總線。駐留在系統(tǒng)各計(jì)算機(jī)上的軟件或同一計(jì)算機(jī)上的不同軟件通過中間件進(jìn)行信息交互。預(yù)警機(jī)任務(wù)系統(tǒng)中間件具有如下功能:
(1)消息通訊。消息中間件提供了靈活的應(yīng)用通訊機(jī)制,包括消息隊(duì)列、發(fā)布/訂閱等方式,支持多種通訊協(xié)議、語言、硬件和軟件平臺(tái)。
(2)分布式對(duì)象交互。在預(yù)警機(jī)任務(wù)系統(tǒng)中,通常需要對(duì)多個(gè)分布的對(duì)象進(jìn)行集成,使對(duì)象之間進(jìn)行交互,形成一個(gè)具有一定功能的軟件組件。分布式對(duì)象交互支持位置無關(guān)性、語言無關(guān)性、平臺(tái)無關(guān)性,對(duì)象之間的調(diào)用和數(shù)據(jù)共享不再關(guān)心對(duì)象的位置、實(shí)現(xiàn)語言、網(wǎng)絡(luò)協(xié)議、數(shù)據(jù)庫及所駐留的操作系統(tǒng)。
(3)數(shù)據(jù)庫訪問。數(shù)據(jù)庫訪問實(shí)現(xiàn)了應(yīng)用程序和異構(gòu)數(shù)據(jù)庫之間的統(tǒng)一接口,有效解決了應(yīng)用系統(tǒng)與不同后臺(tái)數(shù)據(jù)庫的數(shù)據(jù)訪問問題。在不同的預(yù)警機(jī)任務(wù)系統(tǒng)中,可能會(huì)采用不同的數(shù)據(jù)庫。中間件的使用保證了預(yù)警機(jī)軟件架構(gòu)的穩(wěn)定,不會(huì)因數(shù)據(jù)庫不同而影響預(yù)警機(jī)應(yīng)用軟件。
(4)軟件的運(yùn)行監(jiān)控。記錄軟件的運(yùn)行情況、CPU和內(nèi)存占用情況等日志信息。當(dāng)軟件出現(xiàn)故障時(shí),進(jìn)行重啟等操作。
3.3“數(shù)據(jù)為中心”的平臺(tái)應(yīng)用軟件框架
(1)數(shù)據(jù)為中心
數(shù)據(jù)作為應(yīng)用軟件的中心,是對(duì)客觀世界的真實(shí)反映。對(duì)于每個(gè)軟件來說,輸入的是數(shù)據(jù),處理的是數(shù)據(jù),輸出的還是數(shù)據(jù)。軟件功能是圍繞數(shù)據(jù)開展活動(dòng)。數(shù)據(jù)類對(duì)數(shù)據(jù)進(jìn)行封裝,并提供方法對(duì)數(shù)據(jù)進(jìn)行讀、寫等操作。數(shù)據(jù)處理類對(duì)數(shù)據(jù)進(jìn)行處理,實(shí)現(xiàn)對(duì)數(shù)據(jù)處理的算法。
對(duì)數(shù)據(jù)的依賴,而不是對(duì)數(shù)據(jù)處理的依賴,保證了軟件功能的分離,使得軟件具有良好的可擴(kuò)展性。圖4表示的是應(yīng)用軟件數(shù)據(jù)處理的過程,由于輸入數(shù)據(jù)、輸出數(shù)據(jù)格式基本是固定的,不會(huì)隨項(xiàng)目發(fā)生變化,因此相應(yīng)的數(shù)據(jù)輸入和數(shù)據(jù)輸出也相對(duì)固定,變化的部分只是數(shù)據(jù)處理部分。
對(duì)于一個(gè)應(yīng)用軟件,以“數(shù)據(jù)為中心”可以保證軟件良好的擴(kuò)展性,是一種模塊化的應(yīng)用軟件架構(gòu)。
圖4 數(shù)據(jù)處理過程
(2)軟件插件
應(yīng)用軟件根據(jù)功能對(duì)軟件進(jìn)行插件劃分和管理,一組(或一個(gè))插件完成一項(xiàng)軟件功能。插件形式上是一組源代碼文件、執(zhí)行程序和配置文件,這組源代碼文件、執(zhí)行程序和配置文件只包含這一軟件功能相關(guān)的內(nèi)容,不包含其他軟件功能的內(nèi)容。
(3)應(yīng)用軟件框架
應(yīng)用軟件框架具有的功能:
插件管理:插件以動(dòng)態(tài)庫的形式集成到應(yīng)用軟件框架中,應(yīng)用軟件框架對(duì)插件進(jìn)行管理。插件管理包括插件啟動(dòng)、插件初始化、插件停止、插件關(guān)閉;
定時(shí)器:利用軟定時(shí)器對(duì)定時(shí)器進(jìn)行統(tǒng)一管理,包括增加和刪除定時(shí)器、開始定時(shí)器、在任何時(shí)刻停止和重啟定時(shí)器、在任何時(shí)刻設(shè)置定時(shí)器速度。
對(duì)象管理器:利用對(duì)象管理器進(jìn)行對(duì)象的身份識(shí)別和對(duì)象句柄獲取,對(duì)象包括兩個(gè)基本屬性,對(duì)象組標(biāo)識(shí)、對(duì)象標(biāo)識(shí)。對(duì)象管理器功能包括對(duì)象ID的創(chuàng)建、對(duì)象句柄獲取。
時(shí)間管理:獲取系統(tǒng)時(shí)間。
多線程與線程池:在界面處理計(jì)算密集型任務(wù)時(shí),采用多線程技術(shù)保障人機(jī)界面高實(shí)時(shí)響應(yīng)。功能包括線程的創(chuàng)建、線程池調(diào)度。
應(yīng)用軟件框架的工作過程如圖5所示。
圖5 應(yīng)用軟件框架的工作過程
框架主進(jìn)程啟動(dòng)后,首先進(jìn)行系統(tǒng)初始化,初始化的主要工作包括:插件管理器的初始化、定時(shí)器管理器的初始化、線程池管理器的初始化等;然后進(jìn)行業(yè)務(wù)功能插件導(dǎo)入,插件的啟動(dòng)和初始化工作,進(jìn)入處理事件循環(huán)工作。當(dāng)事件循環(huán)捕獲到系統(tǒng)退出時(shí),執(zhí)行插件的關(guān)閉工作。
3.4預(yù)警機(jī)任務(wù)系統(tǒng)的完整軟件架構(gòu)
“網(wǎng)絡(luò)為中心、面向服務(wù)”的大系統(tǒng)軟件架構(gòu)、“中間件為軟總線”的平臺(tái)軟件架構(gòu)、“數(shù)據(jù)為中心”的平臺(tái)應(yīng)用軟件架構(gòu)形成了預(yù)警機(jī)任務(wù)系統(tǒng)的完整軟件框架。三者是預(yù)警機(jī)任務(wù)系統(tǒng)軟件框架的三個(gè)方面,“網(wǎng)絡(luò)為中心、面向服務(wù)”的大系統(tǒng)軟件架構(gòu)是針對(duì)預(yù)警機(jī)為節(jié)點(diǎn)的作戰(zhàn)系統(tǒng),“中間件為軟總線”的平臺(tái)軟件架構(gòu)是針對(duì)預(yù)警機(jī)任務(wù)平臺(tái),“數(shù)據(jù)為中心”的平臺(tái)應(yīng)用軟件架構(gòu)是針對(duì)預(yù)警機(jī)任務(wù)系統(tǒng)中的應(yīng)用軟件。三個(gè)軟件框架在軟件開發(fā)中融合在一起,形成完整的系統(tǒng)。
4.1對(duì)系統(tǒng)性能的影響
(1)作戰(zhàn)系統(tǒng)的靈活接入
由于采用“網(wǎng)絡(luò)為中心,面向服務(wù)”的大系統(tǒng)架構(gòu),預(yù)警機(jī)、作戰(zhàn)飛機(jī)等可以靈活接入作戰(zhàn)系統(tǒng)?;诰W(wǎng)絡(luò)的互聯(lián)互通,以及面向服務(wù)的松耦合和標(biāo)準(zhǔn)化接口,使得作戰(zhàn)系統(tǒng)具有很強(qiáng)的靈活接入能力,預(yù)警機(jī)、作戰(zhàn)飛機(jī)等可以根據(jù)需要隨時(shí)接入系統(tǒng)或從系統(tǒng)中撤出。
作戰(zhàn)系統(tǒng)的靈活接入增加了作戰(zhàn)系統(tǒng)在戰(zhàn)場(chǎng)上的組織整合能力,不必過分依賴戰(zhàn)前規(guī)劃,使得作戰(zhàn)系統(tǒng)可以應(yīng)對(duì)不同規(guī)?;驈?qiáng)度的戰(zhàn)斗和沖突,具有很強(qiáng)的彈性和時(shí)效性。
對(duì)于預(yù)警機(jī)而言,“網(wǎng)絡(luò)為中心,面向服務(wù)”的大系統(tǒng)架構(gòu)簡(jiǎn)化了預(yù)警機(jī)與大系統(tǒng)之間的關(guān)系,可以使得預(yù)警機(jī)隨時(shí)隨地提供和接受服務(wù)。
(2)系統(tǒng)具有良好的性能擴(kuò)展性
“中間件為軟總線”的平臺(tái)軟件架構(gòu)具有分布式的特點(diǎn),具有軟件遷移、復(fù)制、負(fù)載均衡的能力。當(dāng)系統(tǒng)處理能力不能滿足數(shù)據(jù)處理時(shí),自動(dòng)進(jìn)行軟件復(fù)制,產(chǎn)生多個(gè)相同的軟件同時(shí)進(jìn)行數(shù)據(jù)處理,并且可以對(duì)這多個(gè)軟件進(jìn)行負(fù)載均衡。
(3)數(shù)據(jù)信息處理實(shí)時(shí)性的提高
“數(shù)據(jù)為中心”的平臺(tái)應(yīng)用軟件架構(gòu)可以將單個(gè)長(zhǎng)時(shí)間鏈條的數(shù)據(jù)處理分為多個(gè)短時(shí)間鏈條,縮短不同時(shí)間序列數(shù)據(jù)的處理等待時(shí)間。這種串行的數(shù)據(jù)處理與上面提到的負(fù)載均衡并行處理相結(jié)合,在系統(tǒng)性能得到提高的同時(shí),也可以提高數(shù)據(jù)信息處理的實(shí)時(shí)性。
4.2對(duì)系統(tǒng)運(yùn)行和維護(hù)的影響
(1)強(qiáng)化了系統(tǒng)的運(yùn)行管理和監(jiān)控
“中間件為軟總線”的平臺(tái)軟件架構(gòu)對(duì)各軟件的運(yùn)行進(jìn)行監(jiān)控,可以使得操作人員掌握各軟件的運(yùn)行情況(正?;蚴?,CPU和內(nèi)存占用情況,以及查看軟件的運(yùn)行信息。軟件架構(gòu)對(duì)于軟件的運(yùn)行管理和監(jiān)控,提高了系統(tǒng)的可靠性和操作人員對(duì)于系統(tǒng)運(yùn)行情況的掌握,對(duì)于分析和解決系統(tǒng)故障具有重要作用。
(2)減少了系統(tǒng)升級(jí)對(duì)其他系統(tǒng)的影響
由于預(yù)警機(jī)以及大系統(tǒng)中的其他裝備采用“網(wǎng)絡(luò)為中心,面向服務(wù)”的系統(tǒng)架構(gòu),使得在系統(tǒng)升級(jí)時(shí)預(yù)警機(jī)可以同時(shí)具備多種技術(shù)狀態(tài),不同的技術(shù)狀態(tài)具有不同的服務(wù),不管其他系統(tǒng)是否同步升級(jí),都不會(huì)影響使用,從而減少了系統(tǒng)升級(jí)對(duì)其他系統(tǒng)的影響。
(3)提高了系統(tǒng)的可維護(hù)性
“數(shù)據(jù)為中心”的平臺(tái)應(yīng)用架構(gòu)提高了系統(tǒng)的可維護(hù)性,表現(xiàn)在兩個(gè)方面:一是插件的使用隔離了不同數(shù)據(jù)處理的影響,減少了改進(jìn)對(duì)其他功能的影響,接入新增功能更加容易;二是數(shù)據(jù)處理方式的改變不影響外部數(shù)據(jù)接口,功能升級(jí)增效更加方便。
4.3對(duì)開發(fā)的影響
(1)提高了軟件開發(fā)效率和重用度
功能分離的軟件插件開發(fā)方法,使得軟件的開發(fā)有序而高效。開發(fā)的軟件插件被保存在企業(yè)的資源庫中,需要時(shí)被取出使用,不用重復(fù)開發(fā)和測(cè)試。同時(shí),系統(tǒng)功能分離開來,使得預(yù)警機(jī)任務(wù)系統(tǒng)可以更加方便地進(jìn)行原型或增量開發(fā)模式進(jìn)行開發(fā),可以及時(shí)與用戶溝通,得到用戶的使用反饋,避免了開發(fā)出現(xiàn)大的問題。
(2)減少了系統(tǒng)的復(fù)雜度
“中間件為軟件總線”分布式的平臺(tái)軟件架構(gòu)以及“數(shù)據(jù)為中心”的應(yīng)用軟件架構(gòu)使得數(shù)據(jù)可以集中管理。分散的計(jì)算節(jié)點(diǎn)(如顯控臺(tái))上的軟件不用對(duì)本地?cái)?shù)據(jù)進(jìn)行維護(hù),數(shù)據(jù)的同步由系統(tǒng)架構(gòu)來維護(hù)(系統(tǒng)架構(gòu)發(fā)現(xiàn)中心數(shù)據(jù)發(fā)生變化,會(huì)自動(dòng)同步本地軟件的數(shù)據(jù))?,F(xiàn)在的情況是:服務(wù)器、顯控臺(tái)等分別保存一份數(shù)據(jù),分別對(duì)數(shù)據(jù)進(jìn)行管理,增加了系統(tǒng)的復(fù)雜度。
“網(wǎng)絡(luò)為中心、面向服務(wù)”的大系統(tǒng)軟件架構(gòu)、“中間件為軟總線”的平臺(tái)軟件架構(gòu)、“數(shù)據(jù)為中心”的平臺(tái)應(yīng)用軟件架構(gòu)形成了預(yù)警機(jī)任務(wù)系統(tǒng)的完整軟件架構(gòu)。該架構(gòu)可以簡(jiǎn)化預(yù)警機(jī)系統(tǒng)數(shù)據(jù)和信息的管理,使得系統(tǒng)功能分離開來,便于進(jìn)行原型或增量開發(fā),同時(shí)使得系統(tǒng)性能得到提升,減少系統(tǒng)軟件維護(hù)和升級(jí)的難度。
[1]How Do You Define Software Architecture,http://www.sei.cmu.edu,2004.
[2]孫晶愛,金茂忠,劉超,軟件體系結(jié)構(gòu)研究綜述[J]. 軟件學(xué)報(bào),2002,13(7):1228-1237.
[3]唐秀良,SOA發(fā)展探索與研究[J]. 中國(guó)電子科學(xué)研究院學(xué)報(bào),2009,25(5):473-479.
[4]張友生,軟件體系結(jié)構(gòu)原理、方法與實(shí)踐(第2版)[M]:198.
[5]董曉明,石朝明,黃坤,等. 美海軍DDG-1000全艦計(jì)算環(huán)境體系結(jié)構(gòu)探析[J]. 中國(guó)艦船研究,2012,7(6):7-15.
[6]蔣雄偉,馬范援. 中間件與分布式計(jì)算 [J].計(jì)算機(jī)應(yīng)用,2002,22(4):6-8.
盛大同(1970—),男,河南省商丘人,高級(jí)工程師,主要研究方向?yàn)殡娮有畔⑾到y(tǒng)軟件設(shè)計(jì)與集成。
E-mail:whsdt@163.com
Research on Software Architecture of AWACS Mission System
SHENG Da-tong
(China Academy of Electronics and Information Technology, Beijing 100041, China)
From the challenge of AWACS, the author provides a software architecture for AWACS mission system. It is network-center and service-oriented with the software architecture of system, middle-ware software bus of the platform software architecture, data-center of the platform application software. This software architecture makes the control of data and information more simply, and separates the system functions, it is advantageous to prototype development and Incremental Development. It can also improve capability of the AWACS mission system,and reduce the difficulty of software maintaining and upgrading.
Airborne Warning and Control System(AWACS); Mission System; software architecture
10.3969/j.issn.1673-5692.2016.02.012
2016-01-22
2016-02-23