本發(fā)明涉及仿真系統(tǒng)仿真模型和中間件設(shè)計(jì)方法,具體地,涉及基于仿真模型框架及通用中間件的仿真系統(tǒng)及實(shí)現(xiàn)方法,更為具體地,涉及基于規(guī)則的平臺(tái)解耦仿真模型框架和通用中間件設(shè)計(jì)方法。
背景技術(shù):
1、隨著計(jì)算機(jī)技術(shù)、信息技術(shù)、網(wǎng)絡(luò)技術(shù)、云計(jì)算、大數(shù)據(jù)、人工智能等相關(guān)技術(shù)的發(fā)展與進(jìn)步,仿真應(yīng)用的范圍得到了極大的擴(kuò)展,從單機(jī)、單系統(tǒng)到多機(jī)、多系統(tǒng),從集中式仿真到分布式仿真、云仿真,從單一學(xué)科、特定環(huán)節(jié)仿真到多學(xué)科聯(lián)合、全生命周期仿真,仿真系統(tǒng)的能力與規(guī)模正逐漸增大,仿真所研究的對(duì)象日趨復(fù)雜,仿真模型資源也趨于多粒度化、異構(gòu)化。
2、實(shí)現(xiàn)各家院校、廠所、用戶單位已有的仿真模型互聯(lián),降低仿真模型低水平重復(fù)開發(fā),打造可復(fù)用、可組合仿真模型資源庫(kù),構(gòu)建可持續(xù)的仿真模型開發(fā)與服務(wù)生態(tài)。亟需一種能夠指導(dǎo)仿真模型建模的平臺(tái)解耦仿真模型框架和通用中間件設(shè)計(jì)方案。
3、專利文獻(xiàn)cn101751332a(申請(qǐng)?zhí)枺?00910215589.6)公開了工作流中間件的流程仿真方法、裝置及系統(tǒng),對(duì)面向節(jié)點(diǎn)流程計(jì)算機(jī)化的自動(dòng)仿真過(guò)程,解決現(xiàn)有流程仿真方法需要程序員進(jìn)行仿真,過(guò)程過(guò)于復(fù)雜,不適用于非程序員的普通用戶問(wèn)題,但該方法面向節(jié)點(diǎn)流程仿真,類似審批系統(tǒng),而非實(shí)體模型仿真,面向的領(lǐng)域不同。
4、專利文獻(xiàn)cn102663203a(申請(qǐng)?zhí)枺?01210125473.5)公開了基于hla的fortran仿真模型中間件,解決現(xiàn)有fortran仿真模型不能加入hla分布式系統(tǒng)的問(wèn)題而設(shè)計(jì),是基于hla的fortran仿真模型中間件,不具備接入非hla分布式系統(tǒng)的接入能力。
5、“面向服務(wù)的仿真實(shí)時(shí)中間件系統(tǒng)研究”(1006-9348(2019)07-0257-04)文章面向服務(wù)的仿真實(shí)時(shí)中間件系統(tǒng)包括主控管理模塊、協(xié)議轉(zhuǎn)換模塊、實(shí)時(shí)模型適配模塊和實(shí)時(shí)中間件共四部分,其本質(zhì)是具備異構(gòu)互聯(lián)集成功能的仿真引擎,未能給出平臺(tái)無(wú)關(guān)仿真模型設(shè)計(jì)框架。
6、“基于中間件的抗輻射加固仿真云平臺(tái)技術(shù)研究”(1674-1579(2020)03-0018-10)文章中間件架構(gòu)包含輸入層、運(yùn)算處理層、數(shù)據(jù)調(diào)度層和輸出層,從設(shè)計(jì)功能上在運(yùn)算處理層具有對(duì)業(yè)務(wù)數(shù)據(jù)的處理和調(diào)度功能,數(shù)據(jù)調(diào)度層具有對(duì)業(yè)務(wù)數(shù)據(jù)的格式轉(zhuǎn)換功能,導(dǎo)致中間件與業(yè)務(wù)軟件有較深耦合,不同的仿真計(jì)算類業(yè)務(wù)軟件都需要特定的中間件來(lái)支撐。
7、上述現(xiàn)有專利和論文并未解決平臺(tái)解耦仿真模型框架和通用中間件設(shè)計(jì)問(wèn)題。
技術(shù)實(shí)現(xiàn)思路
1、針對(duì)現(xiàn)有技術(shù)中的缺陷,本發(fā)明的目的是提供一種基于仿真模型框架及通用中間件的仿真系統(tǒng)及實(shí)現(xiàn)方法。
2、根據(jù)本發(fā)明提供的一種基于仿真模型框架及通用中間件的仿真系統(tǒng),包括:
3、模塊m1:構(gòu)建仿真平臺(tái)解耦的仿真模型框架;
4、模塊m2:構(gòu)建基于規(guī)則的通用中間件;
5、模塊m3:仿真平臺(tái)通過(guò)仿真模型框架調(diào)用通用中間件,通用中間件通過(guò)仿真模型框架調(diào)用各仿真模型,實(shí)現(xiàn)仿真平臺(tái)對(duì)各仿真模型的調(diào)用。
6、優(yōu)選地,所述模塊m1采用:基于面向?qū)ο蟮纳墒街赜煤蚫evs的組合式重用,構(gòu)建仿真平臺(tái)解耦的仿真模型框架;基于構(gòu)建的仿真平臺(tái)解耦的仿真模型框架,實(shí)現(xiàn)同構(gòu)模型、封裝異構(gòu)模型和構(gòu)造異構(gòu)模型代理的集成。
7、優(yōu)選地,所述仿真模型框架包括:仿真模型框架功能和仿真模型數(shù)據(jù)結(jié)構(gòu);
8、所述仿真模型框架功能包括:初始化模塊、設(shè)置當(dāng)前仿真時(shí)間及步長(zhǎng)模塊、獲取當(dāng)前仿真時(shí)間及步長(zhǎng)模塊、更新模型狀態(tài)模塊、接收處理同構(gòu)模型事件模塊、發(fā)送同構(gòu)模型事件模塊、接收處理異構(gòu)模型事件模塊、發(fā)送異構(gòu)模型事件模塊和創(chuàng)建仿真模型實(shí)例模塊;
9、所述初始化模塊,用于初始化仿真模型實(shí)例和初始化數(shù)據(jù)類型;
10、所述設(shè)置當(dāng)前仿真時(shí)間及步長(zhǎng)模塊,用于設(shè)置仿真模型實(shí)例的仿真時(shí)間及步長(zhǎng);
11、所述獲取當(dāng)前仿真時(shí)間及步長(zhǎng)模塊,用于獲取當(dāng)前仿真時(shí)間及步長(zhǎng);
12、所述更新模型狀態(tài)模塊,用于更新仿真模型實(shí)例狀態(tài);
13、所述接收處理同構(gòu)模型事件模塊,用于處理同構(gòu)模型事件;
14、所述發(fā)送同構(gòu)模型事件模塊,用于發(fā)送同構(gòu)模型實(shí)例事件;
15、所述接收處理異構(gòu)模型事件模塊,用于處理異構(gòu)模型事件;
16、所述發(fā)送異構(gòu)模型事件模塊,用于發(fā)送異構(gòu)模型實(shí)例事件;
17、所述創(chuàng)建仿真模型實(shí)例模塊,用于創(chuàng)建仿真模型實(shí)例;
18、所述仿真模型數(shù)據(jù)結(jié)構(gòu)包括:初始化數(shù)據(jù)類型為json字符串型;簡(jiǎn)略儒略日時(shí)間類型為雙精度浮點(diǎn)型;模型輸入輸出端口號(hào)為字符串型;事件為結(jié)構(gòu)體類型;其中,所述事件結(jié)構(gòu)體類型包括:事件時(shí)間、事件類型、端口號(hào)和事件內(nèi)容;其中,所述事件時(shí)間為雙精度浮點(diǎn)型,所述事件類型為枚舉型,所述端口號(hào)為字符串型,所述事件內(nèi)容為可變長(zhǎng)度數(shù)組。
19、優(yōu)選地,所述模塊m2采用:基于devs理論和抽象出創(chuàng)建對(duì)象、獲取事件、執(zhí)行仿真、處理事件的模型運(yùn)行規(guī)則,通過(guò)繼承仿真平臺(tái)模型框架,重載實(shí)現(xiàn)仿真模型創(chuàng)建、事件獲取、仿真執(zhí)行和事件處理,實(shí)現(xiàn)通用中間件對(duì)各類仿真平臺(tái)的適配。
20、優(yōu)選地,所述模塊m3采用:
21、模塊m3.1:基于通用中間件實(shí)現(xiàn)仿真模型創(chuàng)建;
22、模塊m3.2:基于通用中間件實(shí)現(xiàn)事件獲?。?/p>
23、模塊m3.3:基于通用中間件實(shí)現(xiàn)仿真執(zhí)行;
24、模塊m3.4:基于通用中間件實(shí)現(xiàn)事件處理。
25、優(yōu)選地,所述模塊m3.1采用:
26、模塊m3.1.1:基于仿真平臺(tái)傳入的參數(shù)加載相應(yīng)的仿真模型鏈接庫(kù);
27、模塊m3.1.2:基于仿真模型框架的創(chuàng)建仿真模型實(shí)例模塊創(chuàng)建仿真模型實(shí)例;
28、模塊m3.1.3:基于仿真模型框架的初始化模塊初始化仿真模型實(shí)例,初始化數(shù)據(jù)類型為json字符串型;
29、模塊m3.1.4:基于仿真模型框架的設(shè)置當(dāng)前仿真時(shí)間及步長(zhǎng)模塊設(shè)置當(dāng)前仿真時(shí)間和仿真步長(zhǎng),仿真時(shí)間類型為為雙精度浮點(diǎn)型簡(jiǎn)略儒略日,仿真步長(zhǎng)為雙精度浮點(diǎn)型、單位為秒。
30、優(yōu)選地,所述模塊m3.2采用:
31、模塊m3.2.1:從仿真平臺(tái)獲取其他仿真模型發(fā)送的事件,通過(guò)仿真平臺(tái)的事件分發(fā)模塊獲取發(fā)送給本仿真模型實(shí)例的事件;
32、模塊m12:將從仿真平臺(tái)接收到的事件存儲(chǔ)在本仿真模型實(shí)例的事件隊(duì)列中。
33、優(yōu)選地,所述模塊m3.3采用:
34、模塊m3.3.1:根據(jù)仿真平臺(tái)的進(jìn)程控制指令,調(diào)用仿真模型框架的設(shè)置當(dāng)前仿真時(shí)間及步長(zhǎng)模塊設(shè)置本仿真模型實(shí)例的仿真時(shí)間和步長(zhǎng);
35、模塊m3.3.2:判斷是同構(gòu)模型還是異構(gòu)模型,若為同構(gòu)模型則觸發(fā)模塊m3.3.3,若為異構(gòu)模型則觸發(fā)模塊m3.3.6;
36、模塊m3.3.3:按時(shí)間由先到后一次處理事件,調(diào)用仿真模型框架的接收處理同構(gòu)模型事件模塊,直到處理完小于等于當(dāng)前仿真時(shí)間的所有事件;
37、模塊m3.3.4:調(diào)用仿真模型框架的更新模型狀態(tài)模塊更新仿真模型實(shí)例狀態(tài);
38、模塊m3.3.5:調(diào)用仿真模型框架的發(fā)送同構(gòu)模型事件模塊發(fā)送本模型實(shí)例事件;
39、模塊m3.3.6:按時(shí)間由先到后一次處理事件,調(diào)用仿真模型框架的接收處理異構(gòu)模型事件模塊,直到處理完小于等于當(dāng)前仿真時(shí)間的所有事件;
40、模塊m3.3.7:調(diào)用仿真模型框架的更新模型狀態(tài)模塊更新仿真模型實(shí)例狀態(tài);
41、模塊m3.3.8:調(diào)用仿真模型框架的發(fā)送異構(gòu)模型事件模塊發(fā)送本模型實(shí)例事件;
42、模塊m3.3.9:向仿真平臺(tái)請(qǐng)求遞推到下一時(shí)刻,其中,該時(shí)刻為當(dāng)前仿真時(shí)間加上仿真步長(zhǎng)的時(shí)刻與該仿真模型實(shí)例事件隊(duì)列中最早事件時(shí)間的小者。
43、優(yōu)選地,所述模塊m3.4采用:
44、模塊m3.4.1:在該仿真模型實(shí)例通過(guò)仿真模型框架的發(fā)送同構(gòu)/異構(gòu)模型事件模塊發(fā)送本模型實(shí)例事件時(shí)獲取該事件;
45、模塊m3.4.2:調(diào)用仿真平臺(tái)的事件發(fā)送模塊將該模型實(shí)例事件發(fā)送到仿真平臺(tái)。
46、根據(jù)本發(fā)明提供的一種基于仿真模型框架及通用中間件的仿真系統(tǒng)實(shí)現(xiàn)方法,包括:
47、步驟s1:構(gòu)建仿真平臺(tái)解耦的仿真模型框架;
48、步驟s2:構(gòu)建基于規(guī)則的通用中間件;
49、步驟s3:仿真平臺(tái)通過(guò)仿真模型框架調(diào)用通用中間件,通用中間件通過(guò)仿真模型框架調(diào)用各仿真模型,實(shí)現(xiàn)仿真平臺(tái)對(duì)各仿真模型的調(diào)用。
50、與現(xiàn)有技術(shù)相比,本發(fā)明具有如下的有益效果:
51、1、面向不同仿真平臺(tái)集成時(shí),對(duì)通用中間件進(jìn)行少量改造即可完成全部仿真模型快速集成,實(shí)現(xiàn)仿真模型平臺(tái)無(wú)關(guān)化;
52、2、面向異構(gòu)模型集成時(shí),基于仿真模型框架封裝異構(gòu)模型或異構(gòu)模型代理,實(shí)現(xiàn)對(duì)異構(gòu)模型便捷集成,降低了仿真模型低水平重復(fù)開發(fā)的移植成本,提高了仿真模型復(fù)用性;
53、3、通過(guò)基于規(guī)則的平臺(tái)解耦仿真模型框架和通用中間件設(shè)計(jì)技術(shù),實(shí)現(xiàn)了仿真模型平臺(tái)無(wú)關(guān)化,降低了仿真模型低水平重復(fù)開發(fā)的移植成本,提高了仿真模型復(fù)用性。