黃 坤 閔紹榮
中國(guó)艦船研究設(shè)計(jì)中心,湖北 武漢430064
基于構(gòu)件的潛艇作戰(zhàn)系統(tǒng)軟件體系結(jié)構(gòu)
黃 坤 閔紹榮
中國(guó)艦船研究設(shè)計(jì)中心,湖北 武漢430064
針對(duì)目前潛艇作戰(zhàn)系統(tǒng)軟件的現(xiàn)狀,分析了潛艇作戰(zhàn)系統(tǒng)軟件的功能需求,提出了基于構(gòu)件的潛艇作戰(zhàn)系統(tǒng)的軟件體系結(jié)構(gòu)模型。在此基礎(chǔ)上,建立了潛艇作戰(zhàn)系統(tǒng)軟件的開發(fā)模型,對(duì)潛艇作戰(zhàn)系統(tǒng)通用功能構(gòu)件進(jìn)行了劃分,并提出了潛艇作戰(zhàn)系統(tǒng)軟件體系結(jié)構(gòu)的實(shí)現(xiàn)途徑。
作戰(zhàn)系統(tǒng);潛艇;構(gòu)件;軟件體系結(jié)構(gòu)
信息化戰(zhàn)爭(zhēng)對(duì)潛艇信息化裝備建設(shè)提出了新的要求,潛艇作戰(zhàn)軟件研制是潛艇信息化建設(shè)的核心內(nèi)容之一[1]。為了充分利用現(xiàn)代潛艇獲取信息的能力,加強(qiáng)潛艇作戰(zhàn)軟件研制與開發(fā)是提高潛艇作戰(zhàn)效能的重要途徑。
從體系結(jié)構(gòu)入手進(jìn)行軟件開發(fā)和維護(hù)不僅可以控制問(wèn)題的復(fù)雜性,提高開發(fā)效率和系統(tǒng)質(zhì)量;還可以通過(guò)結(jié)構(gòu)改善使目標(biāo)系統(tǒng)的適應(yīng)性、演化性得到保證。系統(tǒng)的體系結(jié)構(gòu)是任何大規(guī)模軟件技術(shù)的關(guān)鍵基礎(chǔ),一個(gè)體系結(jié)構(gòu)從總體上定義了系統(tǒng)總體的不變性,在基于構(gòu)件的系統(tǒng)中起著至關(guān)重要的作用。只有當(dāng)體系結(jié)構(gòu)被很好地定義和維護(hù)時(shí),構(gòu)件及系統(tǒng)的升級(jí)和維護(hù)才會(huì)有堅(jiān)實(shí)的基礎(chǔ)。當(dāng)構(gòu)件化軟件開發(fā)人員沒(méi)有預(yù)先設(shè)計(jì)清晰的構(gòu)件體系結(jié)構(gòu)時(shí),非最優(yōu)化的體系結(jié)構(gòu)就產(chǎn)生了,其結(jié)果必將導(dǎo)致系統(tǒng)某些地方不合理、產(chǎn)生重復(fù)和不一致,進(jìn)而導(dǎo)致系統(tǒng)升級(jí)和維護(hù)變得越來(lái)越困難。當(dāng)前大多數(shù)商用軟件的研究都集中在基于構(gòu)件的軟件復(fù)用及構(gòu)件的開發(fā)、組裝,而未見有對(duì)構(gòu)成系統(tǒng)最重要的構(gòu)件化軟件的作戰(zhàn)系統(tǒng)體系結(jié)構(gòu)的研究。
根據(jù)對(duì)國(guó)外潛艇作戰(zhàn)系統(tǒng)體系結(jié)構(gòu)的設(shè)計(jì)思路的解讀分析,利用商用軟件構(gòu)件化方法,可將潛艇作戰(zhàn)系統(tǒng)分解為互相獨(dú)立協(xié)同工作的軟件構(gòu)件,并努力使這些軟件構(gòu)件可反復(fù)重用,從而提高了潛艇作戰(zhàn)系統(tǒng)的質(zhì)量與可靠性。將軟件構(gòu)件化研究開拓性地應(yīng)用于潛艇作戰(zhàn)系統(tǒng),對(duì)于潛艇作戰(zhàn)系統(tǒng)軟件的統(tǒng)一設(shè)計(jì)具有深遠(yuǎn)的意義。
無(wú)論采用何種軟件體系結(jié)構(gòu),最終都是要實(shí)現(xiàn)一定的功能,滿足作戰(zhàn)系統(tǒng)的需求,所以,首先必須明確潛艇作戰(zhàn)系統(tǒng)的軟件功能需求才能進(jìn)行軟件體系結(jié)構(gòu)設(shè)計(jì)。國(guó)外的有關(guān)資料表明:潛艇作戰(zhàn)系統(tǒng)主要通過(guò)以下功能實(shí)現(xiàn)其作戰(zhàn)使命。
2.1 情報(bào)處理
情報(bào)處理功能包括情報(bào)的收集獲取和分析綜合,其實(shí)質(zhì)就是判明作戰(zhàn)環(huán)境的問(wèn)題。一是自然環(huán)境,即海域、空域和水文氣象等;二是本艇環(huán)境,即本艇航行狀態(tài)和武器裝載及準(zhǔn)備狀態(tài);三是目標(biāo)環(huán)境,即對(duì)目標(biāo)信號(hào)的檢測(cè)、識(shí)別,多傳感器多目標(biāo)的航跡處理等。這是作戰(zhàn)決策、實(shí)施武器射擊控制的基礎(chǔ)和前提條件[2]。
2.2 決策指揮
作戰(zhàn)系統(tǒng)應(yīng)能根據(jù)戰(zhàn)場(chǎng)態(tài)勢(shì)、作戰(zhàn)目的和自身的作戰(zhàn)能力制訂或修改戰(zhàn)術(shù)決策和對(duì)策。需要解決的基本問(wèn)題主要包括以下幾個(gè)方面。
1)目標(biāo)搜索
在接受作戰(zhàn)任務(wù)后,為了及時(shí)發(fā)現(xiàn)位置尚未確定的目標(biāo),應(yīng)科學(xué)合理地選擇潛艇的搜索路徑、組織相應(yīng)的搜索探測(cè)器對(duì)一定的水域進(jìn)行搜索和探測(cè)。
2)目標(biāo)識(shí)別
當(dāng)探測(cè)器發(fā)現(xiàn)目標(biāo)后,應(yīng)迅速準(zhǔn)確地判斷目標(biāo)的敵我屬性、類型(水面、水下)屬性。
3)威脅估計(jì)
分析目標(biāo)對(duì)我艇的危害程度,在多目標(biāo)情況下則應(yīng)按其不同的威脅程度予以排序。
4)態(tài)勢(shì)顯示
對(duì)獲取的目標(biāo)進(jìn)行融合處理并形成統(tǒng)一態(tài)勢(shì)供全艇使用。
5)攻擊或防御決策
對(duì)攻擊或防御的目標(biāo)制訂攻擊或防御的實(shí)施方案,包括使用武器的種類、數(shù)量,優(yōu)選射擊陣位和戰(zhàn)位機(jī)動(dòng)方案。
6)武器通道組織
對(duì)擬攻防的目標(biāo)選擇武器和發(fā)射裝置,建立系統(tǒng)的信息傳輸流,以控制軟硬武器對(duì)目標(biāo)實(shí)施攻擊。
2.3 武器控制
武器控制的主要任務(wù)是求取射擊諸元,控制武器迅速而準(zhǔn)確地射擊。主要包含以下主要功能。
1)解算目標(biāo)運(yùn)動(dòng)要素
綜合利用各種信息、按照可行的解算方案、結(jié)合人的經(jīng)驗(yàn),在最短的時(shí)間內(nèi),解算滿足武器射擊精度要求的目標(biāo)運(yùn)動(dòng)要素。
2)計(jì)算武器發(fā)射諸元
根據(jù)敵我態(tài)勢(shì)、目標(biāo)運(yùn)動(dòng)參數(shù)和武器彈道方程計(jì)算相遇點(diǎn),進(jìn)而求解武器發(fā)射諸元。
3)控制武器發(fā)射
根據(jù)射擊計(jì)算結(jié)果,裝訂武器射擊諸元、確定發(fā)射時(shí)機(jī)、控制武器出管的時(shí)序等。
4)遙控武器導(dǎo)引控制
遙控武器發(fā)射后,對(duì)目標(biāo)繼續(xù)進(jìn)行信息測(cè)量,并據(jù)此對(duì)射出的武器進(jìn)行導(dǎo)引控制。
2.4 作戰(zhàn)輔助
作戰(zhàn)輔助功能包括模擬訓(xùn)練功能,時(shí)統(tǒng)功能,監(jiān)視、記錄、重演功能。在作戰(zhàn)系統(tǒng)模擬訓(xùn)練狀態(tài)下的目標(biāo)態(tài)勢(shì)的生成、操控命令的模擬、傳感器信息的模擬;向潛艇作戰(zhàn)系統(tǒng)發(fā)送統(tǒng)一時(shí)間基準(zhǔn),使全系統(tǒng)(設(shè)備)計(jì)算機(jī)時(shí)鐘高精度同步,可以方便地采用數(shù)學(xué)算法校準(zhǔn)由于處理、傳輸延遲帶來(lái)的誤差,提高系統(tǒng)精度以及武器系統(tǒng)的打擊效能[3];記錄作戰(zhàn)系統(tǒng)運(yùn)行時(shí)的數(shù)據(jù),回放系統(tǒng)記錄的數(shù)據(jù),控制整個(gè)作戰(zhàn)系統(tǒng)的重演速度,控制訓(xùn)練或復(fù)現(xiàn)攻擊過(guò)程。
2.5 故障排除
能定位作戰(zhàn)系統(tǒng)比較基本的故障,并提供排除對(duì)策。
3.1 層次化的潛艇作戰(zhàn)系統(tǒng)軟件體系結(jié)構(gòu)
傳統(tǒng)的商用軟件體系結(jié)構(gòu)的基本概念是垂直分層,層的概念和層的分解在構(gòu)件系統(tǒng)中同樣十分有用。與傳統(tǒng)體系結(jié)構(gòu)有所不同的是構(gòu)件系統(tǒng)不僅存在垂直分層,而且還存在水平分層。這主要是由構(gòu)件系統(tǒng)的特殊性決定的。
不同于傳統(tǒng)軟件的類和模塊,構(gòu)件系統(tǒng)中最小考慮單元是構(gòu)件,單獨(dú)的構(gòu)件是沒(méi)有意義的,它只有在一定語(yǔ)境下才能被裝載、激活和實(shí)例化,構(gòu)件必須被部署到構(gòu)件容器(構(gòu)件的運(yùn)行環(huán)境)中;構(gòu)件容器可以為構(gòu)件提供必要的協(xié)議以連接構(gòu)件,同時(shí)對(duì)部署到構(gòu)件容器內(nèi)的構(gòu)件強(qiáng)制實(shí)施一些框架決定的策略。較小的系統(tǒng)通??梢酝ㄟ^(guò)一種構(gòu)件容器結(jié)構(gòu)實(shí)現(xiàn);對(duì)于大型復(fù)雜的系統(tǒng),則需要用到多個(gè)構(gòu)件容器,多個(gè)構(gòu)件容器的協(xié)同,需要更高一層的構(gòu)件服務(wù)器框架實(shí)現(xiàn)。構(gòu)件是實(shí)現(xiàn)系統(tǒng)功能的基本單元,類似傳統(tǒng)軟件的功能模塊,由它們的實(shí)例組合實(shí)現(xiàn)功能的各個(gè)層次,構(gòu)件構(gòu)成了系統(tǒng)主要的垂直結(jié)構(gòu),構(gòu)件容器和服務(wù)器框架分別負(fù)責(zé)管理協(xié)同構(gòu)件和構(gòu)件容器[4]。
圖1 基于構(gòu)件的軟件體系結(jié)構(gòu)
在商用構(gòu)件的設(shè)計(jì)中,往往提倡兩個(gè)原則:分層與分離原則。分離與分層有所不同。分層是按照抽象層次的不同來(lái)劃分和組織系統(tǒng)的關(guān)系,各層之間的關(guān)系是客戶與服務(wù)器的關(guān)系或者說(shuō)是請(qǐng)求/服務(wù)關(guān)系;而分離一般是指同一抽象層次上,將功能相對(duì)獨(dú)立的構(gòu)件從系統(tǒng)其它部分抽取出來(lái)。在對(duì)系統(tǒng)進(jìn)行分層和分離后,還對(duì)各個(gè)構(gòu)件的合理性進(jìn)行分析,其目的在于降低耦合性,增強(qiáng)內(nèi)聚度,提高構(gòu)件的適用范圍與復(fù)用程度。
基于構(gòu)件的潛艇軟件體系結(jié)構(gòu)可以是一個(gè)縱橫交叉的二維層次結(jié)構(gòu),橫向?qū)哟谓Y(jié)構(gòu)由構(gòu)件、構(gòu)件容器、服務(wù)器框架 (即構(gòu)件—容器—服務(wù)器模型)組成;各個(gè)縱向?qū)哟尉凶约旱目v向結(jié)構(gòu),每一層實(shí)現(xiàn)一定的功能,高水平層次通過(guò)共享某些垂直層次集成低水平層次,構(gòu)件容器通過(guò)與構(gòu)件共享交互層集成了構(gòu)件層次,服務(wù)器框架通過(guò)共享框架交互層集成構(gòu)件容器。在潛艇作戰(zhàn)系統(tǒng)中,具體的功能構(gòu)件分布在用戶接口層可能比較恰當(dāng),可向用戶提供相應(yīng)的服務(wù)。
構(gòu)件在使用前已經(jīng)被組裝成為用戶可以直接調(diào)用運(yùn)行的程序,例如,對(duì)于潛艇作戰(zhàn)系統(tǒng)而言,當(dāng)操作人員在臺(tái)位上進(jìn)行某一項(xiàng)操作時(shí),構(gòu)件調(diào)用請(qǐng)求會(huì)動(dòng)態(tài)調(diào)用與其操作功能相對(duì)應(yīng)的構(gòu)件,即應(yīng)用根據(jù)需要實(shí)時(shí)加載功能構(gòu)件,當(dāng)操作完成時(shí),構(gòu)件會(huì)被自動(dòng)卸載。
采用層次化的潛艇作戰(zhàn)系統(tǒng)軟件體系結(jié)構(gòu),實(shí)現(xiàn)了作戰(zhàn)系統(tǒng)數(shù)據(jù)和應(yīng)用的邏輯分離,解決了潛艇作戰(zhàn)系統(tǒng)不同臺(tái)位上的數(shù)據(jù)共享和應(yīng)用互操作問(wèn)題,提高武器通道的精度[5]和系統(tǒng)的靈活性,改善系統(tǒng)的可維護(hù)性。能適應(yīng)潛艇傳感器武器及其控制技術(shù)不斷完善和發(fā)展的需要,根據(jù)需求可靈活地進(jìn)行系統(tǒng)配置。
3.2 潛艇作戰(zhàn)系統(tǒng)軟件體系結(jié)構(gòu)的實(shí)現(xiàn)
3.2.1 潛艇作戰(zhàn)系統(tǒng)軟件體系結(jié)構(gòu)開發(fā)參考模型
潛艇作戰(zhàn)系統(tǒng)軟件體系結(jié)構(gòu)開發(fā)參考模型是潛艇作戰(zhàn)系統(tǒng)軟件開發(fā)全部過(guò)程活動(dòng)和任務(wù)的結(jié)構(gòu)框架。它能清晰直觀地表達(dá)作戰(zhàn)系統(tǒng)軟件開發(fā)的全過(guò)程,明確規(guī)定了要完成的主要任務(wù),是潛艇作戰(zhàn)系統(tǒng)軟件開發(fā)的基礎(chǔ)?;跇?gòu)件的潛艇軟件體系結(jié)構(gòu)開發(fā)參考模型是一種全新的開發(fā)模型,是利用構(gòu)件技術(shù)特征與幾種經(jīng)典模型相結(jié)合的產(chǎn)物,如圖2所示。
在基于構(gòu)件的作戰(zhàn)系統(tǒng)軟件體系結(jié)構(gòu)的開發(fā)過(guò)程中,可以按7個(gè)階段進(jìn)行開發(fā),即系統(tǒng)方案論證;需求分析;基于構(gòu)件的系統(tǒng)設(shè)計(jì);功能構(gòu)件開發(fā);非構(gòu)件代碼的編寫;軟件集成和軟件測(cè)試。
圖2 潛艇作戰(zhàn)系統(tǒng)軟件體系結(jié)構(gòu)開發(fā)參考模型
3.2.2 潛艇作戰(zhàn)系統(tǒng)通用功能構(gòu)件劃分
通過(guò)研究認(rèn)為:潛艇作戰(zhàn)系統(tǒng)功能構(gòu)件大體上可以劃分為通用構(gòu)件和專用構(gòu)件,在不同的作戰(zhàn)背景和作戰(zhàn)需求下,潛艇作戰(zhàn)系統(tǒng)專用構(gòu)件的劃分方法和劃分粒度是不一樣的[6],但是對(duì)于通用功能構(gòu)件,我們認(rèn)為其劃分原則應(yīng)該是一致的。對(duì)于常規(guī)動(dòng)力潛艇而言,根據(jù)其作戰(zhàn)系統(tǒng)的主要功能,可將潛艇作戰(zhàn)系統(tǒng)的通用功能構(gòu)件劃分為以下子構(gòu)件。
圖3 潛艇作戰(zhàn)系統(tǒng)功能構(gòu)件
3.2.3 潛艇作戰(zhàn)系統(tǒng)軟件體系結(jié)構(gòu)的實(shí)現(xiàn)途徑
利用OMG組織制定的CORBA規(guī)范來(lái)進(jìn)行潛艇作戰(zhàn)系統(tǒng)軟件體系結(jié)構(gòu)的設(shè)計(jì)[7]。
CORBA一直為廣大開放系統(tǒng)平臺(tái)廠商所支持,它既不局限于特定系統(tǒng)平臺(tái),也不局限于特定開發(fā)語(yǔ)言,因此,它使用起來(lái)比較靈活。ORB是對(duì)象總線,它能使對(duì)象透明地向其他本地或遠(yuǎn)程對(duì)象發(fā)出請(qǐng)求或獲得應(yīng)答[8]。而客戶方并不需要了解服務(wù)對(duì)象的通信激活或存儲(chǔ)機(jī)制。ORB的任務(wù)就是把客戶發(fā)出的請(qǐng)求傳遞給目標(biāo)對(duì)象,并把目標(biāo)對(duì)象的執(zhí)行結(jié)果返回給發(fā)出請(qǐng)求的客戶[9]。它提供了客戶與目標(biāo)對(duì)象之間的交互透明性。也就是說(shuō),潛艇作戰(zhàn)系統(tǒng)的功能構(gòu)件通過(guò)ORB總線向調(diào)用者提供相應(yīng)的服務(wù),如圖4所示。
圖4 潛艇作戰(zhàn)系統(tǒng)的CORBA實(shí)現(xiàn)
利用構(gòu)件技術(shù)進(jìn)行潛艇作戰(zhàn)系統(tǒng)軟件體系結(jié)構(gòu)的設(shè)計(jì),可以對(duì)潛艇作戰(zhàn)系統(tǒng)軟件功能構(gòu)件進(jìn)行靈活配置,從而實(shí)現(xiàn)指控臺(tái)位的自由定義和跨戰(zhàn)位互操作?;跇?gòu)件的潛艇作戰(zhàn)系統(tǒng)軟件系體結(jié)構(gòu)提高了潛艇系統(tǒng)的可靠性,構(gòu)件的復(fù)用縮短了軟件開發(fā)的周期,符合“標(biāo)準(zhǔn)化、系列化、通用化”的設(shè)計(jì)思想,所以提高了軟件產(chǎn)品的質(zhì)量,節(jié)省了軟件開發(fā)的費(fèi)用。同時(shí),基于構(gòu)件的軟件體系結(jié)構(gòu)支持軟件的靈活分布和獨(dú)立升級(jí),可以有效提升潛艇作戰(zhàn)系統(tǒng)的作戰(zhàn)效能。
[1]李本昌,薛昌友.現(xiàn)代潛艇作戰(zhàn)軟件的需求與技術(shù)難點(diǎn)[J].火力與指揮控制,2004,29(6):73-76.
[2]晉朝勃.潛艇火控系統(tǒng)現(xiàn)狀及亟待解決的問(wèn)題[J].潛艇學(xué)術(shù)研究,1998(3):37-40.
[3]陳璇.網(wǎng)絡(luò)對(duì)時(shí)技術(shù)及應(yīng)用方向研究[J].中國(guó)艦船研究,2007,2(6):42-45.
[4]陸軍,張育平.基于構(gòu)件的軟件體系結(jié)構(gòu)實(shí)現(xiàn)技術(shù)[J].計(jì)算機(jī)工程與應(yīng)用,2002,38(4):115-117.
[5]李蕾,馮浩.作戰(zhàn)系統(tǒng)武器通道精度分配方法[J].中國(guó)艦船研究,2007,2(4):37-40.
[6]閔紹榮.艦艇作戰(zhàn)系統(tǒng)功能劃分方法[J].中國(guó)艦船研究,2007,2(5):24-29,37.
[7]The Common Object Request Broker:Architecture and Specification,Revision2.2[M].Framingham Massachusetts:USA,Object Management Group,2001.
[8]ORFALI R,HARKEY D,EDWARDS J.Instant CORBA[M].John Wiley Sons,Inc,1997.
[9]ALIEN R J.A formal approach to software architecture[D].PhD Thesis.Pittsburgh,PA:USA,Carnegie Mellon Univ,1997.
Modeling of Component-based Software Architecture for Submarine Combat Systems
Huang Kun Min Shao-rong
China Ship Development and Design Center,Wuhan 430064,China
Based on the current status of submarine combat system software,this paper analyzes demands of software function for submarine combat system,and presents a software architecture model for component-based submarine combat system.From this point of view,the paper establishes the software development model and identifies the general function components.Finally,it gives the implementation approach for the software architecture of submarine combat system.
combat system;submarine;component;software architecture
U674.76
A
1673-3185(2009)02-65-04
2007-11-20
海軍“十一五”預(yù)研項(xiàng)目(1010306010101)
黃 坤(1979-),男,工程師,碩士。研究方向:潛艇作戰(zhàn)系統(tǒng)。E-mail:hkcfan@126.com
閔紹榮(1961-),男,研究員。研究方向:艦艇作戰(zhàn)系統(tǒng)