朱 濱, 朱敏潔, 周深根
(裝甲兵工程學院裝備指揮與管理系, 北京 100072)
多分辨率模型一致性維護模板框架設計
朱 濱, 朱敏潔, 周深根
(裝甲兵工程學院裝備指揮與管理系, 北京 100072)
針對作戰仿真系統中模型并發運行時出現的不一致問題,分析了其原因,介紹了6種一致性維護的方法。以面向功能的方式提出了一種一致性維護模板的設計思路,確定了維護模板由判定模塊、加解鎖模塊、另存模塊和維護模塊4部分組成,以交互時間順序設計了維護模板的框架,并依據多分辨率模型并發運行的3個必要條件,以坦克連模型一致性維護流程為例,驗證了該模板框架的可行性。
多分辨率模型;一致性維護模板;框架設計
在建模仿真領域,仿真系統往往龐大冗雜,系統中不同分辨率的模型關于對象、事件、仿真算法、仿真時間以及仿真環境等存在不同的假設[1],在模型并發運行過程中可能會出現時序不一致、端口不兼容、算法不合理等問題,進而導致不一致情況的出現。根據不同分辨率模型運行的時機和方式,目前已有針對聚合解聚、并發運行等情況下一致性維護方法的研究,但其通用性有限。針對這一問題,本文以面向功能的方式,結合多分辨率模型并發運行的實際需求,設計出一致性維護模板的框架,以提高一致性維護的簡易度。
一致性維護是指當同一層次上的實體模型之間發生交互時,若模型屬性發生了變化,則要反映到與此實體相關的所有分辨率模型中,從而保證同一實體的不同分辨率模型在屬性上保持一致[2]。造成模型間不一致問題出現的原因主要有以下5個方面:1)因模型建模機理的差異而導致交互時數據缺失或無法匹配;2)因聚合解聚算法不合理而導致數據混亂;3)因系統無記憶性而導致信息丟失[3];4)因并發交互而導致多個仿真以不同時間步運行[4];5)因模型程序互不兼容而導致數據不完整。
從不同的角度出發,對模型進行一致性維護的方法主要有以下6種。
1) 嵌套2段式提交協議算法[2]。參與交互的多分辨率模型充當協調者,詢問所有相關模型是否準備好參與交互,相關模型向上下級相關模型詢問,只有當所有參與者作出肯定回饋,交互才繼續進行;只要有一個模型作出否定回饋,則交互終止。
2) 參數修正法[3]。利用高(低)分辨率模型的結果來修正低(高)分辨率模型,這種方法主要運用在聚合解聚過程中。
3) 增加系統記憶法[3]。在發生聚合時,在恰當的位置保存高分辨率實體必要的屬性,并在低分辨率模型運行期間及時進行更新,以便在下一次解聚時利用這些信息計算出高分辨率模型當前的狀態。
4) 加鎖法[5]。該方法是一種串行化方法,具體思路是:某實體具有高、低2個分辨率模型,其中一個模型在某時刻進行交互前,會針對交互影響到的屬性向另一模型發送加鎖指令,鎖住另一模型的同態屬性,加鎖后的另一模型不能發送任何能夠引起同態屬性發生改變的交互;待發生交互的模型交互完畢后,發送解鎖指令對另一模型進行解鎖。
5) 沖突檢測法[5]。模型在發送交互時并不考慮交互沖突問題,而是發給多分辨率模型交互管理器。交互管理器已設定好不同的沖突處理程序與步驟,進行檢查判斷后,依據情況來選擇解決方式。
6) 面向模型法[5]。從模型設計上避免交互沖突的出現,不同分辨率的模型不能獨立運行,需要相互協調,共同達成仿真目的,高分辨率模型并不是脫離低分辨率模型而獨立存在的。
3.1 維護模板的優勢
目前,每種一致性維護方法只能解決單一特定環境下的具體問題,面對龐大冗雜的仿真系統,若只使用單一的方法,不僅適用性不強、維護效果不好,而且會造成大量數據丟失及失真,嚴重影響仿真結果的準確性。運用模板的方式來解決一致性維護問題,其優勢在于:可以將多種一致性維護方法按照不同的適用條件加以集成,設計出一種可以整體嵌套的模板,針對不同的適用環境,采用不同的維護方法,從而達到一致性維護的目的。這不僅能擴寬一致性維護模板的使用范圍、減少工作量,還能提高維護的準確率、降低維護難度,實現“套用后不管”。
3.2 維護思路的提出
以面向功能的方式,按照模型交互的時間順序,結合一致性問題出現的各種原因,探討一致性維護模板需要實現的具體功能,引出一致性維護模板的設計思路,如圖1所示。在一個連級多分辨率作戰仿真系統中,聚合級實體與平臺級實體并發運行,t0時刻系統處于初始狀態。當藍方7排低分辨率模型向系統發出與紅方1排低分辨率模型進行交互的請求時,系統確認并調出紅方1排低分辨率模型與之進行交互,交互完成后形成t1時刻下新的紅方1排低分辨率模型。此時,紅方1連高、低分辨率模型,紅方1排高分辨率模型,以及紅方坦克1高、低分辨率模型的狀態仍處在t0時刻,而t1時刻的紅方1排低分辨率模型數據已發生了變化,導致不一致問題出現,需要進行一致性維護工作。

