?? hla.txt
字號:
[原創]Dis/hla概述
Dis/hla
Distributed interactive simulation system/High level architrcture
一、 研究的內容
二、 如何實現
三、 別人的做法
1、 技術概述
HLA 是1995年美國國防部(DOD)發布的建模與仿真大綱(DOD M&S Master Plan) 中第一個目標開發建模和仿真通用技術框架中的首要內容,其主要目的是促進仿真應用的互操作性和仿真資源的可重用性。1996年10月美國防部正式規定HLA為國防部范圍內仿真項目的標準技術框架,開始推行HLA,并以之作為替代原有的 DIS、ALSP等標準。同時提交IEEE,作為IEEE1516發布。
從90年代以來,隨著計算機技術尤其是面向對象技術與分布計算技術的的發展與成熟,產生了基于客戶/服務器模式的分布對象計算(DOC),并且出現了支持分布對象計算的具有代表性的分布系統開發技術--公共對象請求代理結構CORBA. CORBA技術的出現,為高級體系結構HLA的建立提供了很好的技術基礎。
原有的Dis采用的是一種低層次的隨機的體系結構,而HLA則為構造多種類型的、聚合集仿真應用系統提供了更好的集成手段。HLA主要由三部分組成:
- 規則(Rules):
保證聯邦中仿真應用間按正確的方式進行交互,描述各聯邦成員的責任及它們與RTI的關系,共十條。
共10條,前5條涉及聯邦,后5條涉及聯邦成員
1 聯邦中必須有一個FOM,以OMT中的格式定義FOM
2 所有在FOM中的對象都必須在聯邦成員中描述而非RTI中
3 在聯邦運行中,聯邦成員間的FOM數據交換必須通過RTI
4 在聯邦運行中,聯邦成員與RTI的交互必須按照HLA的接口規范進行
5 在聯邦運行中,一個對象實例的屬性在某個時刻只能為一個聯邦成員所擁有
6 聯邦成員中必須有一個SOM,以OMT定義的格式描述
7 聯邦成員必須能更新(UPDATE)或反映(REFLECT)在SOM中定義的任何屬性,發送或接受SOM對
象的交互信息
8 聯邦成員運行中能按SOM定義的方式轉移或接受屬性的所有權
9 在運行中能按照SOM中定義的方式更改提供對象屬性更新的條件
10 聯邦成員能夠以允許的方式管理其局部時鐘
- 接口規范說明(Interface Specification):
定義聯邦成員與聯邦中其他成員進行信息交互的方式,即RTI的服務,共有六種管理服務。
1 聯邦管理服務:包括聯邦的創建與注銷、聯邦成員的加入與退出、聯邦狀態的存儲與恢復、設置同步點等。
2 聲明管理服務:包括發布、預定對象屬性。發布、預定交互類信息以及其他支持服務。
3 對象管理服務:包括注冊或注銷對象實例、屬性的更新、被更新、交互的發送及接受以及一些支持服務。
4 所有權管理服務:包括聯邦成員間對象屬性所有權的轉移和相應的支持服務。
5 時間管理服務:包括協調聯邦成員間局部時鐘推進管理的各種服務。
6 數據分發管理服務:包括各個聯邦成員根據各自的“興趣”來確定信息的發送和接受等的有關支持服務。
- 對象模型模板(OMT:Object Model Template):
定義HLA對象模型信息的通用方法,提供一種標準格式HLA對象模型信息,以促進互操作性和資源的 可重用性。
OMT定義了描述HLA對象模型信息的通用方法,它提供一種標準的記錄對象模型信息格式。目的是促進互操作性和可重用性。在OMT中定義了聯邦對象模型FOM和仿真對象模型SOM。FOM以一種通用、標準的格式描述聯邦成員間的數據交換。SOM是單個仿真應用能提供給聯邦的固有的能力描述。
HLA對象模型組成:
對象模型標識表:
對象類結構表:
交互類結構表:
屬性表:
參數表:
路徑空間表:
FOM/SOM術語字典:
2、 HLA的框架和規則
(1) 聯邦應該有一個聯邦對象模型FOM,該FOM應與HLA的OMT相容。FOM是說明HLA聯邦數據交換的手段,它記錄了聯邦成員對于在聯邦運行期間需相互交換的數據的內容、格式及數據交換的條件所達成的協議。
(2) 在一個聯邦中,FOM中的所有對象應屬于各個成員而不應在RTI中。HLA中,將凡是與仿真有關的對象實體的表達放在聯邦成員中而不是放在RTI中, 但是RTI可以擁有管理對象模型(MOM)中對象實例。
(3) 在執行聯邦時,各成員中間所有FOM規定的數據交換必須通過RTI進行。HLA中, FOM中描述的對象或交互類的數據,都是聯邦成員之間可能需交換的數據,而成員之間要想實現交換數據,只有借助于RTI提供的服務。
(4) 在聯邦執行中,成員應按HLA接口規范與RTI交互,即訪問RTI應遵循接口規范。
(5) 在聯邦執行中,在任一給定時間,一個對象屬性只能為一個成員所擁有。HLA中,不同成員可以擁有同一個對象實例的不同屬性。為了保證整個聯邦中數據的一致性,在任意給定時間最多只能讓一個聯邦成員擁有(從而有權改變其值)任意給定的對象實例的屬性。
(6) 聯邦成員應有一個符合OMT規范的成員對象模型(SOM)。聯邦成員通常由實現仿真功能的仿真系統組成,SOM描述了它們為實現自己的仿真功能,需向外獲取(定購)及本身能向外提供(公布)的信息。
(7) 成員應能更新和(或)使用其SOM中記錄的對象的屬性,能接收與發送SOM中記錄的交互。聯邦成員在聯邦運行中向其它成員公布自己所負責建模的對象的屬性的數值,及借助于RTI提供的服務接收自己想要的來自其它成員的屬性數據是各個聯邦成員的責任。
(8) 成員應按SOM中的規定,在聯邦執行中動態地轉移與接收屬性的所有權。對HLA聯邦來說,實際仿真劇情的實現,常常要在具體的聯邦成員之間進行對象屬性所有權動態轉換,RTI通過"所有權管理"提供相應的服務,而具體的實現是聯邦成員之間的責任與合作。
(9) 成員應按SOM中的規定,更新對象屬性的條件(如改變閥值)。HLA讓擁有某些對象屬性所有權的成員有權產生這些屬性的不斷變化的值(往往通過模型的解算得到),并由它負責通過RTI將不斷公布這些屬性值,從而使定購這些屬性的其它成員能得到這些屬性的值。
(10) 成員應能管理局部時間,從而保證它能協調地與聯邦中的其它成員交換數據。HLA通過時間管理服務給聯邦成員提供了靈活的仿真時間推進的方法,從而使HLA可以適用于連續、離散或混和類型的仿真。但它需要聯邦成員自己管理自己的邏輯仿真時間(本地時間)。
3、聯邦成員訪問RTI的接口規范
運行時間支撐系統RTI軟件主要包含三個組件: RtiExec、 FedExec和 LibRTI,它們可以運行在單獨的一臺工作站或任意復雜的網絡上。LibRTI是一個C++庫,為成員開發者提供了HLA接口規范定義的一系列服務。成員通過LibRTI調用HLA的服務同RtiExec、FedExec以及其它成員進行通信。HLA接口規范定義了libRTI向成員提供的服務以及成員向聯邦承擔的責任,如表所示:
六大管理服務(101個服務) 名稱 服務數目 功能
聯邦管理 20 提供創建、刪除、加入、退出和控制聯邦運行及保存狀態等功能
聲明管理 12 用于公布、訂購屬性/交互,支持仿真交互控制的功能
對象管理 17 包括對象提供方的實例注冊和更新,對象用戶方的實例發現和反射,同時包括收發交互信息的方法、基于用戶要求控制實例更新和其他各方面的支持功能
所有權管理 16 提供屬性所有權和對象所有權的遷移和接收的服務
時間管理 23 提供HLA時間管理策略和時間推進機制
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -