秦媛媛
(中國(guó)電子科學(xué)研究院,北京 100041)
?
作戰(zhàn)實(shí)體的行為建模設(shè)計(jì)與實(shí)現(xiàn)
秦媛媛
(中國(guó)電子科學(xué)研究院,北京100041)
摘要:作戰(zhàn)模擬訓(xùn)練系統(tǒng)中用戶戰(zhàn)術(shù)戰(zhàn)法和作戰(zhàn)規(guī)則多種多樣,這導(dǎo)致作戰(zhàn)實(shí)體行為建模過(guò)程異常繁瑣,且基于事件驅(qū)動(dòng)的任務(wù)執(zhí)行過(guò)程中實(shí)體行為模型的可重用性差。針對(duì)這些等問(wèn)題,本文給出了組合構(gòu)造的行為建模方法,從某型作戰(zhàn)模擬訓(xùn)練系統(tǒng)中的實(shí)際應(yīng)用效果來(lái)看,任務(wù)模型的構(gòu)建十分靈活而且易于操作,模型的重用率高,可以靈活構(gòu)建訓(xùn)練內(nèi)容,降低了系統(tǒng)的設(shè)計(jì)開發(fā)成本。
關(guān)鍵詞:作戰(zhàn)實(shí)體; 行為建模; 任務(wù)模型
1技術(shù)背景
在作戰(zhàn)模擬訓(xùn)練系統(tǒng)設(shè)計(jì)過(guò)程中,作戰(zhàn)實(shí)體的建模和實(shí)體作戰(zhàn)行為的建模是兩大核心內(nèi)容。實(shí)體的行為表示是否準(zhǔn)確、行為模型是否真實(shí),直接影響了訓(xùn)練的效果。而實(shí)際作戰(zhàn)中的作戰(zhàn)行為與軍事背景緊密相關(guān),是靈活多樣、甚至是不可以窮舉的,因此作戰(zhàn)實(shí)體行為的建模是作戰(zhàn)模擬訓(xùn)練中的主要困難之一。
通常行為建模主要由軍事專家和技術(shù)開發(fā)人員協(xié)同完成。首先以具備深厚作戰(zhàn)知識(shí)和背景的軍事專家作為主導(dǎo),分析獲取作戰(zhàn)任務(wù)的需求,建立任務(wù)知識(shí)庫(kù);其次,根據(jù)實(shí)際情況,選擇一種既方便軍事專家建模又便于技術(shù)開發(fā)人員理解的建模語(yǔ)言,將任務(wù)知識(shí)庫(kù)中的每一條任務(wù)建立作戰(zhàn)任務(wù)的抽象概念模型,形成概念模型庫(kù)[1]。最后,針對(duì)概念模型庫(kù)中的每一條作戰(zhàn)任務(wù),技術(shù)開發(fā)人員將其計(jì)算機(jī)化,轉(zhuǎn)化為可以由計(jì)算機(jī)執(zhí)行的軟件程序,并且在開發(fā)過(guò)程中,軍事專家需要核驗(yàn)軟件程序是否真實(shí)的反映了他們最初的意圖,并且需要隨時(shí)與技術(shù)開發(fā)人員進(jìn)行交互。
依據(jù)作戰(zhàn)任務(wù)建模通行方案,建立的作戰(zhàn)任務(wù)庫(kù)大多數(shù)是相對(duì)固定的,因此訓(xùn)練存在局限性??赡軙?huì)由于前期的考慮不周全而導(dǎo)致部分訓(xùn)練內(nèi)容沒(méi)有被包含到任務(wù)庫(kù)中,并且當(dāng)用戶認(rèn)為當(dāng)前任務(wù)庫(kù)中的任務(wù)無(wú)法滿足訓(xùn)練要求或者是某些任務(wù)的作戰(zhàn)規(guī)則發(fā)生變化需要改變時(shí),需要先由軍事專家來(lái)建立或者修改概念模型,再由技術(shù)開發(fā)人員編程實(shí)現(xiàn),整個(gè)過(guò)程十分繁瑣,且難以維護(hù)。
而且,仿真實(shí)體模型的執(zhí)行完全依靠仿真引擎的事件驅(qū)動(dòng)完成,自身沒(méi)有任何自主執(zhí)行能力。當(dāng)一個(gè)動(dòng)作執(zhí)行結(jié)束之后,任務(wù)引擎收回裝備實(shí)體的控制權(quán),接收該動(dòng)作執(zhí)行產(chǎn)生的所有輸出,同時(shí)按照當(dāng)前任務(wù)中各動(dòng)作的邏輯次序關(guān)系,為后繼動(dòng)作收集輸入?yún)?shù),之后啟動(dòng)后繼動(dòng)作并將輸入?yún)?shù)以及控制權(quán)交給該后繼動(dòng)作。在此過(guò)程中,仿真實(shí)體模型主要依靠仿真引擎給出的事件表,完成任務(wù)執(zhí)行。由于仿真實(shí)體模型無(wú)法自主執(zhí)行,各實(shí)體模型中沒(méi)有給出各動(dòng)作中的后續(xù)動(dòng)作,現(xiàn)有建模技術(shù)無(wú)法將不同的狀態(tài)、選擇條件串起來(lái)完成某個(gè)任務(wù),導(dǎo)致已經(jīng)建立的任務(wù)模型無(wú)法重用[2]。
本文設(shè)計(jì)的作戰(zhàn)實(shí)體行為模型表示為由動(dòng)作模型、執(zhí)行條件和消息模型可視化生成的任務(wù)模型,基于事件觸發(fā)的高效率任務(wù)引擎用于執(zhí)行實(shí)體的行為模型。建立了組合構(gòu)造的作戰(zhàn)實(shí)體行為建模方法,實(shí)現(xiàn)了仿真行為資源更細(xì)粒度上的重用和更高效的互操作,解決了不同用戶戰(zhàn)術(shù)戰(zhàn)法和作戰(zhàn)規(guī)則不同導(dǎo)致的實(shí)體行為靈活性建模的難題,支持和方便用戶軍事人員根據(jù)其作戰(zhàn)規(guī)則定制符合自身需要的作戰(zhàn)實(shí)體行為模型,提供了所見(jiàn)即所得的實(shí)體行為建模能力。
2行為建模技術(shù)設(shè)計(jì)
實(shí)體狀態(tài)是對(duì)作戰(zhàn)實(shí)體某一特定時(shí)刻的靜態(tài)表示,實(shí)體行為是實(shí)體狀態(tài)的變化過(guò)程,是狀態(tài)轉(zhuǎn)移的動(dòng)因和根據(jù)。在實(shí)體行為的建模中,考慮兩種粒度的行為:動(dòng)作和任務(wù)[3]。
動(dòng)作(Action):動(dòng)作定義為任務(wù)實(shí)施過(guò)程中的步驟或工序,是最小的、不可再細(xì)分的行為概念;
任務(wù)(Task):一項(xiàng)任務(wù)定義為執(zhí)行一個(gè)具體的作戰(zhàn)命令的過(guò)程,是具有明確作戰(zhàn)意圖的軍事行動(dòng),它可由實(shí)體的一個(gè)或多個(gè)動(dòng)作構(gòu)成。
編輯形成作戰(zhàn)任務(wù)模型主要包括四個(gè)階段,其中前三個(gè)階段主要完成建立動(dòng)作庫(kù)、消息庫(kù)、條件庫(kù)、任務(wù)庫(kù),具體執(zhí)行流程見(jiàn)圖1。
圖1 任務(wù)引擎執(zhí)行流程Fig.1 Mission engine implementation flow path
第一階段:在模型服務(wù)器建立動(dòng)作庫(kù)、消息庫(kù)、條件庫(kù)、任務(wù)庫(kù)4個(gè)數(shù)據(jù)庫(kù),并通過(guò)動(dòng)作導(dǎo)入和編輯模塊、消息導(dǎo)入與編輯模塊、條件編輯模塊分別填寫動(dòng)作庫(kù)、消息庫(kù)、條件庫(kù)3個(gè)庫(kù)的數(shù)據(jù)項(xiàng)。
(1) 動(dòng)作庫(kù)包括序號(hào)、名稱、啟動(dòng)命令、參數(shù)4個(gè)數(shù)據(jù)項(xiàng);
(2) 消息庫(kù)包括序號(hào)、名稱、內(nèi)容3個(gè)數(shù)據(jù)項(xiàng);
(3) 條件庫(kù)包括序號(hào)、名稱、數(shù)據(jù)類型、取值范圍5個(gè)數(shù)據(jù)項(xiàng);
(4) 任務(wù)庫(kù)包括任務(wù)表、動(dòng)作序列表2個(gè)表,任務(wù)表包括任務(wù)序號(hào)、任務(wù)名稱、動(dòng)作序列3個(gè)數(shù)據(jù)項(xiàng),其中任務(wù)表的動(dòng)作序列為動(dòng)作序列表的編號(hào)。動(dòng)作序列表包括動(dòng)作序號(hào)、動(dòng)作名稱、動(dòng)作類型、動(dòng)作輸入?yún)?shù)、動(dòng)作輸出參數(shù)、動(dòng)作處理函數(shù)、后繼動(dòng)作序號(hào)6個(gè)數(shù)據(jù)項(xiàng)。動(dòng)作序列表中的動(dòng)作類型為條件類型、非條件類型。
由模型建模人員執(zhí)行動(dòng)作導(dǎo)入和編輯模塊、消息導(dǎo)入與編輯模塊、條件編輯模塊中填寫動(dòng)作庫(kù)、消息庫(kù)、條件庫(kù)的記錄,并將動(dòng)作庫(kù)、消息庫(kù)、條件庫(kù)保存在模型服務(wù)器。
第二階段:在模型服務(wù)器建立動(dòng)作的標(biāo)準(zhǔn)化的輸入、輸出接口。
輸入接口包括動(dòng)作名稱、啟動(dòng)命令、啟動(dòng)參數(shù)3個(gè)數(shù)據(jù)項(xiàng);其中啟動(dòng)命令表示與該動(dòng)作關(guān)聯(lián)的命令,當(dāng)收到該命令時(shí)表示需要啟動(dòng)當(dāng)前的動(dòng)作;啟動(dòng)參數(shù)表示該動(dòng)作在執(zhí)行過(guò)程中需用到的數(shù)據(jù),這些數(shù)據(jù)需要外部輸入,是該動(dòng)作內(nèi)部不能自動(dòng)產(chǎn)生的。
輸出接口包括后繼動(dòng)作節(jié)點(diǎn)啟動(dòng)參數(shù)、公共參數(shù)、判斷條件、消息4個(gè)數(shù)據(jù)項(xiàng)。其中啟動(dòng)參數(shù)指該動(dòng)作執(zhí)行產(chǎn)生并且可以直接由任務(wù)引擎?zhèn)鬟f給其后繼動(dòng)作使用的一組參數(shù);公共參數(shù)指該動(dòng)作執(zhí)行產(chǎn)生,需要傳遞給任務(wù)引擎使用的一組參數(shù),由任務(wù)引擎負(fù)責(zé)這組參數(shù)的保存和使用;判斷條件指該動(dòng)作執(zhí)行產(chǎn)生,需要傳遞給任務(wù)引擎使用的一組參數(shù),任務(wù)引擎根據(jù)這組參數(shù)判斷決定任務(wù)執(zhí)行的流程;消息指在動(dòng)作執(zhí)行過(guò)程中根據(jù)分析決策得到的需要向上級(jí)報(bào)告的情報(bào)或者是需要向下級(jí)下達(dá)的命令。
第三階段由模型建模人員在模型服務(wù)器平臺(tái),選擇動(dòng)作和條件構(gòu)成任務(wù),并填充任務(wù)庫(kù)。在任務(wù)編輯模塊中,用戶從動(dòng)作庫(kù)中選擇特定動(dòng)作,從條件庫(kù)中選擇邏輯判斷條件,并在此工具提供的流程圖的界面中,將動(dòng)作和條件組織成為一個(gè)特定的作戰(zhàn)任務(wù),形成任務(wù)庫(kù)中的一條記錄,并保存在任務(wù)庫(kù)中。
第四階段為仿真實(shí)體模型執(zhí)行的過(guò)程。包括仿真實(shí)體模型從模型服務(wù)器中的任務(wù)庫(kù)中獲取任務(wù),并執(zhí)行任務(wù)。
用戶給仿真實(shí)體模型下達(dá)命令,仿真實(shí)體模型接收命令,從模型服務(wù)器中的任務(wù)庫(kù)查找得出特定任務(wù)后,根據(jù)特定任務(wù)表序號(hào),取出其中的動(dòng)作序列。根據(jù)概念模型服務(wù)器中的動(dòng)作序列表,獲取動(dòng)作順序執(zhí)行。具體分為6個(gè)步驟,具體執(zhí)行流程如圖2所示。
第1步:從動(dòng)作序列表中提取第一個(gè)動(dòng)作,將用戶輸入命令中的參數(shù)作為輸入?yún)?shù),執(zhí)行動(dòng)作處理函數(shù)后,得出動(dòng)作輸出參數(shù)。運(yùn)行第2步。
圖2 仿真實(shí)體模型執(zhí)行流程Fig.2 Simulation entity implementation flow path
第2步:從動(dòng)作序列表中提取第i個(gè)(i>1)動(dòng)作,判斷第i個(gè)動(dòng)作的動(dòng)作類型是否是條件類型?如是,進(jìn)入第3步,否則進(jìn)入第4步。
第3步:根據(jù)第i個(gè)動(dòng)作的動(dòng)作輸出參數(shù)、動(dòng)作輸出參數(shù)與后繼動(dòng)作的映射表,選擇滿足條件的后繼動(dòng)作,運(yùn)行第5步。
第4步:選擇第i個(gè)動(dòng)作的所有后繼動(dòng)作,運(yùn)行第5步。
第5步:判斷當(dāng)前選取的后繼動(dòng)作是否為空值?如是,則結(jié)束,否則運(yùn)行第6步。
第6步:將用戶輸入命令中的參數(shù)、第i個(gè)動(dòng)作的輸出參數(shù)作為后繼動(dòng)作的輸入?yún)?shù),運(yùn)行后繼動(dòng)作的動(dòng)作處理函數(shù),如果后繼動(dòng)作為多個(gè),則所有后繼動(dòng)作同時(shí)執(zhí)行對(duì)應(yīng)的動(dòng)作處理函數(shù),運(yùn)行第2步。
通過(guò)以上階段和步驟,用戶建立了自己所需要的作戰(zhàn)任務(wù)模型。如果需要建立新的作戰(zhàn)任務(wù),或者是已有作戰(zhàn)任務(wù)等規(guī)則等發(fā)生了變化,則只要在流程圖上重新進(jìn)行編輯形成任務(wù)模型即可實(shí)現(xiàn)。
3應(yīng)用與實(shí)例
以坦克連“沖擊某地面目標(biāo)”的作戰(zhàn)任務(wù)為例,共分4個(gè)階段執(zhí)行。
第一階段:在模型服務(wù)器建立行為庫(kù)、消息庫(kù)、條件庫(kù)、任務(wù)庫(kù)4個(gè)數(shù)據(jù)庫(kù),并填寫完成動(dòng)作庫(kù)、消息庫(kù)、條件庫(kù)3個(gè)庫(kù)。
動(dòng)作庫(kù)包括機(jī)動(dòng)、更新?tīng)顟B(tài)、搜索目標(biāo)、更新速度、開火、遭遇襲擊、報(bào)告敵情等動(dòng)作;消息庫(kù)包括發(fā)現(xiàn)敵情、道路受阻等消息;條件庫(kù)包括是否鎖定目標(biāo)、是否可還擊、是否遭遇襲擊等條件[4]。
第二階段:在概念模型服務(wù)器建立了動(dòng)作標(biāo)準(zhǔn)化的接口,包括輸入、輸出接口。
在模型服務(wù)器建立“搜索目標(biāo)”動(dòng)作的輸入、輸出接口。
第三階段:
(1) 用戶從動(dòng)作庫(kù)中選擇動(dòng)作,在此沖擊作戰(zhàn)任務(wù)中,包括更新?tīng)顟B(tài)、機(jī)動(dòng)、搜索目標(biāo)、更新速度、開火、遭遇襲擊、更改速度、報(bào)告敵情等動(dòng)作。
(2) 在條件庫(kù)中選擇邏輯判斷條件,包括“是否鎖定目標(biāo)”條件。
(3) 組合特定動(dòng)作和條件,形成沖擊任務(wù)的概念模型流程,如圖3所示。
(4)將沖擊任務(wù)形成任務(wù)庫(kù)中的一條記錄,保存在任務(wù)庫(kù)。
第四階段:
坦克連裝備實(shí)體模型收到?jīng)_擊命令后,執(zhí)行沖擊任務(wù),從任務(wù)庫(kù)中提取對(duì)應(yīng)的“沖擊”任務(wù)表以及動(dòng)作序列表,具體包括6個(gè)步驟。
圖3 作戰(zhàn)任務(wù)概念模型流程Fig.2 Combat mission concept model flow path
第1步:從執(zhí)行動(dòng)作1“更新?tīng)顟B(tài)”開始,根據(jù)沖擊命令內(nèi)容,得到“任務(wù)類型、通信電臺(tái)狀態(tài)”的具體參數(shù)。執(zhí)行動(dòng)作1的動(dòng)作處理函數(shù)UpdateState,得出輸出參數(shù)為更新成功,使模型從待命狀態(tài)為沖擊狀態(tài)。
第2步:判斷第1個(gè)動(dòng)作為非條件動(dòng)作。
第3步:根據(jù)第1個(gè)動(dòng)作的動(dòng)作輸出參數(shù)、動(dòng)作輸出參數(shù)與后繼動(dòng)作的映射表,選擇滿足條件的后繼動(dòng)作為第2、3個(gè)動(dòng)作,即“機(jī)動(dòng)”、“搜索目標(biāo)”2個(gè)動(dòng)作同時(shí)運(yùn)行,順序執(zhí)行。
第4步:分2個(gè)并行執(zhí)行子步驟,第1個(gè)子步驟執(zhí)行機(jī)動(dòng)動(dòng)作的動(dòng)作處理函數(shù)MoveMent后,得出輸出參數(shù)。
第5步:執(zhí)行搜索目標(biāo)動(dòng)作的動(dòng)作處理函數(shù)ScanTarget。
第6步:判斷第2個(gè)動(dòng)作為非條件動(dòng)作,根據(jù)第2個(gè)動(dòng)作的后續(xù)動(dòng)作為NULL,結(jié)束。
4結(jié)束語(yǔ)
基于本方法,用戶可以根據(jù)實(shí)際的需要來(lái)靈
活定制和重用、重構(gòu)實(shí)體所承擔(dān)的作戰(zhàn)任務(wù),從而實(shí)現(xiàn)了整個(gè)作戰(zhàn)任務(wù)域的柔性可擴(kuò)展。本方法在某型作戰(zhàn)模擬訓(xùn)練系統(tǒng)中的實(shí)際應(yīng)用過(guò)程中,任務(wù)模型的構(gòu)建十分靈活而且易于操作,模型的重用率高,可以靈活構(gòu)建訓(xùn)練內(nèi)容,降低了系統(tǒng)的開發(fā)成本和訓(xùn)練成本。
參考文獻(xiàn):
[1]趙杰,林輝.基于AGENT的防空作戰(zhàn)CGF行為建模研究[J].系統(tǒng)仿真學(xué)報(bào),2007,19(10):2321-2323.
ZHAOJie,LINHui.Researchofactionmodelingofair-defensecombatCGFbasedonagent[J].JournalofSystemSimulation,2007,19(10):2321-2323.
[2]徐潤(rùn)萍,王樹宗,顧健.基于Agent的作戰(zhàn)單元行為規(guī)劃方法研究[J].系統(tǒng)工程與電子技術(shù),2005,27(5):844-847.
XURunping,WANGShouzong,GUJian.Agent-basedactionplanningmethodofthefightunit[J].SystemEngineeringandElectronics.2005,27(5):844-847.
[3]馮磊,查亞兵,胡記文,等.CGF中的協(xié)同行為建模技術(shù)[J].系統(tǒng)仿真學(xué)報(bào),2013,25(4):1056-1058.
FENGLei,ZHAYabing,HuJiwen,etal.cooperativebehaviormodelingtechnologyinCGF[J].JournalofSystemSimulation,2013,25(4):1056-1058.
[4]陳彩輝.任務(wù)空間概念模型(CMMS)淺析[J].電子科學(xué)技術(shù)評(píng)論,2004(2):57-60.
CHENCaihui.Conceptmodelofmissionmpace[J].ReviewofElectronicsScienceandTechnology,2004(2):57-60.
秦媛媛女(1984-),北京人,碩士,工程師,主要研究方向?yàn)橄到y(tǒng)建模與仿真方面的研究工作。
中圖分類號(hào):TP 391
文獻(xiàn)標(biāo)識(shí)碼:A
Designing and Implementation ofCombat Entity Behavior Modeling
QIN Yuanyuan
(ChinaAcademyofElectronicsandInformationTechnology,Beijing100041,China)
Abstract:There are different varieties of user′s tactics and operational rules in the combat simulate training system,as a result,combat entity behavior modeling was a complex process.Additionally,the reusability of model is poor in the event-driven mission implementation.Aiming at these problems,the association combat entity behavior modeling method was introduced in this paper.From the application effect in a certain combat simulate training system;the behavior modeling construction was flexible and easy to operate.In addition,this method can construct the training content conveniently and can reduce the cost of designing and development of the system.
Key words:combat entity; behavior modeling; mission model