聯邦管理 -- 定義聯邦
聯邦執行必須先對RTI作出定義,它必須被創建和FOM相關聯,而且聯邦成員必須加入聯邦執行。
聯邦執行數據FED,是RTI標準的一部分,不會因爲RTI軟件不同而不同。FED語法上HLA接口規範的一部分。
RTI初始化數據RID和特定的RTI相關,不是標準的。
創建聯邦執行:調用Create Federation Execution服務並提供聯邦執行的名字和FED文件的位置即可。
加入聯邦執行:調用RTI的Join Federation Execution服務實現加入聯邦。
退出聯邦執行:調用RTI的Resign Federation Execution服務推出聯邦。
餐館聯邦對象模型FOM -- 一個實例
FOM中的類:有三個,Restaurant,Serving和Boat,其中,Restaurant是父類,Serving和Boat類是子類。Restaurant類有一個屬性,position;Serving有屬性type,Boat有屬性SpaceAvailable和cargo
FOM中的交互:只有一個,本來沒有,硬塞進來一個。即SimulationEnds, 消費聯邦成員負責判斷條件是否滿足,若滿足,則發送SimulationEnds交互,其他聯邦成員必須接收SimulationEnds交互,並且當它們接收到這個交互類時停止仿真。
數據類型的討論:在FOM的正式表示中,必須描述屬性和參數的數據類型,但是FED例子中並沒有描述這些。這是因爲RTI沒有屬性和參數的數據類型的表示,而是把屬性和參數當作不間斷的字節序列,HLA把解釋聯邦成員屬性和參數類型的任務交給聯邦成員。
順利的討論:在FED中,必須爲每一個對象類屬性的更新和交互類的接收定義順序。要麼是TSO順序,要麼是RO順序。
傳輸的討論:傳輸類型有REliable,和Best-Effort。通常,可靠傳輸通常用TCP實現,而盡力而爲同通常用UDP實現。
FED文件實例(待續)
HLA聯邦中,聯邦成員通過運用聲明管理服務和對象管理服務實現聯邦成員間數據的共享。書上P43頁到P45頁對數據共享機制的討論和發佈訂閱機制的討論,主要包括對象類屬性和交互的訂閱和發佈,很精闢,也很清楚。建議參考書上即可。
下面看一下 4.5 數據共享 -- 更多的細節部分
發佈者產生數據:包括登記對象(創建對象的實例);更新對象實例的屬性值;和發送交互。
訂閱者消費數據:包括髮現對象實例;反射新的屬性值和接收交互。
RTI存儲的信息:RTI存儲每一個聯邦成員的發佈和訂閱;RTI存儲對象實例的登記;RTI不存儲發送過的任何屬性值;RTI不存儲發送過的交互。
因爲RTI不存儲發送過的屬性值,確保聯邦成員得到所有屬性值的方式有三個:1)確保所有的發佈和訂閱在任何屬性更新之前完成;2)把聯邦設計成爲生產者不斷地更新屬性;3)使用RTI屬性值重獲機制。
-----------------------------------------------
4.6 所有權 --實體建模中的職責與合作 --其本質就是誰能夠更新屬性,以及這個職責或者權利的轉移機制。這裏需要注意,所有權的度量單位是屬性,而不是實例。