1. 程式人生 > >HLA中的資料分發服務(DDM)簡介

HLA中的資料分發服務(DDM)簡介

資料分發管理服務(Data Distribution Management,DDM),是RTI提供的六大基本服務之一,下面就對這一服務進行簡單介紹。

DDM設計的初衷,就是為聯邦設計開發人員提供一種比宣告管理服務更為精確的管理資訊流的工具。DDM本身不是一個聯邦必需的服務,一個聯邦完全可以不使用DDM而能照樣正常執行。DDM是對聯邦成員間交換資訊機制的一種優化服務,它可以大幅減少聯邦成員間傳輸的資訊量並避免聯邦成員在其本不應當接收的資訊上花費計算量。

舉個例子:

比如有一個模擬飛機在空中進行無線電通訊的模擬系統,每架飛機上各有一個發射機和接收機。在真實世界中,當一架飛機A發出一個電波訊號後,由於訊號具有衰減性,因此訊號只能在一個以A為中心、以訊號衰減距離為半徑的球形領域中傳播,訊號的傳播不能超出該球形領域;同樣,每架飛機的接收機也只能接受一定範圍內的訊號。當發射機的發射範圍與接收機的接受範圍有重合時,接收機才能接受到該訊號。

在上面的這個例子中,真實世界中的“範圍”,在模擬系統中就是由DDM提供的服務負責實現的。簡單地說,DDM就是為事件的傳送和接受設定一個篩子,只有符合預先設定好的篩孔大小的事件,才能被接收,最後被處理。其實,我們完全可以不使用DDM,我們可以將那些範圍資料加在事件裡,發給各個聯邦成員,讓聯邦成員先接收事件,然後先從事件中提取出範圍資料,再與聯邦成員的篩選條件進行匹配,如果不滿足就拋棄該事件,否則就進一步處理該事件。

下面介紹一下DDM中的幾個概念:

維(Dimension):由聯邦開發者在FOM中定義和命名的座標軸的一部分。比如說,對於上面的例子,球形領域可用三維空間座標(X,Y,Z)表示,那麼X就是一個“維”。當然,維的概念並不僅僅限於空間座標,它還可以是其他概念,比如訊號的頻率、幅度也可以作為“維”來過濾資訊和事件。

路由空間(Routing Space):在FOM中定義和命名的維的序列,表示所有可能的維資料的組合的整體,對於上面的例子,就對應於能偶傳播訊號的整體範圍(比如天空)。

區域(Region):是路由空間的一個子集,對應於上面的例子,就是指發射機或者接收機所發射或者接受訊號的具體“範圍”。

維和路由空間都需要在FED檔案中定義,下面即是一個FED檔案中DDM相關的內容:

(Fed

  (Federation Test)

  (FedVersion v1.3)

  (Federate "fed" "Public")

  (Spaces

(Space "Geo"

(Dimension X)

(Dimension Y)

)

........

上面的這個FED檔案就定義了兩個維:X和Y,並定義了一個路由空間:Geo。