圖1 一致性維護模板設計思路
按照一般情況,需要選擇一種在系統模型出現不一致時對系統進行維護的方法。但是,按照交互的時間、程序、邏輯順序,還需要考慮以下4種情況:
1)t0時刻,紅方1排低分辨率模型尚處在不一致狀態,藍方7排低分辨率模型已發來交互命令并進行交互;
2) 在藍方7排低分辨率模型與紅方1排低分辨率模型進行交互的同時,出現其他模型與紅方1排高分辨率模型并發交互,導致同一實體的不同分辨率模型在同一時間段內分別與不同模型發生交互的違現實情況;
3)t1時刻藍方7排低分辨率模型與紅方1排低分辨率模型之間的交互已完成,以紅方1排低分辨率模型為基準模型進行維護計算時,生成的新數據與原模型的舊數據混雜,導致模型數據失真;
4)t1時刻紅方1排低分辨率模型完成交互,進行一致性維護時,生成新的各級模型數據所采用的方法不盡相同。
因此,應從以上4種情況入手來實現模板一致性的維護:套用模板之后,從t0時刻開始,確定各模型已做好交互準備;在t1時刻,對不參加交互的模型進行鎖定,消除并發交互的可能;在交互完成之后,先對原模型的數據進行保存,以備聚合解聚時使用;最后進行聚合解聚時,綜合考慮各種可能,集成多種方法,針對不同的情況采用不同的算法,得到t1時刻彼此相一致的一組系統模型。
3.3 模板框架設計
從一致性維護模板設計思路可知模板至少由4部分組成,分別是:判定交互準備部分、加鎖部分(必定存在解鎖部分)、系統記憶部分和維護算法部分。將各個部分以模塊的方式進行劃分,分別命名為判定模塊、加解鎖模塊、另存模塊和維護模塊。同時,還需考慮到模板的各個模塊并不是獨立存在的,而是始終以交互時序為主線,以系統交互命令為觸發點,逐一啟動相應模塊發揮作用,協調一致解決一致性維護問題。因此,可以提出每一時序的具體內容,構建出整個維護模板的框架。
首先,設定提出交互需求的模型為紅方模型,待交互模型為藍方模型,模型運行的底層框架為高層體系結構(High Level Architecture,HLA)[6],整個維護模板進行維護的啟動事件是接收到交互命令。同時,為便于表達,將加解鎖模塊從功能上分為加鎖模塊和解鎖模塊。收到交互命令時,具體步驟為:1)對紅、藍方模型進行初始一致性狀態判定;2)對紅、藍方模型進行另存操作;3)對不參加交互的紅、藍方模型進行加鎖操作;4)對已加鎖的紅、藍方模型進行解鎖操作;5)以交互后的紅、藍方模型為基準,結合已另存的原模型,對整個紅、藍方模型進行一致性維護。
在此需要指出:加鎖后的模型不能進行任何操作;而參與交互的模型不加鎖。加鎖操作完成后,根據交互命令,參加交互的紅、藍方模型在HLA框架內進行交互。經過檢查,發現存在以下問題:1) 對紅、藍方模型確認交互準備時,模型間不一致;2)在判定、解鎖、另存、維護階段,仍接收到交互命令;3)解鎖模塊對已加鎖的紅、藍方模型進行解鎖的時機判定不準確,導致提前解鎖問題的出現。
因此,在進行模板設計時,需要考慮到以上問題所引起的模塊關聯。可將這些問題的解決辦法化解為以下具體步驟,融入到模板框架中。
1) 當紅、藍方模型初始狀態不一致時,先將模型另存,然后直接由維護模塊進行一致性維護。
2) 為避免其他階段仍有交互發生,在此規定只有加鎖階段才能進行交互。因此,維護模板啟動時,判定模塊首先向HLA發送停止仿真時間命令;加鎖過程完成后,加鎖模塊向HLA發送仿真時間開始命令;交互結束后,解鎖模塊向HLA發送停止仿真時間命令;一致性維護過程結束后,維護模塊向HLA發送仿真時間開始命令。
3) 當第1次交互完成后,如果仍有交互命令且參加交互的模型仍是未加鎖模型,則可繼續進行交互;如果仍有交互命令但參加交互模型是已加鎖模型或無交互命令,則此次交互結束,HLA向解鎖模塊發送解鎖命令。
按照以上各模塊的時序步驟,根據編號順序和內容進行整合和調整,可以得出整個一致性維護模板的框架結構。經過反復推演和修改,綜合考慮各種可能出現的情況并進行排除,一致性維護模板的框架設計基本完成,如圖2所示。分3種情況進行維護:模型初始一致的維護順序為①—②—③—④—⑤;模型初始不一致的維護順序為①—②—⑤—②—③—④—⑤;模型運行一段時間后出現不一致且仍未有交互需求的維護順序為①—②—⑤。

