賈長(zhǎng)偉,王曉路,王長(zhǎng)慶
(中國(guó)運(yùn)載火箭技術(shù)研究院,北京 100076)
虛擬仿真試驗(yàn)是通過(guò)虛擬化手段將真實(shí)的試驗(yàn)設(shè)備轉(zhuǎn)換成數(shù)學(xué)模型,模擬真實(shí)的試驗(yàn)場(chǎng)景開(kāi)展的試驗(yàn)。通過(guò)虛擬仿真試驗(yàn)?zāi)艽蟠蠊?jié)約人力、物力成本,并且先于試驗(yàn)設(shè)備開(kāi)展仿真試驗(yàn),及時(shí)發(fā)現(xiàn)設(shè)計(jì)不足,改進(jìn)設(shè)備。
經(jīng)過(guò)數(shù)年的研究與設(shè)計(jì),已經(jīng)積累了大量用于開(kāi)展虛擬仿真試驗(yàn)的仿真應(yīng)用。虛擬仿真試驗(yàn)包括試驗(yàn)前的試驗(yàn)設(shè)計(jì)、試驗(yàn)中的運(yùn)行管控、試驗(yàn)后的結(jié)果分析。通過(guò)構(gòu)建試驗(yàn)設(shè)計(jì)樣本完成多種復(fù)雜系統(tǒng)試驗(yàn)工況設(shè)計(jì),試驗(yàn)運(yùn)行結(jié)束后,借助試驗(yàn)結(jié)果評(píng)估方法對(duì)試驗(yàn)進(jìn)行評(píng)估分析,輔助用戶(hù)做出合理決策。本文設(shè)計(jì)的面向大型分布式虛擬仿真試驗(yàn)管控系統(tǒng)正是實(shí)現(xiàn)了該功能。
本系統(tǒng)包括試驗(yàn)設(shè)計(jì)、仿真調(diào)度、試驗(yàn)結(jié)果評(píng)估3大功能模塊。其中,試驗(yàn)設(shè)計(jì)作為仿真調(diào)度和試驗(yàn)結(jié)果評(píng)估的輸入,完成整個(gè)虛擬仿真試驗(yàn)的試驗(yàn)樣本文件設(shè)計(jì),通過(guò)正交、全因子、拉丁方等試驗(yàn)設(shè)計(jì)算法,并可以根據(jù)用戶(hù)試驗(yàn)需求采用自定義試驗(yàn)設(shè)計(jì)算法。仿真調(diào)度作為分布式虛擬仿真試驗(yàn)的核心,負(fù)責(zé)整個(gè)虛擬仿真試驗(yàn)的調(diào)度管理,包括試驗(yàn)運(yùn)行方案生成、試驗(yàn)運(yùn)行過(guò)程管控等功能,運(yùn)行結(jié)果作為試驗(yàn)結(jié)果評(píng)估模塊的輸入。試驗(yàn)結(jié)果評(píng)估收集試驗(yàn)設(shè)計(jì)和仿真調(diào)度的數(shù)據(jù),通過(guò)試驗(yàn)結(jié)果評(píng)估算法對(duì)試驗(yàn)數(shù)據(jù)進(jìn)行預(yù)處理、分析評(píng)估,最終輔助用戶(hù)完成方案決策。系統(tǒng)組成結(jié)構(gòu)如圖1所示。
圖1 系統(tǒng)組成結(jié)構(gòu)圖Fig.1 System composition structure
復(fù)雜產(chǎn)品設(shè)計(jì)過(guò)程中,涉及大量的參數(shù)及方案選取。如何選取關(guān)鍵參數(shù),如何對(duì)已有數(shù)據(jù)進(jìn)行分析,如何從多個(gè)方案中選取最優(yōu)方案是設(shè)計(jì)人員重點(diǎn)關(guān)注的問(wèn)題,試驗(yàn)設(shè)計(jì)是上述問(wèn)題的公認(rèn)解決方案。以多學(xué)科集成后的模型作為輸入,設(shè)計(jì)和實(shí)現(xiàn)工程上經(jīng)常使用的試驗(yàn)設(shè)計(jì)方法,包括中心組合法、拉丁方法、全因子法、正交表、均勻設(shè)計(jì)法等方法,并將試驗(yàn)設(shè)計(jì)方法作為可重用的方法模塊管理起來(lái),使用戶(hù)可以根據(jù)不同問(wèn)題的需要從算法庫(kù)中選取特定算法對(duì)問(wèn)題進(jìn)行實(shí)驗(yàn)。模塊支持試驗(yàn)設(shè)計(jì)中設(shè)計(jì)矩陣的修改、導(dǎo)入、導(dǎo)出等功能,導(dǎo)出及導(dǎo)入的設(shè)計(jì)矩陣均按照所提供的XML文本格式進(jìn)行存儲(chǔ)。其內(nèi)容主要包括過(guò)程文件、設(shè)計(jì)矩陣等內(nèi)容。
(1)過(guò)程數(shù)據(jù)文件的導(dǎo)出
當(dāng)用戶(hù)打開(kāi)實(shí)驗(yàn)設(shè)計(jì)與近似建模模塊時(shí),系統(tǒng)會(huì)自動(dòng)存儲(chǔ)模塊運(yùn)行中所產(chǎn)生的重要數(shù)據(jù)文件(XML),以供WEB平臺(tái)及用戶(hù)的后續(xù)驗(yàn)證使用。過(guò)程數(shù)據(jù)文件分為設(shè)計(jì)矩陣、樣本點(diǎn)、靈敏度分析、近似模型誤差等4大塊。以一個(gè)設(shè)計(jì)變量為2,響應(yīng)數(shù)為2,樣本數(shù)為3的模型為例,存儲(chǔ)格式示例如下所示:
<=中心組合法()=2=3>
<=000=000>
<=000=100>
<=100=000>
<>
<=中心組合法()=2=2=3>
<=000=000=000=000>
<=000=100=100=100>
<=100=000=100=100>
<>
(2)設(shè)計(jì)矩陣與樣本點(diǎn)的導(dǎo)入與導(dǎo)出
設(shè)計(jì)矩陣與樣本點(diǎn)以規(guī)定好的XML格式進(jìn)行導(dǎo)入與導(dǎo)出操作。
<=2=2=3>
<=000=000=000=000>
<=000=100=100=100>
<=100=000=100=100>
<>
試驗(yàn)設(shè)計(jì)的思路如圖2所示。
試驗(yàn)設(shè)計(jì)模塊分為變量設(shè)計(jì)與設(shè)計(jì)矩陣兩個(gè)子模塊。用戶(hù)可在變量定義子模塊進(jìn)行變量的閾值設(shè)定,在設(shè)計(jì)矩陣子模塊中進(jìn)行變量定義及試驗(yàn)設(shè)計(jì)方法選擇,并查看設(shè)計(jì)矩陣以及對(duì)其進(jìn)行修改、導(dǎo)入、導(dǎo)出等操作。用戶(hù)可通過(guò)ID號(hào)按照接口定義要求,增加自定義的試驗(yàn)設(shè)計(jì)算法或刪除已有算法,所有初始設(shè)計(jì)完成之后,將設(shè)計(jì)矩陣遞交原模型進(jìn)行計(jì)算,從而得到相應(yīng)的試驗(yàn)設(shè)計(jì)樣本。
試驗(yàn)設(shè)計(jì)流程包括以下步驟:
圖2 試驗(yàn)設(shè)計(jì)模塊設(shè)計(jì)思路Fig.2 Experiment design module design ideas
1)在軟件界面選擇通過(guò)試驗(yàn)設(shè)計(jì)獲取樣本點(diǎn);
2)拖入設(shè)計(jì)變量,并確定各變量上下限;
中學(xué)教學(xué)強(qiáng)調(diào)對(duì)學(xué)生“核心素養(yǎng)”的培養(yǎng),更強(qiáng)調(diào)“創(chuàng)新能力、批判思維能力、溝通能力、合作能力以及品格教育和公民意識(shí)”的培養(yǎng)。這些能力的獲得一定是通過(guò)豐富多彩的教學(xué)活動(dòng)去落實(shí)的,不是單靠著教師講、學(xué)生聽(tīng)這種單一的教學(xué)方式來(lái)傳授的。核心素養(yǎng)的落地必須遵從學(xué)生的成長(zhǎng)規(guī)律、天性發(fā)展和內(nèi)在需求。當(dāng)核心素養(yǎng)真正滲入教材、到達(dá)課堂、融入教學(xué)并成為課堂教學(xué)變革的本色時(shí),它就會(huì)變得平易近人。如何讓核心素養(yǎng)真實(shí)落地,不僅需要頂層的設(shè)計(jì),更需要一線(xiàn)教師在實(shí)踐層面尋找策略和路徑。
3)選擇合適的試驗(yàn)設(shè)計(jì)方法;
4)若所選擇的試驗(yàn)設(shè)計(jì)方法支持水平調(diào)整,則對(duì)設(shè)計(jì)變量進(jìn)行水平調(diào)整;
5)生成試驗(yàn)設(shè)計(jì)矩陣,并最終得到試驗(yàn)設(shè)計(jì)樣本。
仿真調(diào)度是分布式虛擬仿真試驗(yàn)的核心子模塊,用于完成整個(gè)虛擬仿真試驗(yàn)的調(diào)度管理,完成試驗(yàn)應(yīng)用的分發(fā)、部署、運(yùn)行、過(guò)程管控、運(yùn)行監(jiān)控等功能。仿真調(diào)度模塊的輸入是試驗(yàn)設(shè)計(jì)樣本文件以及仿真應(yīng)用,這些文件以獨(dú)立文件或壓縮包的形式存儲(chǔ),并由仿真調(diào)度管理服務(wù)器分發(fā)到應(yīng)用節(jié)點(diǎn)上,這是仿真調(diào)度模塊的分發(fā)功能。應(yīng)用節(jié)點(diǎn)的解壓及存儲(chǔ)過(guò)程是仿真調(diào)度模塊的部署功能。分發(fā)部署完成之后,仿真調(diào)度模塊可以完成對(duì)整個(gè)仿真試驗(yàn)的運(yùn)行管理。為了確保試驗(yàn)的正確性與完整性,試驗(yàn)結(jié)束后可對(duì)本次試驗(yàn)樣本文件及仿真應(yīng)用進(jìn)行清除操作。
仿真調(diào)度管理主要包括調(diào)度方案生成與管理模塊、應(yīng)用分發(fā)部署模塊、應(yīng)用運(yùn)行控制模塊、運(yùn)行資源監(jiān)控4部分,如圖3所示。
圖3 試驗(yàn)過(guò)程調(diào)度與管理交互圖Fig.3 Simulation scenario logic
調(diào)度方案生成與管理模塊包括方案生成和方案管理,用戶(hù)在分發(fā)方案配置界面可以選擇要分發(fā)的目標(biāo)客戶(hù)端,然后對(duì)文件列表中的文件進(jìn)行目標(biāo)客戶(hù)端的配置,配置方式主要有手動(dòng)分發(fā)和自動(dòng)分發(fā)兩種。若選擇手動(dòng)分發(fā),用戶(hù)需對(duì)每一個(gè)客戶(hù)端的分發(fā)文件在界面上進(jìn)行添加,用戶(hù)還需在界面上提供試驗(yàn)次數(shù)的輸入(試驗(yàn)次數(shù)的取值范圍為1~100,取默認(rèn)值1),在用戶(hù)選擇“分發(fā)”按鈕時(shí),程序會(huì)自動(dòng)保存一次調(diào)度方案,在配置工作完畢后,用戶(hù)可以點(diǎn)擊工具欄的“保存”按鈕來(lái)保存調(diào)度方案到文件中,文件名和保存路徑由用戶(hù)指定。若選擇自動(dòng)分發(fā),用戶(hù)在每一次向文件列表中添加倉(cāng)庫(kù)文件或者向分發(fā)方案中添加目標(biāo)客戶(hù)端時(shí),程序都會(huì)自動(dòng)生成調(diào)度方案,并實(shí)時(shí)在界面上進(jìn)行更新。用戶(hù)可以點(diǎn)擊工具欄的“保存”按鈕來(lái)保存調(diào)度方案到文件中,文件名和保存路徑由用戶(hù)指定。在調(diào)度方案文件瀏覽樹(shù)中可對(duì)調(diào)度方案進(jìn)行管理,包括方案的新建、導(dǎo)入、修改、保存、刪除。
應(yīng)用分發(fā)部署模塊分為應(yīng)用分發(fā)和應(yīng)用部署,根據(jù)用戶(hù)所選的手動(dòng)分發(fā)或自動(dòng)分發(fā),服務(wù)器端向各客戶(hù)端分發(fā)應(yīng)用程序??蛻?hù)端在接收完一個(gè)應(yīng)用文件后,就創(chuàng)建一個(gè)子線(xiàn)程來(lái)對(duì)該文件進(jìn)行解壓,文件將被解壓到指定的文件夾下,若解壓完畢,則向服務(wù)端反饋“應(yīng)用部署成功”或“應(yīng)用部署失敗”信息。在試驗(yàn)運(yùn)行完畢后,用戶(hù)可以選擇是否對(duì)該試驗(yàn)的所有應(yīng)用進(jìn)行清理??蛻?hù)端在接收到“清理資源”命令后,將收到的應(yīng)用壓縮包進(jìn)行刪除,然后向服務(wù)器反饋是否清理成功的信息。
試驗(yàn)運(yùn)行資源監(jiān)控包括對(duì)象靜態(tài)信息收集與發(fā)布、對(duì)象動(dòng)態(tài)信息收集與發(fā)布、程序狀態(tài)信息收集與發(fā)布、計(jì)算機(jī)節(jié)點(diǎn)性能信息收集與發(fā)布4部分,如圖4所示。
圖4 試驗(yàn)運(yùn)行資源監(jiān)控結(jié)構(gòu)圖Fig.4 Test operation resource monitoring structure diagram
對(duì)象靜態(tài)信息收集與發(fā)布用于收集試驗(yàn)域應(yīng)用的相關(guān)模型信息、試驗(yàn)域的類(lèi)層次關(guān)系。其中模型信息包括名字VIO實(shí)例名、所屬應(yīng)用名、屬性的個(gè)數(shù)以及各個(gè)屬性的名字、發(fā)布訂閱信息。
對(duì)象動(dòng)態(tài)信息收集與發(fā)布用于收集試驗(yàn)運(yùn)行動(dòng)態(tài)信息并統(tǒng)計(jì),包括試驗(yàn)運(yùn)行期間交互的動(dòng)態(tài)信息:更新/接收更新次數(shù)、更新總數(shù)據(jù)大?。徊捎眯奶鴻C(jī)制定時(shí)發(fā)布收集的對(duì)象動(dòng)態(tài)信息。
程序狀態(tài)信息收集與發(fā)布用于收集程序狀態(tài)信息,包括域名稱(chēng)、域內(nèi)的應(yīng)用情況(包括應(yīng)用數(shù)量、各應(yīng)用名稱(chēng)、應(yīng)用所在機(jī)器的IP、應(yīng)用句柄、應(yīng)用運(yùn)行狀態(tài)(包括正常、暫停和故障)、應(yīng)用的時(shí)間管理參數(shù)(包括regulating、constrained、LBTS、Lookahead、Current Time))。
計(jì)算機(jī)節(jié)點(diǎn)性能信息收集與發(fā)布用于收集計(jì)算節(jié)點(diǎn)的性能信息:機(jī)器名、CPU頻率、CPU占有率、內(nèi)存使用率、IP地址、網(wǎng)絡(luò)的使用狀況。
試驗(yàn)結(jié)果評(píng)估獲取試驗(yàn)記錄得到的試驗(yàn)運(yùn)行結(jié)果,從算法庫(kù)中提取出試驗(yàn)結(jié)果分析算法對(duì)試驗(yàn)運(yùn)行結(jié)果進(jìn)行評(píng)估,以圖表的形式提供給用戶(hù),并可以將結(jié)果分析數(shù)據(jù)導(dǎo)出到Origin或Matlab中,輔助用戶(hù)評(píng)估出最優(yōu)解決方案,總體框圖如圖5所示。
試驗(yàn)結(jié)果數(shù)據(jù)管理支持從試驗(yàn)記錄的數(shù)據(jù)庫(kù)中提取出試驗(yàn)運(yùn)行結(jié)果數(shù)據(jù),并自動(dòng)加載試驗(yàn)方案文件及實(shí)驗(yàn)設(shè)計(jì)模塊設(shè)計(jì)得到的試驗(yàn)樣本文件,從而提取出試驗(yàn)的靜態(tài)信息和動(dòng)態(tài)信息。對(duì)提取出的試驗(yàn)數(shù)據(jù)信息進(jìn)行試驗(yàn)數(shù)據(jù)的預(yù)處理,預(yù)處理包括數(shù)據(jù)篩選、數(shù)據(jù)剔除與增補(bǔ)、規(guī)范化處理、排序等。
圖5 試驗(yàn)結(jié)果評(píng)估總體框圖Fig.5 Overall block diagram of test results evaluation
試驗(yàn)結(jié)果數(shù)據(jù)評(píng)估方法配置,該模塊為結(jié)果評(píng)估算法提供可擴(kuò)展的接口,用戶(hù)可根據(jù)系統(tǒng)運(yùn)行需求自行編寫(xiě)設(shè)計(jì)所需的數(shù)據(jù)處理方法(.dll文件),然后對(duì)數(shù)據(jù)處理方法進(jìn)行相應(yīng)的注冊(cè)、編輯、刪除等操作,最終為試驗(yàn)結(jié)果分析提供算法庫(kù)。同時(shí),該模塊為Matlab和Origin提供了統(tǒng)一的數(shù)據(jù)訪(fǎng)問(wèn)接口,可以將試驗(yàn)分析結(jié)果導(dǎo)出到Matlab和Origin中,為用戶(hù)提供直觀的分析結(jié)果。
試驗(yàn)結(jié)果數(shù)據(jù)評(píng)估方法包括試驗(yàn)數(shù)據(jù)靈敏度分析、試驗(yàn)數(shù)據(jù)統(tǒng)計(jì)分析、試驗(yàn)數(shù)據(jù)相關(guān)性分析。試驗(yàn)靈敏度分析包括方差分析、極差分析、攝動(dòng)分析,試驗(yàn)數(shù)據(jù)統(tǒng)計(jì)分析包括最大值、最小值、均值、方差、Pareto分析等,試驗(yàn)數(shù)據(jù)相關(guān)性分析包括單相關(guān)系數(shù)、偏相關(guān)系數(shù)、復(fù)相關(guān)系數(shù)、典型的非線(xiàn)性相關(guān)分析等。
一種面向大型分布式虛擬仿真試驗(yàn)的試驗(yàn)設(shè)計(jì)與調(diào)度管控系統(tǒng),包括試驗(yàn)設(shè)計(jì)模塊、仿真調(diào)度模塊以及試驗(yàn)結(jié)果評(píng)估模塊;試驗(yàn)設(shè)計(jì)模塊設(shè)計(jì)試驗(yàn)變量,通過(guò)多種試驗(yàn)設(shè)計(jì)算法得到試驗(yàn)樣本文件;仿真調(diào)度模塊將試驗(yàn)樣本文件以及仿真應(yīng)用作為輸入,完成分布式虛擬仿真試驗(yàn)的分發(fā)、部署、過(guò)程管控等功能,提高了試驗(yàn)運(yùn)行過(guò)程的效率;試驗(yàn)結(jié)果評(píng)估模塊在試驗(yàn)運(yùn)行結(jié)束后得到試驗(yàn)方案每條試驗(yàn)樣本對(duì)應(yīng)的試驗(yàn)數(shù)據(jù),對(duì)試驗(yàn)數(shù)據(jù)進(jìn)行數(shù)據(jù)預(yù)處理,通過(guò)試驗(yàn)結(jié)果數(shù)據(jù)評(píng)估方法評(píng)估試驗(yàn)結(jié)果,并將結(jié)果通過(guò)圖形化界面直觀顯示給用戶(hù),輔助系統(tǒng)用戶(hù)做出合理決策。采用常用工程級(jí)試驗(yàn)設(shè)計(jì)方法,通過(guò)試驗(yàn)多次運(yùn)行及結(jié)果評(píng)估,完成對(duì)試驗(yàn)參數(shù)的影響度分析,實(shí)現(xiàn)了復(fù)雜產(chǎn)品虛擬仿真試驗(yàn)評(píng)估。