李 策,楊 博
(國(guó)防大學(xué)聯(lián)合作戰(zhàn)學(xué)院,河北石家莊 050084)
在軟件系統(tǒng)開(kāi)發(fā)領(lǐng)域,框架是一種包含特定領(lǐng)域應(yīng)用的,具有通用功能、易擴(kuò)展、可復(fù)用和提供外部開(kāi)發(fā)接口的一種軟件構(gòu)件形式。一個(gè)好的框架可提高領(lǐng)域應(yīng)用系統(tǒng)開(kāi)發(fā)效率、增強(qiáng)系統(tǒng)的靈活性。
陸軍合同戰(zhàn)斗仿真實(shí)驗(yàn)分析中,即使對(duì)同一組仿真結(jié)果數(shù)據(jù)集,面向靜態(tài)和動(dòng)態(tài)、綜合和要素、全程和片段等評(píng)估要求,其評(píng)估內(nèi)容和評(píng)估結(jié)果在表現(xiàn)形式上有很大的不同。隨著各種新型裝備投入使用和新戰(zhàn)法的運(yùn)用,評(píng)估分析的內(nèi)容也會(huì)隨之變化,因此需要一種能滿(mǎn)足快速開(kāi)發(fā)和適應(yīng)變化的軟件開(kāi)發(fā)基礎(chǔ)框架,以有效提高構(gòu)造評(píng)估分析系統(tǒng)的能力。
本文基于框架技術(shù)思想和仿真實(shí)驗(yàn)分析需求,結(jié)合近年來(lái)開(kāi)發(fā)評(píng)估分析軟件的經(jīng)驗(yàn),抽取陸軍合同戰(zhàn)斗仿真分析中的通用功能,構(gòu)成實(shí)驗(yàn)評(píng)估分析框架,通過(guò)封裝最基本的一組功能和外部接口,供開(kāi)發(fā)人員進(jìn)行擴(kuò)展和實(shí)例化,滿(mǎn)足快速生成不同評(píng)估目的的分析系統(tǒng)。
從應(yīng)用和開(kāi)發(fā)的視角看,評(píng)估分析框架由功能、邏輯和接口三部分組成。
應(yīng)用功能為面向使用者所表現(xiàn)出來(lái)的評(píng)估功能,主要由靜態(tài)評(píng)估顯示、動(dòng)態(tài)評(píng)估顯示、態(tài)勢(shì)過(guò)程復(fù)現(xiàn)以及評(píng)估報(bào)告生成等組成,其需要的相關(guān)支持模塊關(guān)系見(jiàn)圖1。
圖1 框架的應(yīng)用功能結(jié)構(gòu)和組成
按照模塊功能獨(dú)立、分層的原則,框架的邏輯結(jié)構(gòu)從低層到上層劃分為數(shù)據(jù)資源層、數(shù)據(jù)解析層、模型計(jì)算層和展現(xiàn)應(yīng)用層,鄰層之間下層為上層提供支持,各層組成結(jié)構(gòu)見(jiàn)圖2。
圖2 框架的邏輯結(jié)構(gòu)
對(duì)外提供的接口主要有圖形顯示、靜態(tài)評(píng)估數(shù)據(jù)、動(dòng)態(tài)評(píng)估數(shù)據(jù)、行動(dòng)過(guò)程數(shù)據(jù)、評(píng)估模型開(kāi)發(fā)和報(bào)告生成接口,事件管理調(diào)度器用于協(xié)調(diào)內(nèi)部各種數(shù)據(jù)的訪問(wèn)和解析,其組成結(jié)構(gòu)見(jiàn)圖3。
圖3 框架的接口結(jié)構(gòu)和組成
框架中行動(dòng)解析器、協(xié)同分析器和跟蹤過(guò)濾器位于中間環(huán)節(jié),起著承上啟下的轉(zhuǎn)換連接作用。
行動(dòng)解析器是以實(shí)體編碼、時(shí)間、簡(jiǎn)令和地點(diǎn)等組合條件為輸入,以具有一定作戰(zhàn)行動(dòng)軍事含義的結(jié)構(gòu)化數(shù)據(jù)集為輸出的功能模塊,支持行動(dòng)效果計(jì)算和行動(dòng)過(guò)程數(shù)據(jù)展示,其基本結(jié)構(gòu)和組成見(jiàn)圖4。
分類(lèi)器以實(shí)體名稱(chēng)(編碼)為基本輸入元素,在類(lèi)別數(shù)據(jù)庫(kù)的支持下,通過(guò)與指令、時(shí)刻等條件組合,對(duì)實(shí)體的靜態(tài)數(shù)據(jù)和動(dòng)態(tài)數(shù)據(jù)進(jìn)行分類(lèi)。實(shí)體的靜態(tài)數(shù)據(jù)按照實(shí)體的生成時(shí)刻、類(lèi)別、所屬作戰(zhàn)編組、指揮關(guān)系以及支援和保障關(guān)系等進(jìn)行分類(lèi)。實(shí)體的動(dòng)態(tài)數(shù)據(jù)可按照五個(gè)視圖的方式進(jìn)行分類(lèi)組織。其中,數(shù)據(jù)視圖按照時(shí)間軸(空間區(qū)域)給出每個(gè)時(shí)刻點(diǎn)(或位置點(diǎn))上人員、裝備和損耗等數(shù)據(jù)。行動(dòng)視圖按照時(shí)間軸(空間區(qū)域)給出每個(gè)時(shí)刻點(diǎn)(或位置點(diǎn))上執(zhí)行的行動(dòng),也可按照時(shí)間區(qū)間(局部區(qū)域)給出相應(yīng)的行動(dòng)。報(bào)告視圖從報(bào)文中抽取各種數(shù)據(jù)元素,按照時(shí)間軸(空間區(qū)域)給出每個(gè)時(shí)刻點(diǎn)(或位置點(diǎn))上的報(bào)告數(shù)據(jù)。狀態(tài)視圖反映實(shí)體作戰(zhàn)過(guò)程中實(shí)體的動(dòng)態(tài)屬性變化,可在時(shí)間軸給出狀態(tài)變化的內(nèi)容,也可按照實(shí)體的運(yùn)動(dòng)軌跡給出發(fā)生變化的屬性。交互視圖反應(yīng)實(shí)體在作戰(zhàn)過(guò)程中所發(fā)生的己方、敵方以及環(huán)境實(shí)體間的交互情況,可按照時(shí)間軸和位置軌跡給出交互發(fā)生的行動(dòng)和效果。關(guān)聯(lián)輸出器的作用是將相對(duì)獨(dú)立的五個(gè)視圖中的數(shù)據(jù)進(jìn)行關(guān)聯(lián)后輸出,如將某實(shí)體一個(gè)行動(dòng)的內(nèi)容、執(zhí)行結(jié)果、交互效果和報(bào)告數(shù)據(jù)進(jìn)行關(guān)聯(lián)可形成該實(shí)體某一方面的完整描述。
圖4 行動(dòng)解析器的結(jié)構(gòu)和組成
協(xié)同分析器是以作戰(zhàn)階段、協(xié)同內(nèi)容和實(shí)體屬性等組合條件為輸入,以具有作戰(zhàn)行動(dòng)協(xié)同含義的結(jié)構(gòu)化數(shù)據(jù)集為輸出的功能模塊,支持進(jìn)一步的作戰(zhàn)協(xié)同行動(dòng)效果評(píng)估和數(shù)據(jù)效果展示,其基本結(jié)構(gòu)見(jiàn)圖5。其中,分類(lèi)器的作用是按照不同領(lǐng)域?qū)f(xié)同內(nèi)容具體區(qū)分,在每個(gè)領(lǐng)域內(nèi),將該領(lǐng)域相關(guān)實(shí)體執(zhí)行模型中的動(dòng)作、狀態(tài)、報(bào)告等數(shù)據(jù)以及接收的指令按照時(shí)間軸形成序列化結(jié)構(gòu);時(shí)空與目標(biāo)關(guān)聯(lián)解析器通過(guò)對(duì)這些序列中實(shí)體間支援關(guān)系、保障關(guān)系、交戰(zhàn)關(guān)系、相對(duì)位置關(guān)系以及搭載關(guān)系進(jìn)行解析,從中析取反映協(xié)同的具體數(shù)據(jù),最后分類(lèi)輸出相應(yīng)的數(shù)據(jù)集。
圖5 協(xié)同分析器的結(jié)構(gòu)和組成
跟蹤過(guò)濾器是按照其他模塊提交的數(shù)據(jù)需求,將行動(dòng)解析、協(xié)同分析產(chǎn)生的數(shù)據(jù)以及源于方案數(shù)據(jù)庫(kù)的設(shè)計(jì)數(shù)據(jù)進(jìn)行檢索過(guò)濾,以實(shí)體為線索將實(shí)體的動(dòng)態(tài)數(shù)據(jù)按照時(shí)間變化的順序提供給需求方,其結(jié)構(gòu)見(jiàn)圖6。跟蹤過(guò)濾器在工作過(guò)程中需要調(diào)用行動(dòng)解析器和協(xié)同分析器的內(nèi)部接口,分類(lèi)產(chǎn)生按時(shí)間排序的位置、偵察、交戰(zhàn)等類(lèi)別的數(shù)據(jù)流,再經(jīng)過(guò)條件過(guò)濾篩選,輸出滿(mǎn)足查詢(xún)條件的數(shù)據(jù)流。
圖6 跟蹤過(guò)濾器的結(jié)構(gòu)和組成
評(píng)估分析框架采用面向?qū)ο蟮能浖O(shè)計(jì)方法,首先確定每層對(duì)象類(lèi)的組成,然后建立層之間的交互關(guān)系,其組成結(jié)構(gòu)見(jiàn)圖7。
數(shù)據(jù)資源層主要由實(shí)體管理類(lèi)、實(shí)體類(lèi)、編組類(lèi)、目標(biāo)類(lèi)、行動(dòng)類(lèi)、任務(wù)類(lèi)、標(biāo)準(zhǔn)管理類(lèi)和評(píng)估標(biāo)準(zhǔn)類(lèi)等組成,用于描述實(shí)驗(yàn)方案數(shù)據(jù)、仿真模擬數(shù)據(jù)和方案評(píng)估數(shù)據(jù),提供與數(shù)據(jù)解析層、模型計(jì)算層和展現(xiàn)應(yīng)用層的各類(lèi)接口。地形數(shù)據(jù)、氣象數(shù)據(jù)、資料數(shù)據(jù)和其他基礎(chǔ)數(shù)據(jù)的訪問(wèn)功能由相關(guān)支撐平臺(tái)提供。實(shí)體管理類(lèi)EntityManager負(fù)責(zé)實(shí)驗(yàn)各方相關(guān)實(shí)體的數(shù)據(jù)管理、評(píng)估分析等;實(shí)體類(lèi)Entity描述兵力實(shí)體和武器平臺(tái),也是環(huán)境實(shí)體的基類(lèi);編組類(lèi)Group描述各作戰(zhàn)編組,由一組實(shí)體組成;目標(biāo)類(lèi)Target描述目標(biāo)的類(lèi)型、狀態(tài)和毀傷情況等;行動(dòng)類(lèi)Action描述實(shí)體的作戰(zhàn)行動(dòng)、保障行動(dòng)和支援行動(dòng);任務(wù)類(lèi)Mission描述作戰(zhàn)編組和實(shí)體的各類(lèi)任務(wù);評(píng)估標(biāo)準(zhǔn)類(lèi)Standard描述用于評(píng)估分析的標(biāo)準(zhǔn)數(shù)據(jù)和參考數(shù)據(jù);標(biāo)準(zhǔn)管理類(lèi)StandardManager用于實(shí)驗(yàn)評(píng)估標(biāo)準(zhǔn)管理。
數(shù)據(jù)解析層主要由行動(dòng)解析類(lèi)、協(xié)同分析類(lèi)和跟蹤過(guò)濾類(lèi)等基類(lèi)組成,由各實(shí)體類(lèi)、編組類(lèi)、目標(biāo)類(lèi)、行動(dòng)類(lèi)和任務(wù)類(lèi)等實(shí)現(xiàn),提供與數(shù)據(jù)資源層、模型計(jì)算層和展現(xiàn)應(yīng)用層的各類(lèi)接口。行動(dòng)解析類(lèi)ActionAnalysis負(fù)責(zé)對(duì)實(shí)體的行動(dòng)執(zhí)行情況進(jìn)行解析,還原行動(dòng)執(zhí)行的細(xì)節(jié),分析行動(dòng)的關(guān)聯(lián)影響因素;協(xié)同分析類(lèi)EntityCooperateEvaluate負(fù)責(zé)對(duì)實(shí)體間存在的協(xié)同動(dòng)作進(jìn)行分析,查找動(dòng)作沖突情況,分析協(xié)同匹配環(huán)節(jié),估算協(xié)同時(shí)間,計(jì)算協(xié)同效果;跟蹤過(guò)濾類(lèi)Filter負(fù)責(zé)對(duì)行動(dòng)解析,協(xié)同解析產(chǎn)生的數(shù)據(jù)和其他實(shí)驗(yàn)數(shù)據(jù)進(jìn)行過(guò)濾跟蹤。
模型計(jì)算層主要由評(píng)估模型接口、靜態(tài)評(píng)估模型工廠、動(dòng)態(tài)評(píng)估模型工廠、各評(píng)估模型和評(píng)估結(jié)果類(lèi)等組成。評(píng)估模型接口ModelInterface負(fù)責(zé)描述評(píng)估模型的各類(lèi)接口定義;靜態(tài)評(píng)估模型工廠PlanEvaModel-Factory負(fù)責(zé)創(chuàng)建靜態(tài)評(píng)估模型;動(dòng)態(tài)評(píng)估模型工廠SimEvaModelFactory負(fù)責(zé)創(chuàng)建動(dòng)態(tài)評(píng)估模型;模型類(lèi)PlanEvaluateModel、SimEvaluateModel是各種評(píng)估模型的基類(lèi),分別用于靜態(tài)評(píng)估和動(dòng)態(tài)評(píng)估,PlanEvaluateModel以實(shí)驗(yàn)方案的決心和任務(wù)數(shù)據(jù)為基礎(chǔ)實(shí)現(xiàn)方案的靜態(tài)評(píng)估,SimEvaluateModel以模擬過(guò)程和行動(dòng)效果數(shù)據(jù)為基礎(chǔ)進(jìn)行方案的動(dòng)態(tài)評(píng)估;評(píng)估結(jié)果類(lèi)Result負(fù)責(zé)保存評(píng)估分析結(jié)果數(shù)據(jù)。
展現(xiàn)應(yīng)用層主要由評(píng)估管理、方案管理、評(píng)估結(jié)果管理、顯示控制和報(bào)告生成等類(lèi)組成,負(fù)責(zé)與用戶(hù)間進(jìn)行交互,展現(xiàn)相關(guān)分析結(jié)果。評(píng)估管理類(lèi)EvaluateManager負(fù)責(zé)總體控制和管理;方案管理類(lèi)PlanManager負(fù)責(zé)實(shí)驗(yàn)相關(guān)方案數(shù)據(jù)的加載、評(píng)估分析的調(diào)度;評(píng)估結(jié)果管理類(lèi)ResultManager負(fù)責(zé)實(shí)驗(yàn)評(píng)估分析結(jié)果數(shù)據(jù)的管理;顯示控制類(lèi)Display負(fù)責(zé)按照需要提供以文、圖、表等形式顯示實(shí)驗(yàn)數(shù)據(jù);報(bào)告生成類(lèi)Report負(fù)責(zé)匯總評(píng)估結(jié)果和生成報(bào)告文檔。
圖7 評(píng)估分析框架的類(lèi)組成結(jié)構(gòu)圖
框架的實(shí)現(xiàn)由評(píng)估管理類(lèi)EvaluateManager進(jìn)行總體控制,可分為數(shù)據(jù)加載、實(shí)驗(yàn)評(píng)估和結(jié)果分析三個(gè)階段,見(jiàn)圖8。
圖8 評(píng)估分析框架的交互實(shí)現(xiàn)圖
數(shù)據(jù)加載階段,通過(guò)類(lèi)EvaluateManager、PlanManager和EntityManager的Load()方法加載實(shí)驗(yàn)方案數(shù)據(jù)、實(shí)體數(shù)據(jù)、行動(dòng)數(shù)據(jù)、任務(wù)數(shù)據(jù)和目標(biāo)數(shù)據(jù),保存到方案鏈表PlanList、實(shí)體鏈表EntityList、編組鏈表GroupList、任務(wù)鏈表MissionList、行動(dòng)鏈表ActionList、目標(biāo)鏈表TargetList中。實(shí)體鏈表包含實(shí)驗(yàn)方案各實(shí)驗(yàn)方的實(shí)體類(lèi)實(shí)例,各實(shí)體類(lèi)包含人員列表、裝備列表、彈藥列表、物資列表和行動(dòng)列表等,通過(guò)Load()等接口與其他模型和顯示等類(lèi)進(jìn)行交互。
實(shí)驗(yàn)評(píng)估階段,通過(guò)類(lèi)EvaluateManager調(diào)度ModelFactory創(chuàng)建評(píng)估模型EvaluateModel,由模型類(lèi)加載所需的評(píng)估標(biāo)準(zhǔn)到標(biāo)準(zhǔn)列表StandardList中,并通過(guò)Evaluate()方法執(zhí)行評(píng)估過(guò)程。評(píng)估執(zhí)行過(guò)程中需要用到實(shí)體、目標(biāo)、任務(wù)、行動(dòng)、協(xié)同分析、行動(dòng)解析和顯示等類(lèi),通過(guò)Evaluate()、Filter()等接口進(jìn)行交互合作。
結(jié)果分析階段,通過(guò)類(lèi)EvaluateManager調(diào)度Display的Show()接口,將評(píng)估結(jié)果以文、圖、表、態(tài)勢(shì)圖等方式展現(xiàn)出來(lái),通過(guò)人機(jī)交互接口對(duì)評(píng)估結(jié)果進(jìn)行數(shù)據(jù)重構(gòu)、原因追溯和統(tǒng)計(jì)分析等操作,從時(shí)間域、空間域和業(yè)務(wù)域多個(gè)方位展示實(shí)驗(yàn)各方實(shí)體在戰(zhàn)場(chǎng)空間內(nèi)的交互過(guò)程及結(jié)果。
為了滿(mǎn)足各種仿真實(shí)驗(yàn)的不同評(píng)估需求,快速構(gòu)建實(shí)驗(yàn)評(píng)估分析系統(tǒng),本文基于軟件的構(gòu)件技術(shù)思想,首先從功能、邏輯和接口三個(gè)視角描述了評(píng)估分析框架的結(jié)構(gòu)組成,重點(diǎn)對(duì)構(gòu)成框架關(guān)鍵功能的行動(dòng)解析器、協(xié)同分析器和跟蹤過(guò)濾器等模塊進(jìn)行了結(jié)構(gòu)設(shè)計(jì),最后用面向?qū)ο蟮姆椒ńo出了框架的設(shè)計(jì)和實(shí)現(xiàn),為評(píng)估應(yīng)用開(kāi)發(fā)設(shè)計(jì)了通用基礎(chǔ)部件,有利于實(shí)驗(yàn)評(píng)估分析系統(tǒng)開(kāi)發(fā)效率的提升。