圖2 一致性維護模板框架設計
多分辨率模型在作戰仿真系統中并發運行,考慮到受系統運算效率的制約,并不需要所有模型在每個時間節點都必須保持一致,而只需在以下3個時刻使所有模型保持一致,就能夠保證仿真的逼真度:1)某模型參與交互之前;2)某模型完成交互之后;3)系統無交互需求,所有模型自發運行一定時間后。
為了驗證所設計一致性維護模板框架的可行性,下面以坦克連模型維護過程為例進行分析判斷。
坦克連一致性維護模板框架流程如圖3所示。在一個坦克連作戰仿真系統中,某一時刻并發運行著紅方1連、1排低分辨率火力模型,以及藍方3連、7排低分辨率火力模型,假設雙方模型初始時刻不一致。HLA接到交互命令后,由紅方1連低分辨率火力模型與藍方3連低分辨率火力模型進行交互。

圖3 坦克連一致性維護模板框架流程
1) 發生交互前,判定模塊判定初始狀態不一致后,另存模塊對所有模型進行另存,作為維護的參考。接著,維護模塊根據設定的順序,以紅方1排、藍方7排低分辨率火力模型為基準,參考另存的原模型,分別修正紅方1連、藍方3連低分辨率火力模型,使2組模型在參加交互前保持一致。
2) 交互完成后,解鎖模塊對紅方1排、藍方7排低分辨率火力模型進行解鎖。維護模塊根據交互命令,判定完成交互的紅方1連、藍方3連低分辨率火力模型為此時一致性維護的基準模型,并結合另存的原模型,對紅方1排、藍方7排低分辨率火力模型進行一致性維護。維護完成后,各模型保持一致。
3) 4個模型運行一定時間后仍未發生交互,判定模塊判定不一致后,另存模塊對所有模型進行另存,并以紅方1排、藍方7排低分辨率火力模型為基準,參考另存的原模型,分別修正紅方1連、藍方3連低分辨率火力模型,使2組模型此刻保持一致。
由此可見:一致性維護模板的框架設計可以滿足多分辨率模型并發運行時的3個必要條件,表明所設計框架可行。
以模板的方式進行一致性維護,其優勢是能夠簡化各層級模型交互時一致性維護的工作,同時為更高層級模板的設計提供方法和借鑒;其不足是模板的針對性和單一性可能會導致模板套用時的僵化和呆板問題發生。下一步將以模板的通用性為研究重點,擴展套用條件,提高適用性,并在實例應用中進行檢驗。
[1] 劉寶宏,黃柯棣.多分辨率模型系中的一致性問題研究[J].系統仿真學報,2005,17(9):2057-2060.
[2] 袁凌,張曉芳,李國徽,等.分布式仿真多分辨率建模方法及一致性維護[J].計算機科學,2011,38(11):140-143.
[3] 朱松巖,江敬灼,葉雄兵,等.聚合解聚及其一致性問題研究[J].軍事運籌與系統工程,2008,22(3):33-38.
[4] 高志年,邢漢承,張君.多分辨率仿真中一致性問題研究[J].計算機研究與發展,2002,39(12):1625-1629.
[5] 劉寶宏,黃柯棣.分布交互式仿真中的多分辨率模型并發運行問題研究[J].系統仿真學報,2007,19(5):1038-1040.
[6] 劉寶宏,黃柯棣.多分辨率建模的理論與關鍵技術研究[D].長沙:國防科學技術大學,2003.
(責任編輯: 尚彩娟)
Design of Consistency Maintenance Template Frame for Multi-resolution Model
ZHU Bin, ZHU Min-jie, ZHOU Shen-gen
(Department of Equipment Command and Administration, Academy of Armored Force Engineering, Beijing 100072, China)
Aiming at the inconsistencies existing when the models of the combat simulation system run concurrently, the causes of inconsistencies are analyzed, six kinds of consistency maintenance approach are introduced, and a function-oriented design idea of consistency maintenance template is proposed. The consistency maintenance template is composed of the judging module, the lock/unlock module, the save module and the maintenance module. A maintenance template framework is designed according to the timing sequence, based on three necessary conditions for multi-resolution model running concurrently, taking the consistency maintenance process of tank company model for example, the feasibility of the template framework is verified.
multi-resolution model; consistency maintenance template; frame design
1672-1497(2015)03-0085-04
2015-03-02
軍隊科研計劃項目
朱 濱(1988-),男,碩士研究生。
TP391.9
A
10.3969/j.issn.1672-1497.2015.03.017