SimNT互聯(lián)互通仿真開(kāi)發(fā)運行平臺
詳情
SimNT仿真開(kāi)發(fā)運行平臺是一種并行仿真和互聯(lián)互通的先進(jìn)解決方案,與HLA/RTI、DDS功能類(lèi)似,但開(kāi)發(fā)效率高、編程調試快捷,顯著(zhù)簡(jiǎn)化仿真系統開(kāi)發(fā)、運行和維護工作,可實(shí)現實(shí)時(shí)仿真、數據記錄、過(guò)程回放一體化一次性編程。新手幾小時(shí)即可進(jìn)入開(kāi)發(fā)狀態(tài),整體開(kāi)發(fā)效率高。
SimNT本質(zhì)上是一種消息中間件,采用 發(fā)布、 訂閱工作模式。 消息中間件一般采用包括點(diǎn)到點(diǎn)、消息隊列和發(fā)布 / 訂閱三種工作模式。點(diǎn)到點(diǎn)摸式具有很強的時(shí)間和空間耦合性,使得通信靈活性受到很大限制。消息隊列模式通過(guò)一個(gè)消息隊列來(lái)傳遞消息,解決了通信雙方時(shí)間和空間松耦合的問(wèn)題,但不能實(shí)現消息消費者通信的異步,并且還存在服務(wù)器瓶頸和單點(diǎn)失效的問(wèn)題,可靠性得不到保障。發(fā)布/ 訂閱模型中發(fā)布者和訂閱者通過(guò)主題相關(guān)聯(lián),雙方不必知道對方在何處.也不必同時(shí)在線(xiàn),實(shí)現了通信雙方時(shí)間、空間和數據通信的多維松耦合。
使用過(guò)程
(1) 定義接口類(lèi)體系
可以構建復雜對象類(lèi)體系,成員變量可以是基本類(lèi)型,也可以是數組序列和詞典映射,支持類(lèi)繼承。例如:
class 某個(gè)對象類(lèi) ~SomeObject int 整數型值 ~IntegerValue = 0 //整數成員變量,初始值為 0 double 雙精度浮點(diǎn)型值 ~DoubleValue = 0.0 //雙精度成員變量,初始值為 0.0 string 字符串型值 ~StringValue =”初始值 ” sequence<double> 雙精度列表 ~DoubleList sequence<string> 字符串列表 ~StringList
class 子類(lèi)對象類(lèi) ~ChildObject : SomeObject sequence< 實(shí)體類(lèi) > 目標列表 ~EntList //“實(shí)體類(lèi)”是用戶(hù)自定義類(lèi)。 dictionary<string, 實(shí)體類(lèi) > 實(shí)體字典 ~EntMap //“實(shí)體類(lèi)”是用戶(hù)自定義類(lèi)。 … |
(2)調用 ISimStub 接口和實(shí)現 ISimCallback 接口
仿真客戶(hù)端軟件調用ISimStub接口功能,實(shí)現向服務(wù)器注冊對象、注銷(xiāo)對象、訂閱對象和事件、發(fā)送事件、申請步進(jìn)、獲取仿真時(shí)間、退出仿真環(huán)境等功能。
仿真客戶(hù)端需要實(shí)現 ISimCallback 接口,被仿真服務(wù)器回調,實(shí)現對象數據和事件數據處理的功能。如下圖。
(3)橋接回放數據記錄器(針對數據記錄和回放需求)
回放數據記錄器只需一次編程,即可同時(shí)實(shí)現數據記錄和回放。能夠處理數據結構復雜、數據量大的數據,單個(gè)磁盤(pán)文件可超過(guò) 4GB 。處理過(guò)程占用內存少,讀寫(xiě)文件尺寸超過(guò) 4GB ,占用內存仍然固定在 100MB 以下。支持多線(xiàn)程,把傳輸、寫(xiě)入、讀取數據等過(guò)程分解到多個(gè)線(xiàn)程中,在多核計算機上具有較高的性能。支持快速打開(kāi)文件,快速跳轉、移動(dòng)數據幀。相比采用結構體數據存儲方式,文件體積平均減少到 1/2 ~ 1/10 。支持壓縮,在不明顯影響記錄讀寫(xiě)性能的前提下,再減少文件體積到 1/3 ~ 1/5 。
(4)可嵌入或獨立服務(wù)器
成功案例
XX仿真系統、 XX機仿真系統、 XX訓練仿真系統、二三維多機聯(lián)動(dòng)回放系統等。新手經(jīng)過(guò)幾個(gè)小時(shí)的學(xué)習即可進(jìn)入開(kāi)發(fā)狀態(tài),整體開(kāi)發(fā)效率較高。
聯(lián)系人: | 余工 |
---|---|
電話(huà): | 13521660992 |
Email: | anbsim@foxmail.com |
微信: | anbsim |