韓翃, 康鳳舉, 王圣潔
(1.西北工業大學 航海學院, 陜西 西安 710072; 2.西北工業大學 水下信息與控制重點實驗室, 陜西 西安 710072)
?
作戰推演系統中的Holon多分辨率建模方法研究
韓翃1,2, 康鳳舉1,2, 王圣潔1,2
(1.西北工業大學 航海學院, 陜西 西安 710072; 2.西北工業大學 水下信息與控制重點實驗室, 陜西 西安 710072)
作戰推演是武器系統效能評估研究的重要手段,而多分辨率建模是作戰推演系統構建技術的研究熱點之一。現有的聚合解聚、視點選擇多分辨率建模方法缺乏對模型間層次結構的描述,難以實現系統運行時模型分辨率的自適應變換,因此無法兼顧模型精度與系統負載。針對上述問題,引入Holon概念,提出一種新的Holon多分辨率建模方法。研究了Holon多分辨率模型系統的組織結構及其形式化描述,給出了其結構演化的規則,提出了一種基于滿意度的自適應分辨率變換機制,設計了支持Holon多分辨率建模的軟件運行體系結構及關鍵服務。將Holon多分辨率建模方法應用于海軍武器裝備體系戰役推演系統中,通過對比聚合解聚和視點選擇方法,驗證了新方法在保持了較好模型間一致性的同時,有效降低了系統的負載。
仿真科學技術; 多分辨率建模; 作戰推演系統; Holon
對武器系統效能評估的有效方法是在對抗環境下,以特定的作戰想定為背景進行作戰推演。作戰推演系統作為一種運用現代系統仿真技術來對武器系統效能評估進行研究的軍用系統,已經受到世界各國的重視和發展。
由于現代戰爭的規模較大,作戰推演系統中包括戰略、戰役以及戰術等多個層次,同時在推演的不同階段,不同用戶對系統所能提供的實體狀態信息有著不同的需求層次。因此多分辨率建模方法在推演系統中得到了廣泛的應用。然而傳統的多分辨率建模方法存在未能足夠關注模型間層次結構的描述,無法同時兼顧模型分辨率變化時的精度和系統資源負載,難以實現仿真系統運行中模型分辨率的自動切換等問題[1-14]。
Holon是一個在智能制造領域得到廣泛應用的一個概念。Holon這個詞最早出現在Koestler所著的《The Ghost in the Machine》[15]一書中。字面意思是“整體-部分”。它描述的是層次化系統中同時具有“整體”和“部分”屬性的一種穩定結構。一個Holon是“整體”還是“部分”取決于外界的觀察角度或者是使用需求。而由多個Holon通過協作構成的Holon系統具有遞歸的層次結構。利用Holon的特殊屬性,可以提高制造系統的穩定性以及資源利用率,同時在內外環境發生變化時,制造系統能夠具有自適應性和柔性[16-17]。
將Holon概念引入多分辨率建模領域,本文提出一種新的Holon多分辨率建模方法。該方法將同一實體的不同分辨率模型描述為若干具有自治性和協作性的多分辨率Holon(MRH),并形成層次化的組織結構。通過MRH自組織及層次結構的演化,可以實現多分辨率模型系統根據負載及用戶需求靈活的調整系統內運行模型的數量,從而有效降低系統負載,同時最大限度的保證了多分辨率模型間的一致性。
下面從系統組織結構、演化、軟件框架及實驗等幾個方面對Holon多分辨率建模方法進行論述。
1.1 組織結構
Holon多分辨率模型系統是由屬于不同分辨率層次的若干MRH所構成。系統中的一個實體模型是由描述該實體不同分辨率的模型所構成,每一個分辨率層次的模型都是由一個或多個MRH所構成。在某一給定分辨率的模型中,一個MRH就是該層次模型中最小的功能單元。
在兩個分辨率相鄰的模型中,一個低分辨模型的MRH包含若干高分辨率模型的MRH. 低分辨率模型MRH稱為上級多分辨率Holon(Super-MRH),對應的高分辨率模型的MRH稱為下級多分辨率Holon(Sub-MRH)。從不同的視角對一個MRH進行觀察,其“整體”和“部分”的屬性是可以轉化的。自上而下來看,一個MRH包含多個分辨率更高的低層下級MRH,此時該MRH是作為一個具有獨立功能的整體;自下而上來看,一個MRH屬于一個分辨率更高的上級MRH,此時該MRH是作為上級MRH整體功能中的一個部分,需要與相同層次并且同屬于這個上級MRH的其他MRH進行協作來實現上級MRH的功能。
一個Holon多分辨率模型系統的組織結構如圖1所示。

