和刪除功能,方便用戶設(shè)計仿真模型交互圖的可視化模 型;所有參與分布式仿真的仿真子節(jié)點通過節(jié)點部署圖自動生成相應(yīng)的軟件界面及相應(yīng)的 服務(wù)組件,仿真平臺節(jié)點軟件界面中各個節(jié)點類型軟件加載的界面資源通過映射表動態(tài)實 現(xiàn)。
[0031] 分布式仿真平臺進(jìn)行可視化建模時,在管理層增加模型交互構(gòu)件、節(jié)點部署構(gòu)件, 在服務(wù)層增加部署服務(wù),用于提供用戶可視化建模的人機(jī)交互接口;模型交互構(gòu)件、節(jié)點部 署構(gòu)件包含模型交互視圖、節(jié)點部署視圖,用戶通過模型交互視圖設(shè)計模型交互圖,通過節(jié) 點部署視圖,將仿真模型部署在一個或多個邏輯仿真節(jié)點,然后通過部署的服務(wù)層將仿真 模型及相關(guān)文件部署到一個或多個相應(yīng)的物理仿真節(jié)點中。
[0032]仿真平臺框架自上而下分為五層模型,其層次結(jié)構(gòu)模型包含應(yīng)用層、管理層、服務(wù) 層、交互層、資源層五個層級,每一層級都有相關(guān)的模型及組件,并對應(yīng)一個映射表來描述 本層級模型及組件的屬性、功能、參數(shù)等信息。每一層級相對獨立,對上一層級只提供接口 而不能訪問,通過下一層級的接口訪問下一層級。各個模型資源之間的數(shù)據(jù)交互通過服務(wù) 層中的服務(wù)接口實現(xiàn);然后將子節(jié)點分為控制管理和仿真計算兩種模式,并包含在應(yīng)用層 中。
[0033] a)應(yīng)用層 在應(yīng)用層中,控制管理模式包含模型資源管理器或節(jié)點資源管理器、視圖瀏覽器和事 件瀏覽器。應(yīng)用層至少包含分布式仿真平臺的兩種應(yīng)用模式:控制管理模式和仿真計算模 式,應(yīng)用模式是分布式仿真系統(tǒng)中的仿真節(jié)點的一種屬性。
[0034] (1)控制管理模式 控制管理模式使本節(jié)點擁有其它節(jié)點的控制管理功能,并引導(dǎo)管理層的用戶界面UI加 載與控制管理相關(guān)的界面。另外,控制管理模式還包含了對整個仿真系統(tǒng)的控制管理功能, 服務(wù)層的部分服務(wù)只能在控制管理模式下使用,例如時鐘服務(wù)、時鐘管理、節(jié)點同步管理、 數(shù)據(jù)同步管理等服務(wù)。
[0035] (2)仿真計算模式 仿真計算模式主要根據(jù)仿真時鐘對仿真模型進(jìn)行計算、模型健康管理以及與控制管理 節(jié)點進(jìn)行事件交互、與仿真計算節(jié)點進(jìn)行數(shù)據(jù)交互。
[0036] b)管理層 管理層是一個可重構(gòu)的用戶界面UI,至少包含模型資源管理器或節(jié)點資源管理器、視 圖瀏覽器、事件瀏覽器;模型資源管理器根據(jù)資源映射表加載模型信息,并對模型的開關(guān)進(jìn) 行人機(jī)交互以及顯示模型的健康狀態(tài);節(jié)點資源管理器根據(jù)交互映射表加載節(jié)點輸入輸出 信息,并對節(jié)點的開關(guān)進(jìn)行人機(jī)交互及顯示節(jié)點的健康狀態(tài);模型資源池加載仿真平臺所 有已注冊的虛擬仿真模型,視圖瀏覽器根據(jù)服務(wù)映射表和界面映射表加載可視化視圖標(biāo) 簽,每一個視圖標(biāo)簽對應(yīng)一種可視化服務(wù),并對不同種類的可視化服務(wù)進(jìn)行人機(jī)交互。界面 映射表它是一種結(jié)構(gòu)化文檔,至少包含本仿真節(jié)點可視化視圖標(biāo)簽信息。
[0037] 參閱圖3、圖4。進(jìn)行可視化建模時,管理層還應(yīng)包含仿真平臺軟件模型交互構(gòu)件及 仿真平臺軟件節(jié)點部署構(gòu)件,仿真平臺軟件模型交互構(gòu)件及仿真平臺軟件節(jié)點部署構(gòu)件以 可視化視圖的形式提供人機(jī)交互接口、可視化視圖游覽器以及關(guān)于錯誤、警告和提示的事 件游覽器、模型交互視圖和節(jié)點部署視圖。模型交互構(gòu)件根據(jù)仿真模型的接口屬性生成圖 標(biāo)放置在模型資源池中,在模型交互視圖中,為用戶提供連線、拖拽、縮放、添加、刪除等功 能,方便用戶設(shè)計仿真模型交互圖,此外,模型交互構(gòu)件應(yīng)有路徑校驗功能,即驗證模型之 間的接口交互是否合法;節(jié)點部署構(gòu)件能根據(jù)模型交互構(gòu)件中的所選擇的仿真模型生成默 認(rèn)節(jié)點部署圖,節(jié)點部署視圖為用戶提供編輯節(jié)點、拖拽、縮放、添加、刪除等功能,方便用 戶設(shè)計虛擬節(jié)點部署圖,其中,能為仿真節(jié)點設(shè)置模式(控制管理或仿真計算)、配置服務(wù)、 配置界面部署。在完成模型交互圖及節(jié)點部署圖設(shè)計后,能夠為每個仿真節(jié)點自動生成交 互映射表、節(jié)點的平臺映射表、界面映射表、服務(wù)映射表、仿真模型及相關(guān)配置文件。
[0038] c)服務(wù)層 服務(wù)層包括:數(shù)據(jù)交互服務(wù)線程、可視化服務(wù)對外接口、數(shù)據(jù)監(jiān)視服務(wù)線程、控制管理 服務(wù)線程和時鐘管理服務(wù),至少含有時鐘管理服務(wù)子程序、可視化服務(wù)子程序、數(shù)據(jù)交互服 務(wù)子程序、控制管理服務(wù)子程序、數(shù)據(jù)監(jiān)視服務(wù)、部署服務(wù)以及服務(wù)映射表。時鐘管理服務(wù) 至少包含實時時鐘推進(jìn)及同步時鐘推進(jìn)兩種模式;可視化服務(wù)至少支持二維、三維態(tài)勢顯 示以及曲線監(jiān)視等可視化功能;控制管理服務(wù)至少有對本節(jié)點模型的控制管理功能,至少 包括模型加載、模型開關(guān)、模型健康管理等功能;數(shù)據(jù)監(jiān)視服務(wù)至少有對仿真數(shù)據(jù)的在線監(jiān) 視功能;數(shù)據(jù)交互服務(wù)作為一個任務(wù)至少完成對本節(jié)點模型數(shù)據(jù)的交互任務(wù),此任務(wù)伴隨 仿真的開始到結(jié)束;服務(wù)映射表一種結(jié)構(gòu)化文檔,至少包含本仿真節(jié)點相關(guān)服務(wù)的配置信 息。
[0039]數(shù)據(jù)交互服務(wù)線程通過實時通信中間件完成所有節(jié)點交互數(shù)據(jù)的實時更新功能, 此服務(wù)伴隨仿真任務(wù)的開始到結(jié)束??梢暬?wù)對外接口為可視化組件的窗口句柄,使之 將可視化組件窗口能夠在可視化視圖管理器的標(biāo)簽上顯示。數(shù)據(jù)監(jiān)視服務(wù)線程通過實時通 信中間件完成對指定仿真數(shù)據(jù)的在線監(jiān)視功能。時鐘管理服務(wù)包含實時時鐘推進(jìn)及同步時 鐘推進(jìn)兩種模式,實時時鐘推進(jìn)模式根據(jù)真實的時間及仿真步長推進(jìn),而同步時鐘與真實 時鐘無關(guān),只要所有節(jié)點完成本次仿真任務(wù),時鐘就向前推進(jìn)。
[0040] d)交互層 交互層包含實時通信中間件,實時通信中間件是針對分布式仿真特點設(shè)計的實時網(wǎng)絡(luò) 通信中間件,至少含有對通信鏈路的實時性優(yōu)化,并提供相應(yīng)的軟件開發(fā)包(SDK)實現(xiàn)通信 數(shù)據(jù)交互;數(shù)據(jù)分發(fā)服務(wù)是為實時分布式應(yīng)用系統(tǒng)提供的網(wǎng)絡(luò)通信中間件,對象管理組織 (0MG)中推薦的分布式系統(tǒng)通信的應(yīng)用標(biāo)準(zhǔn)。實時通信中間件包括交互數(shù)據(jù)包、事件、消息、 虛擬化、仿真模型虛擬化。交互映射表至少包含本仿真節(jié)點及其所有模型與通信鏈路之間 的關(guān)系、輸入輸出端口或內(nèi)存地址映射信息。
[0041] 實時通信中間件將資源層的通信鏈路抽象為本地虛擬化內(nèi)存,交互映射表描述了 交互數(shù)據(jù)包在本地虛擬化內(nèi)存中的分區(qū)列表;實時通信中間件對資源層的仿真模型進(jìn)行虛 擬化抽象,描述模型發(fā)布/訂閱的交互數(shù)據(jù)包、事件消息,交互映射表也描述了虛擬化模型 的接口定義。實時通信中間件的原理就是按照交互映射表中的描述將虛擬模型需要發(fā)布/ 訂閱的交互數(shù)據(jù)包實時更新到虛擬化內(nèi)存的分區(qū)列表中。為保證數(shù)據(jù)交互的安全性,不同 的交互數(shù)據(jù)包應(yīng)設(shè)計放在不同的分區(qū)中。
[0042] e)資源層 資源層包括通信鏈路和仿真模型,為保證系統(tǒng)的實時性,資源層至少包含通信鏈路資 源、模型資源以及資源映射表,其中,通信鏈路延遲為納秒級,模型資源為按一定規(guī)范封裝 的組件。模型資源封裝規(guī)范規(guī)定模型資源至少包含模型初始化、模型運行、模型結(jié)束三個元 函數(shù),且所有模型的元函數(shù)名稱相同,初始化元函數(shù)的輸入?yún)?shù)至少包含節(jié)點元數(shù)據(jù),模型 運行元函數(shù)輸入?yún)?shù)至少包含節(jié)點元數(shù)據(jù)及仿真時鐘,模型結(jié)束元函數(shù)輸入?yún)?shù)無要求, 除上述數(shù)據(jù)外,元函數(shù)的輸入輸出函數(shù)不能有與模型計算相關(guān)的參數(shù)信息。節(jié)點元數(shù)據(jù)是 一種數(shù)據(jù)結(jié)構(gòu),至少包含本仿真節(jié)點模型的輸入輸出數(shù)據(jù)。資源映射表是一種結(jié)構(gòu)化文檔, 至少包含本仿真節(jié)點模型的輸入輸出參數(shù)信息,模型配置信息,通信鏈路參數(shù)信息,通信鏈 路配置信息。
[0043]為保證實時性,至少選擇一種延遲為納秒級的通信鏈路作為分布式仿真的實時網(wǎng) 絡(luò),例如反射內(nèi)存網(wǎng)。將仿真模型資源封裝成組件,對外至少包含模型初始化、模型運行、模 型結(jié)束三個接口,且所有模型組件接口名稱相同。使用XML技術(shù)設(shè)計資源映射表。資源映射 表至少包含仿真模型的輸入輸出參數(shù)信息、模型配置信息、通信鏈路參數(shù)信息、通信鏈路配 置信息、本節(jié)點類型、仿真應(yīng)用模式、節(jié)點名稱和可視化組件的屬性信息等信息。將所有模 型的輸入輸出數(shù)據(jù)結(jié)構(gòu)合并打包作為模型初始化、模型運行接口的輸入?yún)?shù)。以反射內(nèi)存 網(wǎng)為例,首先使用XML技術(shù)設(shè)計交互映射表,將共享內(nèi)存分區(qū)供節(jié)點使用,例如:
然后調(diào)用反射內(nèi)存API實現(xiàn)分布式仿真系統(tǒng)的數(shù)據(jù)交互、消息收發(fā)等功能。實時通信中 間件根據(jù)通信鏈路及設(shè)計人員工程經(jīng)驗的不同會有所不同,只要保證通信中間件實現(xiàn)上層 服務(wù)所需的所有功能即可。
[0044] 相關(guān)層級不同仿真計算任務(wù)相對應(yīng)的仿真模型對象,按模型封裝規(guī)范封裝成模型 資源組件,仿真對象模型組件資