簡介 分布互動仿真技術從產生(SIMNET計畫),到DIS2.x IEEE1278協定和ALSP協定的制定,進而發展到今天的DIS++ /HLA體系結構,都是企圖解決M&S領域存在的問題:絕大多數仿真器套用實現較為獨立,仿真器之間的互動性和重用性差;開發、維護和使用費時及成本高;驗證性、有效性和置信度較差。 HLA就是從體系結構上建立這樣一個框架,它能儘量涵蓋M&S領域中所涉及的各種不同類型的仿真系統,並利於它們之間的互操作和重用。同時能適應不斷發展中的新技術,來滿足複雜大系統的仿真需要。對採用HLA體系結構的仿真系統,仿真系統的運行和仿真成員之間的互動和協調都是通過運行支撐系統RTI(Run TimeInfrastructure)來實現的。 RTI的實現及其運行的性能好壞,是分布互動仿真系統實現的關鍵。
特點與功能 HLA體系結構是一個開放的、支持面向對象的體系結構。它採用面向對象的方法學來分析系統,建立不同層次和粒度的對象模型,從而促進了仿真系統和仿真部件的重用。 HLA的關鍵組成部分是接口規範,它定義了在一個聯邦演練中,支持聯邦成員通過RTI實現成員之間相互互動、協調和協同作業的標準服務。它的最顯著的特點就是通過提供通用的、相對獨立支撐服務程式,將套用層同其底層支撐環境功能分離開,即將具體的仿真功能實現、仿真運行管理和底層傳輸三者分離開來,隱蔽了各自的實現細節,可以使各部分相對獨立的開發,最大程度地利用各自領域的最新技術來實現標準的功能和服務,適應新技術的發展。同時,可實現套用系統的即插即用,易於新的仿真系統的集成和管理,並針對不同的用戶需求和不同的套用目的,實現聯邦快速、靈活的組合和重配置,保證了聯邦範圍內的互操作和重用。
RTI作為聯邦執行的核心,其功能類似於某種特殊目的的分散式作業系統,跨計算機平台、作業系統和網路系統,為聯邦成員提供運行所需的服務。 RTI提供六種服務,即聯邦管理、聲明管理、對象管理、所有權管理、時間管理和數據分布管理等服務。
RTI的體系結構 RTI原型系統的開發實現起始於1995年年底,最初的RTI實現主要用來對採用HLA體系結構在不同領域上的套用進行驗證,並對早期的接口規範進行評價。1996年8月,基本接口規範1.0被AMG接受,並被USD(A&T)(Under Secretary of Defense for Acquisition and Technology)準許作為標準技術體系結構用於所有的DoD仿真系統中。從基本接口規範1.0的制定和不斷發展更新,相應地產生了由不同組織開發的RTI實現系列。
RTI作為採用HLA體系結構的運行支撐系統,在初期,為了驗證HLA的功能,更深刻地理解和獲得採用HLA體系結構的經驗,發現HLA存在和需要改進的問題,RTI的原型通常基於COR-BA來快速實現,因為CORBA是一個基於分散式面向對象計算模式集成套用系統的體系結構規範。它採用客戶/伺服器模式,而HLA體系結構也體現了這些特點。另外,使用CORBA作為中間件,可隱藏實際套用對象的異構性,底層系統軟體的細節,及通訊協定和硬體等。
RTI在體系結構上,分集中式RTI(RTI的服務功能集中在一台機器上)和分散式RTI(RTI的服務功能分布在多台機器上)。對集中式RTI,時間主要花費在對信息的處理上(overhead),而分散式RTI時間不但花費在對信息的處理上,還包括信息在網路上傳輸的時間消耗(latency)。故基於CORBA的RTI採用集中式的體系結構,更有利於減少網路頻寬,降低通訊和處理的延時。
對於RTI,其信息吞吐量(throughput)和延遲(latency)是兩個重要的性能指標。在RTI的最初原型實現後,由於一般的CORBA產品的實時性不強,在信息輸入輸出流通量和時間延遲上有一定的限制,同時,網路協定採用TCP/IP提供可靠的傳輸服務,不能滿足多種傳輸方式的需求,以提高信息輸入輸出流通量和減少延遲。目前,RTI一般直接採用UDP與TCP/IP協定來實現。
HLA體系結構最顯著的特點就是實現了仿真功能與運行支撐系統的分離。在RTI體系結構的設計上也採用這一特點。目前主要採用分布、層次化和模組化的體系結構,各功能模組之間儘量減少耦合關係,並採用層次調用的關係,增強各功能模組的獨立發展性,減少相互之間的影響。如在RTI的通訊層上,引入抽象底層通訊層的虛擬網路層。從而將RTI的具體服務功能與底層的實際通訊機制(如ATM等)分離開來,避免底層通訊服務的變化對客戶方的影響,以適應網路技術的不斷發展。在設計實現上,採用面向對象的設計方法進行接口定義和功能實現,以利於新功能與新算法的加入和重載,減少對其它功能組件的影響,適應新的需求和技術發展,增強系統的可擴充性(extensibil-ity)。同時,當前體系結構在設計實現上,更從整體性能,包括可擴展性、可量測性和靈活性等方面考慮。
RTI實現中的關鍵技術 要滿足當前複雜大系統的仿真,必須有一個高性能的、有效的運行支撐系統—— RTI的支持,而要設計實現一個具有較高質量和靈活性,能滿足不同仿真需要的RTI,其中的關鍵技術涉及時間管理、數據分布管理、網路通訊傳輸和內部運算與管理最佳化等方面的技術。下面就時間管理、數據分布管理、網路通訊傳輸技術進行較為詳細論述。
RTI中時間管理策略 在RTI中,時間管理控制協調不同局部時鐘管理類型的聯邦成員(如DIS仿真系統、實時仿真系統、時間步長仿真系統、事件驅動仿真系統和樂觀機制的仿真系統等)在聯邦時間軸上的推進,並為各聯邦成員提供不同傳輸要求和質量的訊息、數據傳輸。即時間管理提供兩方面的服務:
一是提供不同可靠性、不同事件接受順序的傳輸服務,即按可靠性分為“可靠的訊息傳輸”和“非可靠的訊息傳輸”服務;按事件順序分為“接收順序、優先權順序、因果順序和時間戳順序”四種傳輸服務。對不同的傳輸要求,時間管理負責按相應的調度策略來調度傳遞訊息,同時對時間戳順序的訊息還要保證沒有“過時”的訊息傳遞給聯邦成員,即訊息的時間戳小於聯邦成員當前的邏輯仿真時間。
另一是時間推進服務,按照對聯邦邏輯時間推進的影響,可以將聯邦成員劃分為兩種類型: (1)時間受限(time constrained),即聯邦成員接收時間戳順序(TSO)的訊息,自身的仿真邏輯時間推進受其他聯邦成員的影響; (2)時間控制( timeregulating),即聯邦成員傳送時間戳順序(Time-Stamp Ordering,TSO)的訊息,並影響其他聯邦成員的時間推進。相應聯邦成員的時間推進機制有四種類型:邏輯同步、外部時間同步、邏輯時間被動和邏輯時間主動。
HLA時間管理提供時間協調推進的服務原語,聯邦成員按自身邏輯時間推進模式,向RTI發出時間推進請求,RTI依據聯邦成員在時間推進中所屬類型,採用相應的協調推進策略推進各聯邦成員的邏輯時間。在實現上,通常採用保守機制或樂觀機制來推進各聯邦成員的邏輯時間,保證因果關係的正確性。相應的算法有基於最小時間戳的管理方法,基於超前量的管理方法等。除為有效地保證時間戳訊息的排序調節,採用各種最佳化的時間管理算法外,在實現上,為保證系統的靈活性與可擴充性,適宜不同仿真系統時間調節的需要,並儘量保證時間管理模組的獨立性,減少對其它模組的影響,可建立將TSO的計算與TSO排序轉發算法分離開的時間管理體系結構。
數據分布管理的實現策略 DDM服務的主要目和功能就是儘量減少聯邦成員接收到不需要的數據和流過網路的信息數據量。 DDM在實現上應該考慮其有效性(efficiency)和可量測性(scalability)。為提供基於值的數據過濾方法,DDM通常採用擇徑空間(routing space)的概念,擇徑空間是歸一化的多維坐標系統,聯邦成員使用該坐標系統來描述能夠傳送和希望接收的數據的類型和條件。數據分布管理採用層次化的結構,如圖所示。
興趣表達(express interest):聯邦成員向RTI說明希望訂購和公布的數據所在區域。
合併(cluster):合併是通過採用某種合併算法將擇徑空間中的訂購區域和更新區域分別儘量合併在一起,以減少匹配時的通訊和計算花費。
匹配(match):是比較擇徑空間中的訂購區域和更新區域是否存在重疊。
建立連線(establish connectivity):基於由匹配產生的訂購聯邦成員集而建立網路連線。
數據傳輸(transfer data):將屬性和互動通過已建立的網路連線傳遞到這些數據的訂購方。
當前DDM實現的主要特點 將擇徑與數據轉發分離開RTI將數據擇徑,即建立網路連線,與通過這些建立起來的網路連線進行數據傳送分離開來,在數據實際傳送前先建立好網路連線,以儘量減少網路的延遲,增加網路的輸出量。
採用層次化的體系結構採用代理技術,代理作為軟體實體,通過承擔與計算或通訊有緊密聯繫的任務,提供不易獲得的信息,有助於仿真任務的實現。利用代理技術,建立層次化的體系結構,有助於仿真系統的可擴充性。
採用層次化的過濾機制過濾機制是指通過聯邦對所用資源的折中考慮,以及對所使用的底層支撐系統的考慮,具有可在仿真系統的不同位置進行數據過濾和控制傳遞的能力。過濾可設定在三個位置,即在數據源處、在網路中和在數據接受處。
當前通常採用的過濾方法有基於格線(grid-based)、基於接受者(receiver-based)和基於傳送者(sender-based)等過濾方法。其中,基於格線的方法由於對網路資源占用較多,對數據的接收方不明確,以及格線劃分產生的內在的定量問題,適合於可量測性、性能和成本要求不是很高的條件下。對應基於格線方法中傳送者並不知道那些接受者實際需要這些數據的情況,基於傳送者或基於接受者的過濾方法會產生更高的過濾效率,減少對網路資源和處理器資源的消耗。目前,數據分布管理主要解決實時條件下數據的分布管理,對採用邏輯時間的聯邦成員,數據分布管理還需要解決不同邏輯時間的聯邦成員之間數據更新與訂購之間的同步問題。
RTI網路通訊傳輸 網路通訊傳輸層,作為RTI體系結構的最底層,是實際傳輸RTI內部各控制訊息和傳遞仿真成員之間數據的支撐系統。它的性能和提供的功能是能否滿足實際仿真系統運行需要的關鍵。 HLA支持不同類型的仿真系統的運行和互操作,故與傳統DIS系統的通訊網路相比,需要更複雜和更多的網路傳輸服務的支持。網路通訊按照定址方式劃分,可分為點對點通訊(unicast)、一點對多點通訊(multicast)和廣播(broadcast)三種方式。
採用DIS的基於廣播方式的信息傳輸方式,對大規模的分布仿真系統,隨著仿真節點N的增加,網路上的信息量以N2的量級增加,系統會產生不可量測的問題,並影響系統的性能。在RTI中,取代廣播的傳輸方式,而採用點對點,或一點對多點的傳輸方式,如multicast技術,將信息從數據的發出者,直接傳遞給數據的訂購者,以提高系統的性能。目前, RTI的底層網路傳輸協定採用TCP/IP,UDP/IP協定。
按傳輸質量和效率,底層通訊服務支持RTI兩種傳輸方式,即Reliable和Best effort兩種數據傳輸服務。 Reliable傳輸服務提供可靠的,面向連線的傳輸服務,服務可由TCP/IP連線,以reliablemulticast等方式支持。Best effort的訊息傳輸服務提供非可靠的,不面向連線的訊息傳輸服務方式。該服務可由UDP/IP連線,以multicast和unicast等方式支持。另外,它與RTI具體功能實現之間存在一層抽象底層通訊層的虛擬網路層,它提供一層標準的通訊接口,使網路連線的建立與具體的底層通訊傳輸分離開,可利用最新的網路技術,避免底層通訊服務的變化對客戶方的影響。