秦媛媛
(中國電子科學(xué)研究院,北京 100041)
?
作戰(zhàn)實(shí)體的行為建模設(shè)計與實(shí)現(xiàn)
秦媛媛
(中國電子科學(xué)研究院,北京100041)
摘要:作戰(zhàn)模擬訓(xùn)練系統(tǒng)中用戶戰(zhàn)術(shù)戰(zhàn)法和作戰(zhàn)規(guī)則多種多樣,這導(dǎo)致作戰(zhàn)實(shí)體行為建模過程異常繁瑣,且基于事件驅(qū)動的任務(wù)執(zhí)行過程中實(shí)體行為模型的可重用性差。針對這些等問題,本文給出了組合構(gòu)造的行為建模方法,從某型作戰(zhàn)模擬訓(xùn)練系統(tǒng)中的實(shí)際應(yīng)用效果來看,任務(wù)模型的構(gòu)建十分靈活而且易于操作,模型的重用率高,可以靈活構(gòu)建訓(xùn)練內(nèi)容,降低了系統(tǒng)的設(shè)計開發(fā)成本。
關(guān)鍵詞:作戰(zhàn)實(shí)體; 行為建模; 任務(wù)模型
1技術(shù)背景
在作戰(zhàn)模擬訓(xùn)練系統(tǒng)設(shè)計過程中,作戰(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)知識和背景的軍事專家作為主導(dǎo),分析獲取作戰(zhàn)任務(wù)的需求,建立任務(wù)知識庫;其次,根據(jù)實(shí)際情況,選擇一種既方便軍事專家建模又便于技術(shù)開發(fā)人員理解的建模語言,將任務(wù)知識庫中的每一條任務(wù)建立作戰(zhàn)任務(wù)的抽象概念模型,形成概念模型庫[1]。最后,針對概念模型庫中的每一條作戰(zhàn)任務(wù),技術(shù)開發(fā)人員將其計算機(jī)化,轉(zhuǎn)化為可以由計算機(jī)執(zhí)行的軟件程序,并且在開發(fā)過程中,軍事專家需要核驗軟件程序是否真實(shí)的反映了他們最初的意圖,并且需要隨時與技術(shù)開發(fā)人員進(jìn)行交互。
依據(jù)作戰(zhàn)任務(wù)建模通行方案,建立的作戰(zhàn)任務(wù)庫大多數(shù)是相對固定的,因此訓(xùn)練存在局限性??赡軙捎谇捌诘目紤]不周全而導(dǎo)致部分訓(xùn)練內(nèi)容沒有被包含到任務(wù)庫中,并且當(dāng)用戶認(rèn)為當(dāng)前任務(wù)庫中的任務(wù)無法滿足訓(xùn)練要求或者是某些任務(wù)的作戰(zhàn)規(guī)則發(fā)生變化需要改變時,需要先由軍事專家來建立或者修改概念模型,再由技術(shù)開發(fā)人員編程實(shí)現(xiàn),整個過程十分繁瑣,且難以維護(hù)。
而且,仿真實(shí)體模型的執(zhí)行完全依靠仿真引擎的事件驅(qū)動完成,自身沒有任何自主執(zhí)行能力。當(dāng)一個動作執(zhí)行結(jié)束之后,任務(wù)引擎收回裝備實(shí)體的控制權(quán),接收該動作執(zhí)行產(chǎn)生的所有輸出,同時按照當(dāng)前任務(wù)中各動作的邏輯次序關(guān)系,為后繼動作收集輸入?yún)?shù),之后啟動后繼動作并將輸入?yún)?shù)以及控制權(quán)交給該后繼動作。在此過程中,仿真實(shí)體模型主要依靠仿真引擎給出的事件表,完成任務(wù)執(zhí)行。由于仿真實(shí)體模型無法自主執(zhí)行,各實(shí)體模型中沒有給出各動作中的后續(xù)動作,現(xiàn)有建模技術(shù)無法將不同的狀態(tài)、選擇條件串起來完成某個任務(wù),導(dǎo)致已經(jīng)建立的任務(wù)模型無法重用[2]。
本文設(shè)計的作戰(zhàn)實(shí)體行為模型表示為由動作模型、執(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í)體行為模型,提供了所見即所得的實(shí)體行為建模能力。
2行為建模技術(shù)設(shè)計
實(shí)體狀態(tài)是對作戰(zhàn)實(shí)體某一特定時刻的靜態(tài)表示,實(shí)體行為是實(shí)體狀態(tài)的變化過程,是狀態(tài)轉(zhuǎn)移的動因和根據(jù)。在實(shí)體行為的建模中,考慮兩種粒度的行為:動作和任務(wù)[3]。
動作(Action):動作定義為任務(wù)實(shí)施過程中的步驟或工序,是最小的、不可再細(xì)分的行為概念;
任務(wù)(Task):一項任務(wù)定義為執(zhí)行一個具體的作戰(zhàn)命令的過程,是具有明確作戰(zhàn)意圖的軍事行動,它可由實(shí)體的一個或多個動作構(gòu)成。
編輯形成作戰(zhàn)任務(wù)模型主要包括四個階段,其中前三個階段主要完成建立動作庫、消息庫、條件庫、任務(wù)庫,具體執(zhí)行流程見圖1。
圖1 任務(wù)引擎執(zhí)行流程Fig.1 Mission engine implementation flow path
第一階段:在模型服務(wù)器建立動作庫、消息庫、條件庫、任務(wù)庫4個數(shù)據(jù)庫,并通過動作導(dǎo)入和編輯模塊、消息導(dǎo)入與編輯模塊、條件編輯模塊分別填寫動作庫、消息庫、條件庫3個庫的數(shù)據(jù)項。
(1) 動作庫包括序號、名稱、啟動命令、參數(shù)4個數(shù)據(jù)項;
(2) 消息庫包括序號、名稱、內(nèi)容3個數(shù)據(jù)項;
(3) 條件庫包括序號、名稱、數(shù)據(jù)類型、取值范圍5個數(shù)據(jù)項;
(4) 任務(wù)庫包括任務(wù)表、動作序列表2個表,任務(wù)表包括任務(wù)序號、任務(wù)名稱、動作序列3個數(shù)據(jù)項,其中任務(wù)表的動作序列為動作序列表的編號。動作序列表包括動作序號、動作名稱、動作類型、動作輸入?yún)?shù)、動作輸出參數(shù)、動作處理函數(shù)、后繼動作序號6個數(shù)據(jù)項。動作序列表中的動作類型為條件類型、非條件類型。
由模型建模人員執(zhí)行動作導(dǎo)入和編輯模塊、消息導(dǎo)入與編輯模塊、條件編輯模塊中填寫動作庫、消息庫、條件庫的記錄,并將動作庫、消息庫、條件庫保存在模型服務(wù)器。
第二階段:在模型服務(wù)器建立動作的標(biāo)準(zhǔn)化的輸入、輸出接口。
輸入接口包括動作名稱、啟動命令、啟動參數(shù)3個數(shù)據(jù)項;其中啟動命令表示與該動作關(guān)聯(lián)的命令,當(dāng)收到該命令時表示需要啟動當(dāng)前的動作;啟動參數(shù)表示該動作在執(zhí)行過程中需用到的數(shù)據(jù),這些數(shù)據(jù)需要外部輸入,是該動作內(nèi)部不能自動產(chǎn)生的。
輸出接口包括后繼動作節(jié)點(diǎn)啟動參數(shù)、公共參數(shù)、判斷條件、消息4個數(shù)據(jù)項。其中啟動參數(shù)指該動作執(zhí)行產(chǎn)生并且可以直接由任務(wù)引擎?zhèn)鬟f給其后繼動作使用的一組參數(shù);公共參數(shù)指該動作執(zhí)行產(chǎn)生,需要傳遞給任務(wù)引擎使用的一組參數(shù),由任務(wù)引擎負(fù)責(zé)這組參數(shù)的保存和使用;判斷條件指該動作執(zhí)行產(chǎn)生,需要傳遞給任務(wù)引擎使用的一組參數(shù),任務(wù)引擎根據(jù)這組參數(shù)判斷決定任務(wù)執(zhí)行的流程;消息指在動作執(zhí)行過程中根據(jù)分析決策得到的需要向上級報告的情報或者是需要向下級下達(dá)的命令。
第三階段由模型建模人員在模型服務(wù)器平臺,選擇動作和條件構(gòu)成任務(wù),并填充任務(wù)庫。在任務(wù)編輯模塊中,用戶從動作庫中選擇特定動作,從條件庫中選擇邏輯判斷條件,并在此工具提供的流程圖的界面中,將動作和條件組織成為一個特定的作戰(zhàn)任務(wù),形成任務(wù)庫中的一條記錄,并保存在任務(wù)庫中。
第四階段為仿真實(shí)體模型執(zhí)行的過程。包括仿真實(shí)體模型從模型服務(wù)器中的任務(wù)庫中獲取任務(wù),并執(zhí)行任務(wù)。
用戶給仿真實(shí)體模型下達(dá)命令,仿真實(shí)體模型接收命令,從模型服務(wù)器中的任務(wù)庫查找得出特定任務(wù)后,根據(jù)特定任務(wù)表序號,取出其中的動作序列。根據(jù)概念模型服務(wù)器中的動作序列表,獲取動作順序執(zhí)行。具體分為6個步驟,具體執(zhí)行流程如圖2所示。
第1步:從動作序列表中提取第一個動作,將用戶輸入命令中的參數(shù)作為輸入?yún)?shù),執(zhí)行動作處理函數(shù)后,得出動作輸出參數(shù)。運(yùn)行第2步。
圖2 仿真實(shí)體模型執(zhí)行流程Fig.2 Simulation entity implementation flow path
第2步:從動作序列表中提取第i個(i>1)動作,判斷第i個動作的動作類型是否是條件類型?如是,進(jìn)入第3步,否則進(jìn)入第4步。
第3步:根據(jù)第i個動作的動作輸出參數(shù)、動作輸出參數(shù)與后繼動作的映射表,選擇滿足條件的后繼動作,運(yùn)行第5步。
第4步:選擇第i個動作的所有后繼動作,運(yùn)行第5步。
第5步:判斷當(dāng)前選取的后繼動作是否為空值?如是,則結(jié)束,否則運(yùn)行第6步。
第6步:將用戶輸入命令中的參數(shù)、第i個動作的輸出參數(shù)作為后繼動作的輸入?yún)?shù),運(yùn)行后繼動作的動作處理函數(shù),如果后繼動作為多個,則所有后繼動作同時執(zhí)行對應(yīng)的動作處理函數(shù),運(yùn)行第2步。
通過以上階段和步驟,用戶建立了自己所需要的作戰(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個階段執(zhí)行。
第一階段:在模型服務(wù)器建立行為庫、消息庫、條件庫、任務(wù)庫4個數(shù)據(jù)庫,并填寫完成動作庫、消息庫、條件庫3個庫。
動作庫包括機(jī)動、更新狀態(tài)、搜索目標(biāo)、更新速度、開火、遭遇襲擊、報告敵情等動作;消息庫包括發(fā)現(xiàn)敵情、道路受阻等消息;條件庫包括是否鎖定目標(biāo)、是否可還擊、是否遭遇襲擊等條件[4]。
第二階段:在概念模型服務(wù)器建立了動作標(biāo)準(zhǔn)化的接口,包括輸入、輸出接口。
在模型服務(wù)器建立“搜索目標(biāo)”動作的輸入、輸出接口。
第三階段:
(1) 用戶從動作庫中選擇動作,在此沖擊作戰(zhàn)任務(wù)中,包括更新狀態(tài)、機(jī)動、搜索目標(biāo)、更新速度、開火、遭遇襲擊、更改速度、報告敵情等動作。
(2) 在條件庫中選擇邏輯判斷條件,包括“是否鎖定目標(biāo)”條件。
(3) 組合特定動作和條件,形成沖擊任務(wù)的概念模型流程,如圖3所示。
(4)將沖擊任務(wù)形成任務(wù)庫中的一條記錄,保存在任務(wù)庫。
第四階段:
坦克連裝備實(shí)體模型收到?jīng)_擊命令后,執(zhí)行沖擊任務(wù),從任務(wù)庫中提取對應(yīng)的“沖擊”任務(wù)表以及動作序列表,具體包括6個步驟。
圖3 作戰(zhàn)任務(wù)概念模型流程Fig.2 Combat mission concept model flow path
第1步:從執(zhí)行動作1“更新狀態(tài)”開始,根據(jù)沖擊命令內(nèi)容,得到“任務(wù)類型、通信電臺狀態(tài)”的具體參數(shù)。執(zhí)行動作1的動作處理函數(shù)UpdateState,得出輸出參數(shù)為更新成功,使模型從待命狀態(tài)為沖擊狀態(tài)。
第2步:判斷第1個動作為非條件動作。
第3步:根據(jù)第1個動作的動作輸出參數(shù)、動作輸出參數(shù)與后繼動作的映射表,選擇滿足條件的后繼動作為第2、3個動作,即“機(jī)動”、“搜索目標(biāo)”2個動作同時運(yùn)行,順序執(zhí)行。
第4步:分2個并行執(zhí)行子步驟,第1個子步驟執(zhí)行機(jī)動動作的動作處理函數(shù)MoveMent后,得出輸出參數(shù)。
第5步:執(zhí)行搜索目標(biāo)動作的動作處理函數(shù)ScanTarget。
第6步:判斷第2個動作為非條件動作,根據(jù)第2個動作的后續(xù)動作為NULL,結(jié)束。
4結(jié)束語
基于本方法,用戶可以根據(jù)實(shí)際的需要來靈
活定制和重用、重構(gòu)實(shí)體所承擔(dān)的作戰(zhàn)任務(wù),從而實(shí)現(xiàn)了整個作戰(zhàn)任務(wù)域的柔性可擴(kuò)展。本方法在某型作戰(zhàn)模擬訓(xùn)練系統(tǒng)中的實(shí)際應(yīng)用過程中,任務(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é)報,2007,19(10):2321-2323.
ZHAOJie,LINHui.Researchofactionmodelingofair-defensecombatCGFbasedonagent[J].JournalofSystemSimulation,2007,19(10):2321-2323.
[2]徐潤萍,王樹宗,顧健.基于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é)報,2013,25(4):1056-1058.
FENGLei,ZHAYabing,HuJiwen,etal.cooperativebehaviormodelingtechnologyinCGF[J].JournalofSystemSimulation,2013,25(4):1056-1058.
[4]陳彩輝.任務(wù)空間概念模型(CMMS)淺析[J].電子科學(xué)技術(shù)評論,2004(2):57-60.
CHENCaihui.Conceptmodelofmissionmpace[J].ReviewofElectronicsScienceandTechnology,2004(2):57-60.
秦媛媛女(1984-),北京人,碩士,工程師,主要研究方向為系統(tǒng)建模與仿真方面的研究工作。
中圖分類號:TP 391
文獻(xiàn)標(biāo)識碼: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