(江漢大學(xué)數(shù)學(xué)與計(jì)算機(jī)學(xué)院,湖北武漢,430000)
一種可重用可組合的并行仿真模型技術(shù)分析
朱國華,王 杰,余維偉
(江漢大學(xué)數(shù)學(xué)與計(jì)算機(jī)學(xué)院,湖北武漢,430000)
針對控制系統(tǒng)并行仿真的要求,利用組件技術(shù)實(shí)現(xiàn)可重用的仿真模型庫,在此基礎(chǔ)上構(gòu)建了一個(gè)可視化的仿真模型管理的集成環(huán)境,解決了仿真模型的標(biāo)準(zhǔn)化描述、接口設(shè)計(jì)、模型組合問題。該方法極大地提高了仿真模型的重用性和組合便利性。
并行仿真;模型;重用;組合
控制系統(tǒng)仿真是自動(dòng)化與控制系統(tǒng)工程領(lǐng)域分析、研究、設(shè)計(jì)控制系統(tǒng)的強(qiáng)有力工具,目前一般借助MATLAB和SIMULINK相關(guān)軟件平臺(tái),針對簡單控制系統(tǒng)仿真進(jìn)行測試。面對功能模塊較多且龐大的工程就顯得力不從心。HLA(High level architecture)技術(shù)的出現(xiàn),為結(jié)構(gòu)復(fù)雜、功能模塊較多的龐大的系統(tǒng)工程提供了強(qiáng)有力的軟件支持.。但是HLA的目的主要是為了解決分布在不同地域的仿真系統(tǒng)之間的互操作和可重用,并不關(guān)注單個(gè)仿真系統(tǒng)內(nèi)部的性能,如果單個(gè)仿真系統(tǒng)內(nèi)部的模型采用HLA方式互聯(lián),HLA的技術(shù)體制將使得仿真系統(tǒng)的性能受到很大的限制。
針對這些問題,我們在控制系統(tǒng)仿真技術(shù)與HLA標(biāo)準(zhǔn)之上,設(shè)計(jì)了針對控制系統(tǒng)的專用并行仿真系統(tǒng)。該仿真系統(tǒng)中最重要的資源是仿真模型。在對已有的HLA仿真模型重用與組合技術(shù)分析的基礎(chǔ)上,針對控制系統(tǒng)的建模,我們利用COM組件技術(shù)為基礎(chǔ)來達(dá)到模型重用和組合的技術(shù),同時(shí)對HLA中一些規(guī)則和接口規(guī)范進(jìn)行了封裝,提供一個(gè)可重用的仿真成員,對于不了解并行仿真技術(shù)的開發(fā)人員都可以快速開發(fā)仿真系統(tǒng)。在開放式網(wǎng)絡(luò)平臺(tái)上將分散、孤立的仿真模型資源進(jìn)行統(tǒng)一管理,形成類似于SIMULINK模塊庫的HLA仿真模型庫系統(tǒng),從而可以直接利用模型庫構(gòu)建成新的并行仿真方案。
國內(nèi)外己有的關(guān)于仿真資源重用的研究主要是圍繞仿真概念框架、基于WEB的網(wǎng)格環(huán)境、仿真模型開發(fā)分析與設(shè)計(jì)、多層次建模、仿真組件、仿真環(huán)境、仿真資源庫、應(yīng)用情景、建模驗(yàn)?zāi)?、模型組合和可移植性等幾個(gè)方面展開的,并且都集中在模型的重用方面與組合方面。
國際上在2002年,在英國運(yùn)籌學(xué)協(xié)會(huì)的仿真工作組會(huì)議上,五位仿真專家就仿真模型重用問題進(jìn)行了專題討論。Petty,M.D.等人從仿真可組合性的角度研究了基于模型重用形成的組合式仿真應(yīng)用的有效性檢驗(yàn)問題。Andreas Tol等人從仿真互操作性的角度研究了通過多層次互操作實(shí)現(xiàn)仿真模型重用的理論與技術(shù)需求。國內(nèi)對仿真資源重用的研究主要集中在國防科技大學(xué)王維平等人以導(dǎo)彈總體設(shè)計(jì)為應(yīng)用背景仿真模型重用需求和異構(gòu)仿真模型集成問題;解放軍信息工程大學(xué)沈建京等人提出的基于SOA和HLA的分布式仿真關(guān)鍵技術(shù)研究,裝甲兵工程學(xué)院仿真室的馬全峰、徐豪華等人提出的基于組件技術(shù)的仿真模型重用性度量。
總體來看,國內(nèi)外己有的關(guān)于仿真資源重用的研究,取得了不少成果,為理解仿真資源重用、實(shí)施仿真資源重用、進(jìn)一步研究仿真資源重用打下了很好的基礎(chǔ),但目前建模,驗(yàn)?zāi)?,模型描述?fù)雜度高,對開發(fā)人員要求較高;對模型的管理缺乏統(tǒng)一規(guī)范,使用不便。同時(shí)也不符合我們的專用并行仿真服務(wù)器的獨(dú)特要求。針對此問題,需要建立更方便易用的模型重用技術(shù)和統(tǒng)一高效的模型管理系統(tǒng)。
2.1 仿真模型的定義
并行仿真系統(tǒng)的成員包括三個(gè)文件。EXE文件是通用調(diào)度仿真成員負(fù)責(zé),加載DLL算法和讀取成員模型文件XML,并作為一個(gè)成員加入到聯(lián)邦中去,并進(jìn)行屬性值更新,接收反射屬性值,接受管控端發(fā)交互命令,以達(dá)到通過管控端來控制仿真成員狀態(tài)(開始、暫停、停止等)的目的。XML文件描述了成員公布和訂購的對象類屬性以及交互類和一些成員的初始化參數(shù)信息,該文件由仿真想定系統(tǒng)根據(jù)仿真方案設(shè)計(jì)生產(chǎn)的;DLL文件描述仿真實(shí)體的算法,用來描述聯(lián)邦中某一實(shí)體的動(dòng)態(tài)行為,例如PID控制器的控制算法等等。
其中仿真模型是仿真成員的核心。其定義如下:
模型庫:
ML={M1,M2,…Mn |n∈N},模型庫是系統(tǒng)所有存的模型集合
其中模型:
M={(I1, I2,… ,Im, O1, O2, …,On, N1, N2,…, Nj)|m∈N ∧n∈N∧j∈N},
對于任何一個(gè)模型而言,
輸入?yún)?shù):
I={(k,t,s)|k∈K∧t∈T},s為特征量
輸出參數(shù):
O={(k,t,s)| k∈K∧t∈T },s為特征量
初始化參數(shù):
N={(t,v,s)|t∈T}。v為初始值,s為特征量
傳輸類型集:
K={k1k2,…kn|n∈N},
數(shù)據(jù)類型集:
T={t1,t2,…tn|n∈N},
傳輸特征量集是在設(shè)計(jì)模型標(biāo)準(zhǔn)中給定的,主要用來體現(xiàn)數(shù)據(jù)傳輸?shù)臉I(yè)務(wù)特性,比如溫度參數(shù)類型、電壓參數(shù)類型、壓力參數(shù)類型等。數(shù)據(jù)類型集是模型設(shè)計(jì)標(biāo)準(zhǔn)中給定所有的數(shù)據(jù)類型集,比如整形、字符串、浮點(diǎn)型等。
2.2 模型關(guān)系的描述
目前組合仿真的理念深入人心,模型組合是實(shí)現(xiàn)組合仿真的基礎(chǔ),相關(guān)的理論和方法比較多。傳統(tǒng)的做法是讓用戶選擇特定模型,然后人工辨別模型是否適合組合。我們的模型可以實(shí)現(xiàn)自動(dòng)組合,就是無需用戶指定數(shù)據(jù)傳輸關(guān)系或者較少的操作就可以得到正確的組合模型。
在這里我們屏蔽了HLA仿真的思想,使設(shè)計(jì)人員只需關(guān)注方案中成員之間的關(guān)系,簡化了開發(fā)的難度,我們只需關(guān)注模型的輸入輸出,成員的動(dòng)態(tài)實(shí)體行為由開發(fā)模型的成員自己開發(fā)并與相應(yīng)的模型匹配就可以了。
模型關(guān)聯(lián)反映了兩個(gè)模型之間關(guān)系:
R={(Mref1,Mref2)|Mref1∈ML ∧ Mref2 ∈ ML }={(O1,I1,k1,t1), (O2,I2,k2,t2),…, (On,In,kn,t2)},。
可用關(guān)系集:
RL={ R1, R2,…,Rn },RL表示模型庫中所有模型能夠滿足數(shù)據(jù)傳輸要求的關(guān)系集合。
組合模型:
C M={(M 1,M 2,…M m,R 1,R 2,…,Rn)|Mm∈ML∧Rn∈RL∧m,n∈N},其中模型庫ML已在上文定義。
規(guī)則、推論
規(guī)則1:
依據(jù)上面的定義
M={(I1, I2,… ,In, O1, O2, …,On, N1, N2,…, Nn)},R={(Mref1,Mref2)|Mref1∈ML ∧ Mref2 ∈ ML }
可知,對于給定任意的兩個(gè)模型M1,M2,二者能夠形成的關(guān)系
R={({(I1, I2,… ,In, O1, O2, …,On, N1, N2,…, Nn)}, {(I’1, I’2,… ,I’n, O’1, O’2, …,O’n, N’1, N’2,…, N’n)},k)}。
其中k滿足如下條件:
取Os= { O1, O2, …,Om },O是輸出模型M1的所有輸出集合,
取Is={ I’1, I’2,… ,I’n },I是接收模型M2的所有接收集合,
令集合S=Os ×Is={( O1, I’1), ( O2, I’2),…}( Os,Is 的笛卡爾積)
a=(O,I)=((k1,t1,s1) ,(k2,t2,s2)),k1,k2∈K,t1,t2∈T滿足k1=k2 ,且t1=t2。
定義Q的最大的值Qmax,滿足:a=(O,I)=((k1,t1,s1),(k2 ,t2,s2)),a=(O,I)∈ C,其中
C = S Qmax(S和Qmax的相對差集),使得,k1,k2∈K,t1,t2∈T滿足k1=k2 ,且t1=t2。
R={(O1,I1,k1),(O2,I2,k2),…, (On,In,kn)}={(a,k)|a∈Qmax}。
根據(jù)規(guī)則1能夠得到任意的兩個(gè)模型產(chǎn)生的關(guān)聯(lián),這是自動(dòng)組合的基礎(chǔ)。其中t代表語法約束,僅對數(shù)據(jù)描述層次進(jìn)行校驗(yàn)。k則代表語義約束,因?yàn)閗預(yù)定義表達(dá)模型的業(yè)務(wù)邏輯。
規(guī)則2:
依據(jù)上面的定義
C M={(M 1,M 2,…M m,R 1,R 2,…,Rn)|Mm∈ML∧Rn∈RL∧m,n∈N∧m>1}。
圖1 模型的使用過程
在規(guī)則1中已經(jīng)敘述了如何根據(jù)任意兩個(gè)模型得到二者的關(guān)聯(lián)。從定義中不難看出組合模型可以是由任意不少于2個(gè)模型以及其間自動(dòng)產(chǎn)生的關(guān)聯(lián)組成的。
對于給定的模型集合
Ms={ M1,M2,…Mm |m>1∧m∈N},
令Q={(M 1 1,M 2 1), (M 1 2,M 2 2),…, (M1m,M2m)|M1m,M2m∈Ms},
對 (M1m,M2m),使用規(guī)則1,得到二者的關(guān)系R,經(jīng)過C_2^m次運(yùn)算得到m*(m-1)/2個(gè)R,由于用來進(jìn)行模型組合的模型是用戶指定的,所以CM已確定。
故得出如下推論,
C M={(M 1,M 2,…M m,R 1,R 2,…,Rn)|Mm∈ML∧Rn∈RL∧m,n∈N∧m>1∧n=m*(m-1)/2}。
依據(jù)多層次可組合型分析理論,可以從語義和語法兩個(gè)角度分析。對于語法層次,就是分析t(數(shù)據(jù)類型);對于與義層次,就是分析k(傳輸類型)。
通過模型組合可以構(gòu)成層次性的模型庫系統(tǒng)。模型庫包括設(shè)備級(jí)、子系統(tǒng)級(jí)、系統(tǒng)級(jí)、虛擬模型。設(shè)備級(jí)模型比模型的抽象程度更高,是不能夠或沒有必要進(jìn)一步分解的模型。設(shè)備級(jí)模型組合成子系統(tǒng)級(jí)模型,子系統(tǒng)級(jí)組合成系統(tǒng)級(jí)模型。
2.3 模型的使用過程
為了便于對模型進(jìn)行統(tǒng)一管理,設(shè)計(jì)了圖形化的模型管理界面。類似于SIMULINK,通過拖拉方式從模型資源控制器中拖拽模型到方案邏輯結(jié)構(gòu)面板中,在方案邏輯結(jié)構(gòu)面板中的成員進(jìn)行“成員設(shè)置”,確定成員間的“訂購交互”或“訂購對象”關(guān)系,就可以正確地完成仿真環(huán)境的配置和相關(guān)模型的初始化,形成新的仿真方案。成員間的組合關(guān)系可以形成組合模型添加到模型庫中。這種方式降低了仿真成員數(shù)據(jù)設(shè)定和數(shù)據(jù)傳遞的復(fù)雜度,不需要手動(dòng)編寫代碼來生成模型(成員)。這將顯著提高仿真實(shí)驗(yàn)的效率,杜絕誤操作的可能。
本文基于COM組件技術(shù),根據(jù)控制系統(tǒng)仿真的特點(diǎn),在傳統(tǒng)HLA仿真協(xié)議基礎(chǔ)上,對底層算法封裝,形成可以重用的仿真模型。討論了仿真模型進(jìn)行組合的理論基礎(chǔ),從而可以對簡單模型進(jìn)行組合形成組合模型。在此基礎(chǔ)上通過對HLA協(xié)議進(jìn)行改造和封裝,減少大量代碼的編寫,對于不了解HLA的開發(fā)人員都可以快速開發(fā)仿真系統(tǒng)。通過圖形化的設(shè)計(jì)界面,實(shí)現(xiàn)對仿真模型進(jìn)行統(tǒng)一管理,降低了系統(tǒng)使用復(fù)雜度問題,提高開發(fā)效率,降低開發(fā)成本。
[1] Stewart Robinson,RichardE.Nance,RayJ.Paul,etal. Simulation model reuse:definitions,benefits and obstacles.Simulation Modeling Practice and Theory,2004
[2] Petty.MD.Weisel.E.W.. A formula basis for a theory of semantic composabliity.In:Proceedings of the Spring 2003 simulation Interoperability Workshop. Orlando.FL.USA:2003
[3] Ernest H.Page,RechardBriggs,JohnA.Tufarolo.Toward a family of maturity models for the simulation interconnection problem.In:Proceedings IEEE Spring Simulation Interoperability Workshop.IEEE CS Press.2004
[4] 王維平,雷永林,朱一凡?;谠P偷目芍赜梅抡婺P捅硎痉椒ㄌ骄坑?jì)算機(jī)仿真 2007
[5] 沈建京、郭曉峰等人基于SOA和HLA的分布式仿真關(guān)鍵技術(shù)研究解放軍信息工程大學(xué) 2011.4
[6]馬全峰、徐豪華等人基于組件技術(shù)的仿真模型重用性度量裝甲兵工程學(xué)院仿真室 2008.9
Research on the technology of ensemble and reusableparallelsimulation model
Zhu Guohua,Wang Jie,Yu Weiwei
(Mathematics and computer science,Jianghan University,Hubei Wuhan,430000)
In order to meet the requirement ofcontrol-system aimed parallel simulation system,simulation models library was built based on the component technology,An graphical integrated management system and the standard description of model,the interface of model,the combination of components are also provided. That will greatly improve the reusabilityand convenience ofcombinationof the simulation modles.
parallel simulation;model;reusability;combination