鄧東旭 王學(xué)智 徐 躍
(空軍工程大學(xué) 西安 710051)
搜索雷達(dá)作為防空火力單元的重要組成部分[1],能夠?qū)δ繕?biāo)進(jìn)行搜索、識(shí)別和跟蹤,對(duì)防空作戰(zhàn)的過(guò)程具有重要影響。因此模擬搜索雷達(dá)并在防空火力單元的仿真軟件中使用,用于模擬對(duì)應(yīng)雷達(dá)的工作過(guò)程和性能,對(duì)于提高仿真火力單元的作戰(zhàn)性能和雷達(dá)自身精度上的逼真度具有重要影響。搜索雷達(dá)模擬軟件的主要功能是根據(jù)劇情產(chǎn)生系統(tǒng)的空情信息,模擬搜索雷達(dá)對(duì)目標(biāo)的探測(cè)發(fā)現(xiàn)過(guò)程,對(duì)探測(cè)到的目標(biāo)點(diǎn)跡進(jìn)行相關(guān)處理,形成目標(biāo)航跡,并發(fā)送給情報(bào)處理軟件。
由于面向過(guò)程的程序設(shè)計(jì)方法在大型項(xiàng)目中逐漸暴露出軟件的開(kāi)發(fā)難度大、不易維護(hù)等缺點(diǎn),而面向?qū)ο蠓治鰟t由于對(duì)對(duì)象的封裝、繼承等使得它更能靈活和高效的適應(yīng)需求的變化[2]。在不斷的使用和發(fā)展的的過(guò)程中,UML 逐漸成為一種功能強(qiáng)大,表達(dá)清晰且通用性較高的建模語(yǔ)言,本文針對(duì)搜索雷達(dá)仿真系統(tǒng)的特點(diǎn),基于面向?qū)ο蟮乃枷?,采用UML 對(duì)搜索雷達(dá)仿真系統(tǒng)進(jìn)行建模與實(shí)現(xiàn)[3]。
UML(Unified Modeling Language,統(tǒng)一建模語(yǔ)言)是由GrayBooch、Jim Rumbaugh、IvarJacobson 三位著名的面向?qū)ο蠹夹g(shù)專家在基于Booch 方法、OOSE 方法與OMT 方法上,提出的通用圖形化標(biāo)準(zhǔn)建模語(yǔ)言。該方法用視圖模型來(lái)描述系統(tǒng)結(jié)構(gòu)(靜態(tài))和行為(動(dòng)態(tài))。在軟件系統(tǒng)開(kāi)發(fā)過(guò)程中主要應(yīng)用到CIM(Computation Independent Model)和PIM(Platform Independent Model)階段的UML 模型。
CIM 關(guān)注于本系統(tǒng)與外部系統(tǒng)的交互,不涉及具體細(xì)節(jié),屬于概要設(shè)計(jì),具體包括以下三個(gè)步驟[4]:
CIM-1:確定系統(tǒng)功能,建立系統(tǒng)的用例模型。此階段描述了新建系統(tǒng)的總體功能。
CIM-2:分析系統(tǒng)工作流程,建立活動(dòng)圖。此階段需要分析CIM-1 階段的用例流程,繪制出活動(dòng)圖。
CIM-3:規(guī)定系統(tǒng)范圍,建立系統(tǒng)用例圖。次階段將反應(yīng)出CIM-1 和CIM-2 的具體執(zhí)行動(dòng)作。
PIM 屬于詳細(xì)設(shè)計(jì)階段,它不涉及系統(tǒng)的具體平臺(tái)且關(guān)注于軟件系統(tǒng)的內(nèi)部細(xì)節(jié)但,具體包括以下四個(gè)步驟:
PIM-1:分析系統(tǒng)流程,總結(jié)系統(tǒng)用例敘述。針對(duì)系統(tǒng)用例,分析其內(nèi)部細(xì)節(jié),并編寫系統(tǒng)用例敘述。
PIM-2:分析業(yè)務(wù)流程,建立狀態(tài)圖。根據(jù)業(yè)務(wù)流程,針對(duì)相應(yīng)業(yè)務(wù)對(duì)象繪制出狀態(tài)圖。
PIM-3:定義靜態(tài)結(jié)構(gòu),建立類圖。此階段用類表示系統(tǒng)內(nèi)部的靜態(tài)結(jié)構(gòu)。
PIM-4:定義操作及方法,建立序列圖。此階段用以表示系統(tǒng)內(nèi)對(duì)象間共同完成某一用例時(shí),相互間的動(dòng)態(tài)交互過(guò)程。
文中基于UML 的七個(gè)建模步驟,采用Visio 軟件工具對(duì)搜索雷達(dá)仿真軟件進(jìn)行建模[5]。文中先對(duì)搜索雷達(dá)的業(yè)務(wù)用例進(jìn)行建模,然后以搜索雷達(dá)業(yè)務(wù)用例中的“目標(biāo)探測(cè)模擬”為特例進(jìn)行建模。
1.2.1 業(yè)務(wù)用例建模
UML 模型中的用例建模通常用于描述系統(tǒng)應(yīng)該具備的功能。通過(guò)對(duì)搜索雷達(dá)仿真軟件的需求分析,對(duì)于防空作戰(zhàn)火力單元仿真系統(tǒng)來(lái)說(shuō),搜索雷達(dá)仿真軟件主要有三類功能:目標(biāo)探測(cè)模擬;航跡生成與管理;管控信息處理。用例如圖1所示。
圖1 搜索雷達(dá)仿真軟件用例圖
目標(biāo)探測(cè)模擬用于判別在有干擾或無(wú)干擾的條件下目標(biāo)是否能被雷達(dá)探測(cè)到[6]。結(jié)合目標(biāo)的狀態(tài)和特性,計(jì)算雷達(dá)對(duì)目標(biāo)的探測(cè)概率,判斷是否發(fā)現(xiàn)目標(biāo);根據(jù)雷達(dá)探測(cè)目標(biāo)的結(jié)果,對(duì)探測(cè)到的目標(biāo)點(diǎn)跡進(jìn)行相關(guān)處理并形成航跡;航跡生成與管理描述探測(cè)模型對(duì)探測(cè)到的目標(biāo)點(diǎn)跡進(jìn)行相關(guān)處理并形成航跡的過(guò)程;管控信息處理對(duì)接受到的作戰(zhàn)指揮軟件的管控命令進(jìn)行執(zhí)行處理,并將雷達(dá)的狀態(tài)返回給作戰(zhàn)指揮軟件[7]。由于目標(biāo)探測(cè)模擬功能是搜索雷達(dá)的主要功能,下面以用例‘目標(biāo)探測(cè)模擬’為例來(lái)講述如何利用UML 對(duì)搜索雷達(dá)仿真軟件進(jìn)行建模。
1.2.2 活動(dòng)圖建模
活動(dòng)圖類似軟件的流程圖,是每個(gè)業(yè)務(wù)用例的邏輯過(guò)程。但活動(dòng)圖是概念級(jí)的,見(jiàn)圖2。而軟件流程圖描述的則是具體的程序設(shè)計(jì)。下面主要針對(duì)目標(biāo)探測(cè)模擬用例分析其工作流程。
圖2 用例<目標(biāo)探測(cè)模擬>執(zhí)行活動(dòng)圖
用例<目標(biāo)探測(cè)模擬>的執(zhí)行流程描述如下:
(a)預(yù)處理接收的目標(biāo)信息,判斷該目標(biāo)是否在當(dāng)前扇區(qū),若目標(biāo)不在當(dāng)前扇區(qū),轉(zhuǎn)回(a)。若目標(biāo)在當(dāng)前扇區(qū),轉(zhuǎn)(b);
(b)計(jì)算雷達(dá)接收到的目標(biāo)回波功率;
(c)判斷當(dāng)前有無(wú)干擾,若無(wú)干擾,計(jì)算信噪比,轉(zhuǎn)e);
(d)有干擾,計(jì)算信干比,轉(zhuǎn)(e);
(e)計(jì)算雷達(dá)對(duì)目標(biāo)的探測(cè)概率;
(f)判斷本次掃描能否發(fā)現(xiàn)目標(biāo),若能發(fā)現(xiàn)目標(biāo),轉(zhuǎn)h);
(g)若不能發(fā)現(xiàn)目標(biāo),則轉(zhuǎn)(a);
(h)目標(biāo)位置信息加誤差;
(i)流程結(jié)束。
1.2.3 系統(tǒng)用例建模
系統(tǒng)用例模型將明確系統(tǒng)作用和范圍,是系統(tǒng)設(shè)計(jì)和開(kāi)發(fā)的基礎(chǔ)。在不考慮實(shí)現(xiàn)細(xì)節(jié)的基礎(chǔ)上來(lái)描述用戶的功能需求,見(jiàn)圖3。
圖3 用例<目標(biāo)探測(cè)模擬>用例圖
該用例描述模擬預(yù)警雷達(dá)探測(cè)目標(biāo)的過(guò)程。仿真雷達(dá)的探測(cè)能力,結(jié)合目標(biāo)的狀態(tài)和特性,計(jì)算雷達(dá)對(duì)目標(biāo)的探測(cè)概率,判斷是否發(fā)現(xiàn)目標(biāo);根據(jù)雷達(dá)探測(cè)目標(biāo)的結(jié)果,對(duì)探測(cè)到的目標(biāo)點(diǎn)跡進(jìn)行相關(guān)處理并形成航跡。
1.2.4 用例說(shuō)明
系統(tǒng)用例描述是針對(duì)每一個(gè)系統(tǒng)用例,分析其內(nèi)部細(xì)節(jié),編寫成系統(tǒng)用例敘述。
以下是對(duì)<目標(biāo)探測(cè)模擬>的用例敘述:
(1)劇情產(chǎn)生軟件發(fā)送空情信息;
(2)作戰(zhàn)指揮軟件發(fā)送雷達(dá)開(kāi)機(jī)命令;
(3)對(duì)接受到的目標(biāo)信息進(jìn)行處理;
(4)計(jì)算該目標(biāo)是否已經(jīng)被探測(cè)到;
(5)進(jìn)行編批處理,形成航跡。
1.2.5 狀態(tài)圖建模
狀態(tài)圖可以捕獲對(duì)象、子系統(tǒng)、和系統(tǒng)的生命周期。它們可以告知一個(gè)對(duì)象可以擁有的狀態(tài),并且事件會(huì)怎樣隨著時(shí)間的推移來(lái)影響這些狀態(tài)。
狀態(tài)圖是活動(dòng)圖的一個(gè)變體,兩者的表現(xiàn)形式殊途同歸。基于目標(biāo)探測(cè)模塊的特點(diǎn),本文同時(shí)用圖2 來(lái)表示用例<目標(biāo)探測(cè)模擬>的狀態(tài)圖。
1.2.6 類圖建模
在UML 中,用類圖和對(duì)象圖來(lái)表示類與對(duì)象模型,屬于靜態(tài)建模的范疇。類與對(duì)象是面向?qū)ο蠹夹g(shù)的基本元素,類是對(duì)同一類事物的抽象。面向?qū)ο蟪绦蛟O(shè)計(jì)優(yōu)于常規(guī)面向過(guò)程程序設(shè)計(jì)的特點(diǎn)是對(duì)對(duì)象(或類)的封裝性,實(shí)現(xiàn)了對(duì)程序功能模塊的封裝,進(jìn)而使整個(gè)程序做到“高內(nèi)聚、低耦合”。
以搜索雷達(dá)為關(guān)注點(diǎn)的有關(guān)類,主要包括‘目標(biāo)探測(cè)管理(TargetProcess)’類,‘管控信息處理(InformationManage)’類,‘航跡生成與管理(SimulationManage)’類,‘控制管理(ManageControl)’類。見(jiàn)圖4。
圖4 用例<目標(biāo)探測(cè)模擬>類圖
在圖-中,給出了四個(gè)類,每個(gè)類都有自己的屬性(數(shù)據(jù))和操作,‘目標(biāo)探測(cè)模擬’類,即TargetProcess 類的屬性和操作見(jiàn)下敘述。
1)屬性:
m_taget
屬性描述:待處理目標(biāo)
2)操作:
FindTarget:目標(biāo)發(fā)現(xiàn)判斷,若在連續(xù)五個(gè)周期中有三個(gè)周期中能發(fā)現(xiàn)目標(biāo),則標(biāo)示為跟蹤,否則丟棄;
GiveTargetNum:給跟蹤的目標(biāo)編批號(hào);
IsInShanqu:判斷目標(biāo)是否在雷達(dá)扇區(qū)范圍之內(nèi);
GiveFindProbality:計(jì)算雷達(dá)探測(cè)目標(biāo)的概率。
1.2.7 序列圖建模
為詳細(xì)考察類的動(dòng)態(tài)結(jié)構(gòu),可利用序列圖定義程序執(zhí)行時(shí)每一步需要執(zhí)行的具體操作。圖5 顯示了對(duì)象之間的動(dòng)態(tài)協(xié)作,著重描述對(duì)象間消息傳遞的時(shí)間順序。序列圖的兩個(gè)坐標(biāo)軸,橫坐標(biāo)為顯示對(duì)象,縱坐標(biāo)為顯示時(shí)間。
圖5 用例<目標(biāo)探測(cè)模擬>序列圖
為得到更完備的類圖,可根據(jù)序列圖和靜態(tài)類圖進(jìn)一步開(kāi)發(fā)程序需要的類。
為適應(yīng)系統(tǒng)需求,采用模塊化思想對(duì)所建立的搜索雷達(dá)仿真系統(tǒng)進(jìn)行編程實(shí)現(xiàn)。在相繼完成目標(biāo)探測(cè),管控信息處理和航跡生成與管理用例的建模后,使用VC++6.0 編程工具提供的MFC AppWizard(dll)組件開(kāi)發(fā)功能,按照系統(tǒng)的邏輯架構(gòu)設(shè)計(jì)實(shí)現(xiàn),如圖6所示。
將建立的搜索雷達(dá)仿真軟件應(yīng)用于某防空火力單元仿真系統(tǒng)中,實(shí)現(xiàn)了某型搜索雷達(dá)的仿真系統(tǒng),雷達(dá)顯示界面如圖7所示。
本文根據(jù)防空火力單元仿真系統(tǒng)對(duì)雷達(dá)裝備的特殊要求,依據(jù)雷達(dá)裝備的用途和工作原理,提出一種基于模塊化的雷達(dá)裝備建模與仿真框架。建立并實(shí)現(xiàn)了一種通用性強(qiáng),可移植性好的雷達(dá)系統(tǒng)模擬軟件。目前,該仿真軟件在成功應(yīng)用于某防空火力單元仿真系統(tǒng)的過(guò)程中能夠較好的反映雷達(dá)的工作流程及實(shí)際性能。
圖6 搜索雷達(dá)探測(cè)仿真模型處理流程
圖7 搜索雷達(dá)仿真軟件工作界面
[1]李冬,劉海業(yè),蘇春梅,薛芳俠.地空導(dǎo)彈營(yíng)火力單元仿真設(shè)計(jì)[J].火力與指揮控制2007,32(12):106-109.
[2]劉婷,張江華,聶強(qiáng),李依林.基于UML 的雷達(dá)導(dǎo)引頭系統(tǒng)軟件工程過(guò)程[J].火控雷達(dá)技術(shù).2012,41(4):26-30.
[3]何春俐.建模語(yǔ)言UML 的研究[J].機(jī)械管理開(kāi)發(fā),2010,25(1):177-178.
[4]邱郁慧.系統(tǒng)分析師UML 實(shí)務(wù)手冊(cè)[M].機(jī)械工業(yè)出版社,2008.
[5]陸波,華祖耀.面向?qū)ο蟮能浖こ膛c統(tǒng)一建模語(yǔ)言UML[J].電腦開(kāi)發(fā)與應(yīng)用,2002,15(9):18-22.
[6]王曉紅,沈永福.作戰(zhàn)系統(tǒng)仿真中的雷達(dá)建模與仿真研究[J].系統(tǒng)仿真學(xué)報(bào),2005,17(7):1535-1537.
[7]吉玉潔,張高峰,吳亮.應(yīng)用于仿真訓(xùn)練的模塊化雷達(dá)建模與實(shí)現(xiàn)[J].系統(tǒng)仿真學(xué)報(bào),2014,26(2):242-247.