杜雅麗 (隴東學院信息工程學院,甘肅 慶陽745000)
作為一種先進的仿真技術,分布式交互仿真技術將分散在不同地理位置的不同類型的仿真應用和真實世界互聯,建立一種人可以參與、交互的綜合環境。在已有的技術中,HLA (High Level Architectur)發展了新的分布式交互體系結構,提供了更大規模的、集構造仿真、虛擬仿真和實況仿真于一體的綜合環境,實現了各類仿真系統間的互操作、動態管理、一點對多點的通訊系統以及不同層次對象模型的建立。HLA技術已經成為分布式交互仿真領域的首選方案,研究HLA仿真程序設計方法,應用HLA開發分布式仿真應用系統對于促進HLA在我國工程領域內的推廣具有很重要的意義。
在基于HLA的眾多跨平臺仿真建模工具中,LabWorks以其易用、開發成本低而受青睞。LabWorks面向分布交互式仿真系統的開發,運用RTI(運行支撐環境,是HLA接口規范的具體實現,是HLA的核心部件。RTI包括2部分,服務器實現部分和客戶端組件部分??蛻舳私M件稱之為本地RTI組件,它為聯邦成員提供一個服務調用接口,這個接口叫做RTI大使;同時RTI需要保持一個聯邦成員的回調接口,稱之為聯邦成員大使)提供的接口函數,為聯邦開發者提供了先進的仿真應用開發環境和HLA對象建模工具。開發者采用圖形化的用戶界面進行模型間的交互設計,根據應用需求填寫FOM表和SOM表,基于可視化模型生成仿真代碼和配置文件,最終生成基于HLA的仿真應用程序。
1)HLA的體系構成和功能 HLA是1995年美國國防部 (DOD)發布的建模與仿真大綱 (DOD M&S Master Plan)中第一個目標——開發建模和仿真通用技術框架中的首要內容,其目的是促進仿真應用的互操作性和仿真資源的可重用性。1996年10月美國國防部正式規定HLA為國防部范圍內仿真項目的標準技術框架,開始推行HLA,于2000年成為國際通用的標準。HLA體系規范主要包括3部分[1]:①HLA規則。描述各聯邦成員的責任及它們與RTI的關系,保證在聯邦執行階段各個仿真應用能正確交互。②對象模型模板 (OMT)。由一組刻畫對象的類、屬性和它們之間交互的相互關系的成分組成。OMT規定了記錄對象模型內容的標準格式和語法,以表的形式來定義HLA對象模型,是實現HLA互操作、可重用的重要機制之一。③接口規范說明。定義RTI服務。通過該接口的規范定義,一方面使得開發人員可以將研究重點和寶貴時間用于仿真系統中各個聯邦成員的設計與開發中;另一方面保證各個聯邦成員的獨立性,便于系統的修改與擴展。
2)HLA對象模型模版 (HLA/OMT) HLA/OMT是一種標準化框架,它包括2類對象模型,一類是仿真對象模型 (SOM),描述了單一聯邦成員可以對外公布和訂購的對象類、對象類屬性、交互類和交互類參數的特性;另一類是聯邦對象模型 (FOM),描述了在仿真運行過程中互操作聯邦成員信息交換的對象類、對象類屬性、交互類、交互類參數的特性。
在開放HLA聯邦的過程中,所有參加聯邦運行的成員都需要對它們相互之間必需進行交換的信息的特性具有準確的、一致的理解,否則各成員之間的互操作將難以正確、有效地完成。建立FOM的目的是為聯邦中各成員之間交換數據的描述提供統一、標準的形式,以便各成員在聯邦的運行中正確、充分地利用這些數據進行互操作。
借助高級開發工具是加快仿真應用系統開發的一種有效方式,目前業內出現了幾種商業化的HLA/RTI開發工具,這些工具軟件以HLA聯邦開發與執行的標準過程為依據,嚴格遵循HLA接口規范,采用便捷、直觀的可視化手段輔助開發者完成系統設計、開發與集成測試等工作。下面,筆者引入AEgis公司的LabWorks和Pitch公司的pRTI,說明利用工具開發HLA/RTI應用系統的方法。
LabWorks包括OMDTPro模塊、FedProxy模塊、FedDirector模塊和Omni模塊4個功能模塊,各模塊可完成聯邦開發和執行過程模型各開發階段的功能。pRTI作為系統級支持構件,能夠與LabWorks兼容,具有與平臺無關、即插即用、完全線程化和C++綁定的良好特性。利用LabWorks和pRTI設計、開發HLA/RTI應用系統,主要完成以下工作:①定義聯邦目標。明確聯邦發起者的需求,細化需求,將它轉化為具體、可評估的聯邦開發目標。②開發聯邦概念模型。根據聯邦目標設計聯邦劇情,對聯邦目標進行概念性分析,生成具體的、可實現的聯邦需求。③設計聯邦。進行聯邦成員劃分,為各個邦員分配功能,制定開發計劃。④開發聯邦。⑤集成和測試聯邦。制定聯邦運行計劃,確信聯邦需求是否獲得滿足、參與聯邦的仿真應用間是否具有兼容性和一致性。⑥運行聯邦和分析結果[2]。