圖1 Holon多分辨率模型系統組織結構示意圖Fig.1 Structural diagram of Holon multi-resolution model system
圖1給出了一個具有兩個實體模型的Holon多分辨率系統的組織結構示意圖。其中每個實體都包含3個不同層次分辨率的模型,分辨率從低到高分別標示為1級、2級和3級。
MRH的特點包括:
1)獨立性。MRH要有特定的功能,能夠獨立完成某些任務。這是MRH作為多分辨率模型中基本元素的必要條件。沒有特定功能或者不借助其他部件就無法完成任何任務的MRH是不存在的。
2)“整體”和“部分”的雙重屬性。一個MRH可以包含比自身分辨率更高的下級MRH,同時也可以屬于分辨率比自身更低的上級MRH. 這種雙重屬性正是Holon多分辨率模型系統層次化的來源。
3)協作性。除了不同層次MRH之間的包含和從屬關系,相同層次的MRH還具有協作關系。MRH通過協作可以實現模型分辨率的動態變化。
4)相似性。MRH的相似性主要指上下級MRH之間的相似。這種相似可以是功能相似,也可以是結構相似,甚至可以是抽象概念上的相似。這種相似性是為了保證模型的分辨率發生改變的時候,相關模型的數據、結構等能夠盡量平穩,便于不同分辨率模型間一致性的維護。
構建一個MRH所必須的要素包括:
1)核心功能。核心功能是MRH作為一個獨立個體必須的能力。
2)上級MRH和下級MRH索引。一個MRH必須知道自身在多分辨率模型系統中的層級關系。
3)屬性一致性保持功能。一個MRH需要能夠在其生命周期內保持與其他層次的MRH一致的屬性。
1.2 形式化描述
根據離散事件系統規范(DEVS)[18],一個Holon多分辨率模型系統可以描述為


單個MRH的描述如下:


下面給出Holon多分辨率模型系統各組成部分的含義:
X、Y分別為系統的輸入集合和輸出集合,其含義與DEVS耦合模型中的兩個集合一致;
E為系統中全部實體的集合,包括具有多分辨率模型的實體和一般實體。
在該系統中,每個實體所包含的模型分辨率等級(層次)是不同的,并且對系統進行修改后,實體所包含模型分辨率等級也可能發生變化。因此需要在系統初始化的時候對模型分辨率層次統一進行標注。標注方法是找到系統中分辨率層次最多的那個實體,將其層次從低到高標注為(1,2,…,γ),其他實體只需將各自模型的分辨率層次對應標注即可。例如:系統包含飛機和艦艇兩個實體模型,飛機模型包含編隊、平臺、武器3個分辨率等級,而艦艇模型只包含平臺和武器兩個分辨率等級,那么飛機模型的分辨率層次為(1,2,3),艦艇模型的分辨率層次為(2,3),γ此時為3.
一個實體雖然包含多個不同分辨率的模型,這些模型也可能并發運行,但是從系統外部對模型進行觀察時,每次只需要其中一個特定層次分辨率模型的運行結果,因此ω表示為當前實體所表達的分辨率等級。當ω變化時,會引起MRH之間關系的變化。




如前文所述,在Holon多分辨率模型系統中,一個實體是由若干MRH構成,這些MRH按照分辨率的層次進行組織。在系統運行時,同時運行這些MRH顯然能夠很便捷地切換模型的分辨率,但是這樣是極其耗費資源的。除了每個MRH占據的運行資源,不同層次間MRH為了維護一致性而消耗的資源也是很大的,同時也會給系統帶來更多的不穩定性因素。因此提出一種自適應分辨率變化機制,根據系統實際的運行狀態和用戶使用情況,模型能夠自由改變MRH的運行狀態,實現分辨率的自適應改變,從而節約系統資源,提高系統穩定性。
下面首先研究Holon多分辨率模型系統中分辨率變化的觸發以及相應模型分辨率變化的機制,然后研究MRH組織結構的演化過程,最后提出一種面向資源的基于MRH滿意度的自適應分辨率變換機制來滿足Holon多分辨率模型系統對提高資源利用率的需求。
2.1 模型分辨率變化的觸發
在Holon多分辨率模型系統中,觸發分辨率變化的情況有以下3種:
1)用戶需求觸發。這是整個系統中優先級最高的觸發條件。
2)實體交互觸發。在不同分辨率實體之間發生交互的時候,觸發的分辨率變化。
3)系統資源觸發。這是在MRH以節約系統資源為目標或者某些MRH缺乏運行資源的情況下觸發。
其中模型分辨率變化由用戶需求觸發,是指在系統運行過程中,由用戶來指定分辨率的改變,這種改變包括什么時間改變,以及改變是從高分辨率模型變為低分辨率模型還是相反。
綜合考慮用戶各種可能的使用情況,總結以下4種用戶需求觸發的模型分辨變化機制:
1)用戶指定全仿真周期內固定分辨率。在這種情況下,刪除其他分辨率的MRH,只保留用戶所指定分辨率的MRH.
2)由用戶實時選擇的分辨率。在這種情況下,將分辨率變化之前的MRH掛起,只做內部更新,不與外界發生交互。例如用戶選擇在某一時刻將某一實體的低分辨率模型轉換為高分辨率進行觀察,則掛起該實體的低分辨率模型。
3)模型分辨率變化由實體交互觸發是指兩個交互實體的分辨率不一致時,需將兩個實體分辨率進行統一后,再進行交互。這時需要考慮兩種情況:
①僅有兩個實體交互。當僅有兩個實體進行交互時,統一兩個實體模型的分辨率后,將各自不需要的那個分辨率MRH掛起。
②一個實體與兩個以上實體同時交互。當與一個實體發生交互的實體大于1的時候,與該實體交互的模型可能屬于不同的分辨率層次,此時不需要統一所有模型的分辨率,只需要將共享交互實體的高、低分辨率MRH并發運行,其他實體保持原有的分辨率即可,從而避免系統中大量模型的分辨率連鎖變化。
4)模型分辨率變化由系統資源觸發是指MRH根據系統運行狀態和自身對資源的需求等情況自適應地改變模型的分辨率,從而減少系統對資源的需求,降低復雜度,提高系統穩定性。在Holon多分辨率模型系統運行的初始狀態,所有層次的MRH同時加載,之后系統將根據以下3種狀態來改變模型的分辨率:
①在沒有強制保持分辨率要求的情況下,模型運行的時間到達一定預設長度,則將高分辨率模型掛起。
②在系統資源緊張同時沒有強制保持分辨率要求的情況下,將高分辨率模型掛起。
③模型分辨率在短時間內頻繁切換,則允許高、低分辨率MRH并發運行。
2.2 MRH組織結構演化及一致性問題
如2.1節所述,Holon多分辨率模型系統在初始運行時,高、低分辨率的MRH同時加載,隨著系統的運行,高、低分辨率的MRH之間可以產生如下4種結構演化:
1)高、低分辨率MRH并發運行;
2)低分辨率MRH運行,高分辨率MRH掛起;
3)高分辨率MRH運行,低分辨率MRH掛起;
4)低分辨率MRH運行,高分辨率MRH刪除。
在研究高、低分辨率MRH之間的結構演化之前,首先對允許發生演化的層次進行說明。
在Holon多分辨率模型系統中,由于MRH構成了層次化的樹形結構,低分辨率MRH為父節點,高分辨率MRH群組為子節點,因此系統中不存在高分辨MRH運行而低分辨率MRH被刪除的結構。這種情況相當于父節點被刪除,Holon多分辨率模型系統的層次結構會因此被破壞。同時,分辨率的變化僅發生在處于層次結構最底層葉子節點的MRH群組和其父節點上級MRH之間,或者葉子節點和將要加入的新葉子節點之間。這是為了避免更高層次MRH結構的改變引起其子節點連鎖變化而為系統帶來巨大的結構變化,從而保證系統整體的穩定性。同時越上層的MRH分辨率越低,保持上層MRH并發運行所需的資源相對較少,因此Holon多分辨率模型系統的結構演化是從葉子節點最高分辨率MRH開始的。只有當最高分辨率的MRH被刪除后,系統的結構演化才會發生在更高一層的MRH群組(當前的葉子節點)和其上級MRH中。同理可知,如果在刪除高分辨MRH群組之后,想要從低分辨率MRH恢復這些高分辨率的MRH時,則需要當前的低分辨率MRH為葉子節點。Holon多分辨率模型系統中允許發生結構演化的層次限制如圖2中虛線所示。

圖2 系統中允許發生結構演化的層次示意圖Fig.2 Allowable hierarchy of structural evolution in the system
下面就上述4種結構演化中MRH的行為以及模型間的一致性進行詳細說明。
1)高、低分辨率MRH并發運行。
在這種情況下,高、低分辨率MRH需要在每一個仿真步長都進行模型一致性的維護。當實體與外部沒有交互的時候,上級MRH通過接收下級MRH群組提供的數據進行自身的屬性更新。上級MRH需要將接收的多個高分辨率屬性聚合為自身可用的低分辨率屬性值。
當實體與外部發生交互時,交互會同時影響高、低分辨率MRH. 此時的一致性維護會在以下幾方面對交互結果產生不良影響:
①考慮在一個分辨率MRH發生的交互能改變與分辨率相關的屬性時,另一個分辨率的MRH交互同時也訪問或者改變這些屬性,就會造成兩個交互在屬性操作上的沖突。例如:一個實體的低分辨率MRH發出一個交互Il,該交互能改變與分辨率相關的屬性為{Al},這些屬性在高分辨率MRH中對應的屬性為{Ah},在{Ah}進行更新的時候,高分辨率MRH又發出一個交互Ih,該交互也要改變屬性或者訪問{Ah},此時就會造成屬性值的混亂;
②考慮同態交互的問題。同態交互是指一個事件在不同分辨率MRH中的表現。當一個分辨率的MRH發生交互時,另一個分辨率的MRH中也存在一個相應的同態交互。例如:一個低分辨率的艦艇編隊模型收到被攻擊的交互,需要對編隊中艦艇的損失進行計算。那么高分辨率的艦艇模型也會收到一個被攻擊的交互,需要對艦艇的損失進行計算。這兩個交互就是同態交互。可以看出,同態交互也會對同一實體的不同分辨率模型的屬性形成操作上的沖突。造成同態交互問題的原因是一個實體同時接收了高、低分辨率模型發來的交互。
為了避免以上兩種情況的發生,MRH在交互信息中要增加與該交互相關的屬性集信息和交互發送者的分辨率等級信息。這樣當一個交互發生時,與該交互相關的屬性成為該交互的獨占資源,其他交互只能排隊等待訪問,從而解決不同分辨率模型同時操作與分辨率相關屬性造成的混亂。另外,由于有了交互發送者的分辨率等級信息,那么接收該消息的只能是分辨率等級相同的MRH,這也就避免了同態交互問題。
2)低分辨率MRH運行,高分辨率MRH掛起。
在這種情況下,被掛起的高分辨率模型不再與外部進行交互,僅周期性的計算上級MRH需要的低分辨率屬性值并發送至上級MRH,以保證上級MRH相關屬性的精確性。低分辨率的上級MRH中的屬性如果由于交互而發生變化,則將改變后的屬性值通過解聚運算分發至下級MRH,供其更新高分辨率MRH的相應屬性。此時還維持下級MRH的屬性更新是為了讓用戶在查看高分辨率屬性時得到更好的響應速度。在高分辨率MRH需要恢復的時候,重新建立MRH群組與外部的聯系即可。
通過這種機制,系統釋放了部分的通信壓力以及模型間一致性維護的資源消耗,而且還盡可能的保持了高、低分辨率MRH間的一致性。
3)高分辨率MRH運行,低分辨率MRH掛起。
在這種情況下,被掛起的低分辨率模型除了與自身的上級MRH交互外,不再與外部進行交互。高分辨率模型不再持續維護與之的一致性,僅在交互發生后對上級MRH進行屬性更新。此時還維持上級MRH的屬性更新是為了讓用戶在查看低分辨率屬性時得到更好的響應速度。同時比上級MRH更高層次的低分辨率模型也需要得到相應的更新信息,但是由于分辨率更低,因此僅在交互發生時更新是可以滿足其需求的。在低分辨率MRH需要恢復的時候,重新建立該MRH與外部的聯系即可。
4)低分辨率MRH運行,高分辨率MRH刪除。
這種結構是對資源的徹底釋放,不需要再進行一致性的維護。在恢復高分辨率MRH時需要進行重新的初始化,這會對不同分辨率模型間的一致性帶來較大影響。但是一般在演化至這種結構的時候,都是基于系統的判斷,系統對于高分辨率的模型運行需求不高才會放棄該模型,用戶無法直接操作。
2.3 基于滿意度的自適應分辨率變換機制
在研究了模型分辨率變化觸發機制以及結構演化后,下面給出支撐Holon多分辨率模型系統中分辨率改變和結構演化的基于MRH滿意度的自適應分辨率變換機制。
首先給出滿意度的定義。滿意度是指MRH在系統中被需要的程度,它是由MRH在無外部交互情況下的運行時間、外部交互請求或用戶指令,以及資源占有程度這幾個方面共同決定的。
滿意度表示了一個MRH或者MRH群組當前運行狀況對系統貢獻程度的大小,如果滿意度高,說明系統需要當前分辨率的MRH,相反,如果滿意度降低,則系統趨向于不需要這個MRH或者MRH群組。在系統初始化的時候,滿意度被賦予一個固定值Sa0(一般值取1),當MRH的滿意度下降到一個預設值M時,MRH將被掛起,如果下降到一個預設值M′(M′ MRH在無外部交互情況下的運行時間對滿意度是一個負激勵,即MRH在無外部交互情況下的運行時間越長,滿意度越低。這個時間可以用仿真步長來進行衡量,設當前MRH的滿意度為San,下一個仿真步長的滿意度為San+1,k為仿真滿意度遞減值。則有 San+1=San-k,n=0,1,…. (1) 外部交互請求或者用戶指令對于MRH的滿意度來說是一個正激勵,無論是外部交互請求還是用戶的指令,都可以視為對一個MRH的需求。那么無論一個MRH或MRH群組是處于掛起還是運行狀態,當需求產生時,其滿意度恢復為初始值Sa0. 資源占有程度決定了滿意度遞減值k的大小,資源占用越多的MRH,其滿意度隨時間推移遞減的越快。那么資源占有程度如何來衡量呢?一個MRH所占有的資源包括CPU運算資源、內存占用資源、網絡通信資源等,由于運行環境的復雜性,這些參數之間的變化關系也很復雜,無法利用它們來衡量一個MRH對資源的占有程度。在Holon多分辨率模型系統中,這些資源綜合作用產生的效果確是可以衡量的,那就是在一個仿真步長內處理一個MRH運行所用的時間。因此處理MRH運行的時間t越長,則k值越大。設系統所有MRH運行時間總和為T,則對于單個MRH有 (2) 式中:c為調整系數,用于調節系統滿意度遞減的幅度,從而調整系統自適應改變分辨率的敏感性。 對于MRH群組有 (3) 下面通過一個實例來說明滿意度是如何驅動系統演化的。 圖3描述了一個飛機編隊A通過一段巡航,到達作戰區域3,與一個艦艇編隊S和飛機編隊B發生戰斗,作戰結束后,A繼續向降落目的地4飛行。其中飛機編隊A是一個具有高、低兩個分辨率模型的實體,艦艇編隊S是低分辨率模型實體,飛機編隊B是高分辨率模型實體。圖3中位置1、位置2之間的陰影部分表示A通過時需要運行高分辨率模型。 圖3 滿意度驅動系統演化示意圖Fig.3 System evolution driven by satisfaction 實體A的演化過程如下: 1)在初始狀態下,A的結構是高、低分辨率MRH并發運行。低分辨率模型是上級MRH,高分辨率模型是下級MRH群組,由4架飛機模型組成,其中一架飛機為H-MRH,其余為P-MRH. 此時滿意度Sa由H-MRH計算,初始值為Sa0. 滿意度閾值為M和M′(M′ 2)當A運行至位置1時,滿意度Sa 3)當A運行至陰影位置時,滿意度M′ 4)當A通過陰影區域至位置2時,由于上級MRH所占用的資源少,所以其滿意度Sa′的遞減速率小于Sa,此時Sa 5)當A到達位置3時,滿意度M′ 6)隨著時間推移,A脫離了艦船編隊S的攻擊,但是還沒有擺脫B. 此時A的低分辨率上級MRH失去交互需求,Sa′開始遞減。當Sa′ 7)戰斗結束,A返航,在位置4的時候,高分辨率MRH的滿意度Sa 8)當Sa 3.1 運行體系結構的設計 基于Holon多分辨率模型的軟件系統中,不同分辨率的MRH構成了系統中的實體。一個實體中處于不同層次的MRH之間需要通過屬性映射來保持相互之間的一致性。而所有的MRH及其組成的實體需要有一個統一的部件來進行管理。該部件負責維護MRH之間的層次結構以及屬性更新消息的轉發等功能。系統的運行體系結構圖如圖4所示。 圖4 Holon多分辨率模型系統運行體系結構Fig.4 System architecture of Holon multi-resolution model 3.2 MRH屬性映射服務 多分辨率模型系統中不同分辨率模型之間的一致性是通過屬性的映射來維護的。在Holon多分辨率建模方法中,一致性的維護是由MRH中的屬性映射服務通過接收屬性更新消息并根據不同的消息種類完成不同的處理流程來實現的。 MRH屬性映射服務的軟件框架如圖5所示。 圖5 MRH屬性映射服務軟件框架Fig.5 MRH attribute mapping service software framework MRH中的屬性可以分為兩類:一類是分辨率無關屬性,另一類是分辨率相關屬性。分辨率無關屬性是MRH自身維護的屬性,其變化不會影響自身以外的其他MRH的屬性。分辨率相關屬性是一個實體的同一屬性在不同分辨率的模型中應該有對應的屬性表示,也被稱為同態屬性。MRH中的屬性映射服務的對象是分辨率相關屬性。 一個MRH中與分辨率相關的屬性發生更新可能來自于以下3種不同的激勵: 1)內部狀態更新激勵。一個MRH在沒有交互發生的情況下,隨著時間推移,其部分的分辨率相關屬性會收到來自MRH內部的狀態更新激勵,屬性值被更新。 2)交互激勵。當一個MRH發出或者接受到一個交互的時候,其部分的分辨率相關屬性會由于交互的影響而發生改變。 3)一致性維護激勵。當一個MRH相鄰的高分辨率模型或者低分辨率模型中的分辨率相關屬性發生更新時(無論是由什么激勵產生),該MRH中相應的同態屬性將被更新。 MRH的分辨率相關屬性更新映射流程是: 1)屬性收到更新消息,首先檢查該屬性是否處于鎖定狀態;如果該屬性被鎖定,說明該屬性正在被其他激勵產生的消息所更新。此時將更新消息加入消息隊列進行排隊等待。直到本次消息可以被處理。如果屬性沒有被鎖定,則檢查更新消息緩沖隊列是否為空。如果隊列為空,則直接讀取消息更新內容對屬性加鎖并進行更新;如果不為空,則將消息加入緩沖隊列等待處理。 2)更新屬性時,需要判斷更新消息的激勵種類。如果是內部狀態更新激勵和交互激勵,則更新屬性,并向上級MRH以及下級MRH均發送一條種類為一致性維護的激勵,屬性值為更新后的最新屬性;如果是一致性維護激勵,更新屬性后,則需判斷消息的發送者是上級還是下級MRH,向非消息來源那個層次的MRH發送一致性維護屬性更新消息,從而避免循環映射。 3)更新結束后,解鎖被更新屬性,使其狀態變為可更新,之后從更新消息緩沖隊列中讀取下一條消息進行下一次屬性更新流程。如果消息緩沖隊列中沒有待處理的消息,則繼續循環等待新消息的到來,直至仿真結束。 一個MRH在仿真運行的過程中可以有3種狀態:運行狀態、掛起狀態和刪除狀態。不同狀態下的屬性映射的頻率有所不同。其詳情如下: 1)在運行狀態下,每個仿真步長都執行一次屬性更新。 2)在掛起狀態,對于內部狀態激勵的更新消息,每個仿真步長更新,但并不在每次更新都向上、下級MRH發送一致性維護消息,而只在設定的頻率下向外發送,從而降低通訊負載。在掛起狀態,MRH沒有外部交互,因此也不需要處理交互激勵的屬性更新消息。對于一致性維護更新消息,也不需要每個仿真步長進行處理,而是按照設定的頻率進行更新即可。 3)在刪除狀態下,無需進行任何更新。 綜上所述,一個分辨率相關的屬性可以有多種更新的激勵。這些激勵之間會產生一些連鎖反應,從而保證了不同分辨率模型的一致性。例如一個編隊MRH發出一個攻擊交互,由于受到這個交互的激勵,其導彈數量減少,編隊導彈數量的變化引起一致性維護激勵,對應的低分辨率飛機模型中的導彈數量要相應減少。至于是哪些飛機的導彈數量各減少了多少,是由該屬性的一致性維護函數確定的。該函數的算法不同,那么結果也不盡相同。這也是為了滿足多分辨率建模目的而必須接受的誤差。 MRH屬性映射服務由MRHAttrMap類提供,該類的主要功能如下: 1) 保存所有分辨率相關屬性的索引; 2) 屬性更新消息的發送與接收; 3) 消息緩沖隊列管理; 4) 屬性訪問鎖定; 5) 屬性值的聚合解聚運算。 MRHAttrMap類的UML描述如圖6所示。 圖6 MRHAttrMap類UML描述Fig.6 MRHAttrMap UML description 3.3 MRH管理服務 Holon多分辨率模型系統中的每個實體都是由若干MRH構成。不同分辨率的MRH構成了層次化的實體多分辨率模型結構。該結構在系統運行過程中可以根據系統負載和需求自動調節不同分辨率MRH的運行、掛起和刪除狀態,從而取得系統整體精度和效率的平衡。為了給這種層次結構的運行和演化提供支撐,系統需要設計MRH的管理服務。 每一個Holon多分辨率模型系統都應該有且只有一個MRH管理服務的對象,用于完成對系統中所有MRH的管理,并為MRH以及其他服務提供系統的全局變量。這個對象是MRHManager類的實例,該類的主要功能如下: 1) 實體的注冊、刪除; 2) MRH的注冊、刪除; 3) 保存所有MRH的指針; 4) 保存每個實體的所有MRH的層次結構; 5) 保存實體多分辨率模型的運行結構狀態(高、低分辨率模型并發運行、高分辨率模型掛起等); 6) 保存滿意度閾值; 7) 為消息轉發和一致性維護提供MRH的指針(包括目標MRH及其上、下級MRH的指針)。 MRHManager類的UML描述如圖7所示。 圖7 MRHManager類UML描述Fig.7 MRHManager UML description 在基于Holon多分辨率建模方法構建的海軍武器裝備體系戰役推演系統中進行了實際推演。另外以相同的想定和實體解算模型分別進行了應用傳統的視點選擇多分辨率建模法和聚合解聚多分辨率建模法的作戰推演。 推演系統的主要硬件組成為:共5臺主機接入千兆局域網互聯,其中紅方3臺,每臺運行1個艦艇模型以及對應的傳感器和武器模型,紅方中的1臺主機還負責運行紅方艦艇編隊模型;藍方1臺主機運行潛艇模型;白方1臺主機用于仿真控制以及態勢顯示。各主機采用相同的配置:intel CORE i7 3.4 GHz處理器、4 GB內存、GTX560獨立顯卡。 系統硬件應能夠提供所有模型同時運行的資源,并保證不同建模方法構建的多分辨率模型每次運行在同一資源條件下,即每次推演均在同一硬件資源上進行。由于實驗目的是對比應用不同多分辨率建模方法構建的模型在推演時的系統負載和模型分辨率轉換情況,因此在滿足上述條件的基礎上,采用不同的運行環境對實驗結論沒有影響。 推演過程是3艘紅方艦艇編隊航行至預定海域對藍方潛艇展開搜索,藍方潛艇被發現,紅方艦艇進行一輪攻擊后擊中藍方潛艇,推演結束。為了使仿真結果更加直觀,在應用Holon多分辨率建模法的時候,設置最高分辨率的聲納和魚雷模型在無外部交互請求的前臺運行情況下運行3 min即被掛起,在掛起狀態運行3 min即被刪除;中等分辨率的艦船模型的前臺運行時間為6 min,掛起后6 min被刪除;最低分辨率的艦船編隊模型的前臺運行時間為9 min,由于編隊模型是最低分辨率模型,所以即使在掛起狀態也不會被刪除。推演中的關鍵事件均設置在3 min的整數倍,以便于更加清晰直觀的觀察仿真結果。推演運行截圖如圖8所示。 圖8 推演運行截圖Fig.8 Screenshot of deduction running 推演按照關鍵事件可以分為以下5個階段: 1) 開始至21 min為編隊航行階段; 2) 21 min編隊進入預定海域,開啟聲納進入搜索階段至33 min; 3) 33 min時發現目標,艦艇進入形成攻擊隊形階段至36 min; 4) 36 min開始進入攻擊階段,至42 min攻擊結束; 5) 42 min進入編隊返航階段,至60 min推演結束。 通過記錄應用3種不同多分辨率建模方法的推演中每一個仿真步長內所有實體運行時間的總和來衡量系統的綜合負載情況,形成了如圖9所示曲線。 圖9 應用不同多分辨率建模方法的系統負載變化Fig.9 System load changes using different multi-resolution modeling method 為了便于描述,對應圖9,下文將采用Holon多分辨率模型技術的作戰推演系統簡稱為系統a,將采用視點選擇多分辨率模型法的系統簡稱為系統b,將采用聚合解聚多分辨率模型法的系統簡稱為系統c. 下面分階段對仿真結果進行分析: 1) 編隊航行階段。 系統a在仿真初始化時,高、中、低分辨率模型同時加載,此時由于聲納和魚雷模型并未進行復雜解算,因此系統負載并未到達最高值。隨著時間推進,聲納、魚雷模型的滿意度逐漸降低,模型被掛起,系統負載降低。時間繼續推進,艦船模型也被掛起,聲納、魚雷模型被刪除,系統負載進一步降低。在12 min過后,系統中只運行著編隊這一個最低分辨率模型,系統負載降到最低。 系統b在推演的全過程中均加載最高分辨率的聲納、魚雷和中等分辨率的艦船模型,沒有編隊模型,編隊的數據均是由更高分辨率的模型計算得出。在仿真開始后,系統b的負載基本和系統a的初始負載相同,并持續保持至編隊航行階段結束。 系統c在編隊航行階段只運行最低分辨率的編隊模型。 可以看出在編隊航行階段系統負載c 2) 編隊進入預定海域,開啟聲納進入搜索階段。 在該階段,系統a的艦艇模型和聲納、魚雷模型受到任務激勵,重新初始化進入運行狀態。隨著搜索的進行,魚雷模型不需要再待命,因此進入掛起狀態,隨著時間推移最終被刪除。聲納模型由于始終有任務激勵,因此始終處于前臺運行。艦艇和編隊模型也隨著滿意度的降低而進入到掛起狀態。由于聲納模型的持續運行,作為其上層分辨率模型的艦艇模型不能被刪除,只能處于后臺運行。在此階段系統負載隨時間推移逐步降低,由于后臺的艦艇模型會以較低頻率對聲納模型發布位置等信息,因此,聲納的位置等參數的精度也得到了保證。 系統b模型由于始終運行在最高分辨率,因此系統負載隨著模型解算任務的加重而變大。 系統c在該階段切換分辨率,模型轉換為高分辨率模型運行,系統負載與系統b基本一致。 可以看出在編隊進入預定海域,開啟聲納進入搜索階段系統負載a 3) 發現目標,艦艇進入形成攻擊隊形階段。 在該階段,系統a的艦艇模型被激活以形成攻擊隊形。因此負載上升,但由于編隊模型掛起以及魚雷模型被刪除,因此系統負載仍然離峰值較遠。 系統b和系統c由于運行的模型分辨率沒有變化,因此在該階段負載較前一階段沒有變化。 可以看出在發現目標,艦艇進入形成攻擊隊形階段系統負載a 4) 攻擊階段。 在這個階段,由于加入了魚雷模型的解算,因此系統負載達到峰值。系統a由于后臺運行著編隊模型,因此系統負載略高于系統b和系統c. 但此時系統a不同分辨率之間的一致性要好于沒有編隊模型運行的系統b和系統c. 可以看出在攻擊階段,系統負載b≈c 5) 編隊返航階段。 該階段系統對高分辨率模型的需求降低,與編隊航行階段類似。 系統a隨著時間推進,聲納、魚雷模型的滿意度逐漸降低,模型被掛起,系統負載降低。時間繼續推進,艦船模型也被掛起,聲納、魚雷模型被刪除,系統負載進一步降低。在54 min時,系統中只運行著編隊這一個最低分辨率模型,系統負載降到最低。 系統b由于始終加載最高分辨率的聲納、魚雷和中等分辨率的艦船模型,所以系統負載基本和其編隊航行階段的負載相同。 系統c此時切換分辨率至編隊模型,系統負載將至編隊航行階段的水平。
3 支持Holon多分辨率建模的軟件框架




4 仿真實驗

