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