圖1 聯邦成員用例圖
1)定義聯邦需求 采用華力創通公司的LabWorks作為開發工具,通過有限的步驟,把所需解決的問題從抽象的邏輯概念初步轉化為具體實現。運用HLA進行應用系統的開發,首先要確定系統的結構,確定其聯邦由以下聯邦成員組成,如圖1所示。
2)聯邦對象模型設計 在HLA中,對象類結構表記錄的對象類關系具有繼承性,即對象之間是父類與子類的關系,而這種繼承性又具有傳遞性[3]。子類繼承了其父類的屬性與交互特性,并按具體化的要求進行細化并增加一些特性。通過對象/交互類的設計主要確定各個聯邦成員之間的數據流和控制流,實現仿真對象間的互操作和仿真資源的可重用。基于設計和預定所確定好的對象類和交互類,各個聯邦成員從外部獲得該聯邦所需的數據信息的同時,將其他聯邦成員所感興趣的信息發送出去。表1介紹了所涉及的一些對象類及交互類。仿真中每個對象類都具有一些固定的屬性。這些屬性對應于對象的狀態,HLA實例屬性值通過RTI更新并提供給聯邦中的其他成員。成員和聯邦都應在各自的SOM或FOM的屬性表中記錄這些對象屬性。
3)聯邦成員的實現 仿真系統對象類及交互類的建模采用LabWorks,RTI采用Pitch公司的pRTI,整個仿真系統基于Visual C++開發。仿真系統工作流程如圖2所示。聯邦成員模型包括聯邦成員實體模型、運行邏輯和交互模型。其中,實體模型是對實體自身的行為特征的描述,運行邏輯是實體模型的執行體,而交互模型則定義了各個實體之間的交互關系,通過HLA/OMT的FOM、SOM表,按照HLA/RTI的接口規范進行描述。聯邦成員實體模型、交互模型和運行邏輯結合在一起,組成一個聯邦成員,完成特定的仿真任務。

表1 對象類/交互類

圖2 仿真系統工作流程
對象模型模板 (OMT)提供了建立HLA對象類模型的通用框架,而LabWorks仿真建模工具以HLA聯邦開發與執行的標準過程為依據,嚴格遵循HLA接口規范,采用便捷、直觀的可視化手段輔助開發者完成系統設計、開發與集成測試等工作,是一種開發HLA/RTI交互式仿真系統的有效方法。
[1]陳濤,羅修波 .基于HLA的水聲對抗仿真系統結構設計 [J].計算機仿真,2004,22(3):246-248.
[2]劉健,劉忠,顏冰 .基于HLA的潛艇隱蔽作戰仿真系統開發研究 [J].系統仿真學報,2004,16(3):422-423.
[3]朱旭芳,顏冰 .基于HLA的海洋聲環境場仿真系統的研究 [J].武漢理工大學學報,2000,24(5):109-110.