一種面向航天器自動(dòng)化測(cè)試的并行測(cè)試任務(wù)兩階段調(diào)度方法
【專利摘要】本發(fā)明是一種面向航天器自動(dòng)化測(cè)試的并行測(cè)試任務(wù)兩階段調(diào)度方法,屬于并行測(cè)試領(lǐng)域。本方法包括:第一階段,分析和確定測(cè)試任務(wù)、任務(wù)中指令和被測(cè)參數(shù),明確任務(wù)間約束關(guān)系,建立時(shí)序約束矩陣和參數(shù)競(jìng)爭(zhēng)關(guān)系矩陣,將任務(wù)及其間約束關(guān)系轉(zhuǎn)化為無向圖,把并行任務(wù)調(diào)度問題轉(zhuǎn)化為圖頂點(diǎn)的順序最小著色問題,使用基于粒子群和模擬退火結(jié)合的方法求解,得到并行度最大的測(cè)試任務(wù)組;第二階段,把得到的并行度最大的測(cè)試任務(wù)組在有限的測(cè)試設(shè)備上進(jìn)行分配,獲取最優(yōu)調(diào)度方案。本發(fā)明快速建立起多個(gè)測(cè)試任務(wù)的約束關(guān)系,分析出測(cè)試任務(wù)之間的獨(dú)立性,增加了測(cè)試任務(wù)的并行度,并且在滿足約束的條件下實(shí)現(xiàn)任務(wù)在設(shè)備上的最優(yōu)調(diào)度,提高測(cè)試的效率。
【專利說明】-種面向航天器自動(dòng)化測(cè)試的并行測(cè)試任務(wù)兩階段調(diào)度方 法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明屬于并行測(cè)試領(lǐng)域,涉及一種面向航天器自動(dòng)化測(cè)試的先分組后再調(diào)度的 兩階段并行測(cè)試任務(wù)調(diào)度方法。
【背景技術(shù)】
[0002] 航天器系統(tǒng)由若干不同功能的分系統(tǒng)構(gòu)成,系統(tǒng)復(fù)雜且可靠性要求極高,是一種 典型的安全苛刻系統(tǒng)。為了驗(yàn)證航天器組成部件的各項(xiàng)性能和功能是否滿足設(shè)計(jì)要求,大 量的測(cè)試工作貫穿整個(gè)航天器型號(hào)研制過程的各個(gè)階段,是航天器設(shè)計(jì)制造過程中必不可 少的組成部分。隨著航天器研制數(shù)量與復(fù)雜度的增加,航天器由單一類型擴(kuò)展到多類型的 批產(chǎn)化網(wǎng)絡(luò)測(cè)試,測(cè)試任務(wù)的激增極大縮短了測(cè)試周期,多任務(wù)并行測(cè)試的測(cè)試模式對(duì)測(cè) 試?yán)碚摵头椒ㄌ岢隽诵碌奶魬?zhàn)。并行測(cè)試成為提高測(cè)試效率的重要手段。
[0003] 并行測(cè)試技術(shù)屬于下一代測(cè)試技術(shù)范疇,根植于并行處理技術(shù),其表現(xiàn)為,在并行 測(cè)試程序的控制下對(duì)多個(gè)被測(cè)對(duì)象同時(shí)測(cè)試。相比于傳統(tǒng)順序測(cè)試技術(shù),可以大幅度提高 測(cè)試效率和測(cè)試資源的利用率,減小測(cè)試成本。
[0004] 在航天器自動(dòng)化測(cè)試中測(cè)試任務(wù)數(shù)量多,每個(gè)任務(wù)中多個(gè)指令會(huì)頻繁地對(duì)飛船參 數(shù)進(jìn)行讀寫來判斷飛船是否正常,并且這多個(gè)任務(wù)之間存在著執(zhí)行的時(shí)序關(guān)系,于是需要 在測(cè)試設(shè)備上調(diào)度測(cè)試任務(wù)之前對(duì)各測(cè)試任務(wù)的獨(dú)立性進(jìn)行分析,使得不存在航天器參數(shù) 修改競(jìng)爭(zhēng)關(guān)系的任務(wù)才能并行執(zhí)行。其次,考慮到測(cè)試設(shè)備有限而且各任務(wù)之間的指令以 及任務(wù)內(nèi)的指令之間存在執(zhí)行時(shí)間間隔的約束,將可并行的任務(wù)在測(cè)試設(shè)備上進(jìn)行執(zhí)行時(shí) 需要合理的調(diào)度,使得在測(cè)試效率最高的情況下滿足各種約束。由上述對(duì)航天器自動(dòng)化測(cè) 試的分析可知,任務(wù)并行調(diào)度約束比較復(fù)雜,涉及到測(cè)試任務(wù)、測(cè)試指令、航天器被測(cè)參數(shù) 和測(cè)試設(shè)備各方面的約束,并且并行調(diào)度存在著明顯的層次關(guān)系,于是考慮為航天器測(cè)試 任務(wù)并行調(diào)度建立兩階段調(diào)度模型,第一階段計(jì)算出可以并行執(zhí)行的任務(wù),第二階段將可 并行的任務(wù)在設(shè)備上進(jìn)行最優(yōu)的調(diào)度。
[0005] 計(jì)算可并行測(cè)試任務(wù)的核心是將多個(gè)相互之間獨(dú)立不會(huì)引起被測(cè)量沖突的測(cè)試 任務(wù)分到一個(gè)組中,一個(gè)好的分組結(jié)果會(huì)使得組內(nèi)的任務(wù)盡可能的多,這樣能盡可能得提 高測(cè)試效率和資源的利用率。傳統(tǒng)的避免并行測(cè)試干擾的分組方法是由測(cè)試人員憑經(jīng)驗(yàn)來 決定各個(gè)測(cè)試任務(wù)間的獨(dú)立性,從而決定哪些測(cè)試程序是可并行的,但是在航天器自動(dòng)化 測(cè)試中,航天器功能日益復(fù)雜,使得航天器的測(cè)試任務(wù)也變得復(fù)雜,完全由測(cè)試人員來確定 測(cè)試程序間的獨(dú)立性已經(jīng)變得不可行。因此,需要對(duì)航天器并行調(diào)度的策略進(jìn)行分析,建立 多任務(wù)調(diào)度模型,由運(yùn)行環(huán)境自動(dòng)分析所提交的測(cè)試任務(wù)間的關(guān)系,規(guī)劃出由各個(gè)測(cè)試程 序組成的無干擾并行執(zhí)行序列。目前常用的并行測(cè)試任務(wù)分組的實(shí)現(xiàn)主要是基于算法的, 利用智能優(yōu)化算法,以一個(gè)測(cè)試任務(wù)整體為粒度來求解出各并行任務(wù)組的組成,目標(biāo)為使 得總的測(cè)試時(shí)間最短。但是在航天器自動(dòng)化測(cè)試中,每一個(gè)任務(wù)由多條指令組成,指令之間 有一些時(shí)間間隔,初始時(shí)并未確定,于是任務(wù)的執(zhí)行時(shí)間也不確定,以總測(cè)試時(shí)間最短作為 調(diào)度的目標(biāo)變得不可行;而且航天器自動(dòng)化測(cè)試中任務(wù)中各指令會(huì)頻繁地對(duì)被測(cè)對(duì)象的參 數(shù)狀態(tài)進(jìn)行修改,如果以一個(gè)任務(wù)整體對(duì)參數(shù)的修改情況來判斷各任務(wù)是否產(chǎn)生干擾,會(huì) 使得相互獨(dú)立的任務(wù)非常少;此外,多個(gè)測(cè)試任務(wù)可能會(huì)有測(cè)試需求決定一些執(zhí)行的前后 時(shí)序關(guān)系。以上種種因素決定了需要設(shè)計(jì)一種適用于航天器并行測(cè)試任務(wù)的分組方法。
[0006] 在設(shè)計(jì)好分組算法后,如何在測(cè)試設(shè)備上對(duì)組內(nèi)的任務(wù)中各條指令進(jìn)行調(diào)度也是 一個(gè)需要考慮的問題。傳統(tǒng)的任務(wù)在設(shè)備上調(diào)度的方法一般僅考慮任務(wù)對(duì)設(shè)備的競(jìng)爭(zhēng),只 要滿足任務(wù)對(duì)設(shè)備的獨(dú)占關(guān)系,通過智能優(yōu)化算法找到總執(zhí)行時(shí)間最短的調(diào)度方式即可。 但在航天器自動(dòng)化測(cè)試中,測(cè)試設(shè)備有限、不同的任務(wù)執(zhí)行可能會(huì)需要不同種類的設(shè)備,而 且各任務(wù)之間的指令(此處為有相同參數(shù)修改需求的指令)以及任務(wù)內(nèi)的指令之間存在執(zhí) 行時(shí)間間隔的約束,因此需要設(shè)計(jì)一種適用于航天器并行測(cè)試任務(wù)在設(shè)備上的配置方法。
【發(fā)明內(nèi)容】
[0007] 本發(fā)明提供一種面向航天器自動(dòng)化測(cè)試的并行測(cè)試任務(wù)兩階段調(diào)度方法,用以快 速建立起多個(gè)測(cè)試任務(wù)的約束關(guān)系,分析出測(cè)試任務(wù)之間的獨(dú)立性,增加了測(cè)試任務(wù)的并 行度,并且在滿足約束的條件下實(shí)現(xiàn)任務(wù)在設(shè)備上的最優(yōu)調(diào)度,提高測(cè)試的效率。
[0008] 本發(fā)明給出的一種面向航天器自動(dòng)化測(cè)試的并行測(cè)試任務(wù)兩階段調(diào)度方法,主要 包括如下步驟:
[0009] 步驟1 :確定測(cè)試任務(wù)、測(cè)試任務(wù)中的各條指令和被測(cè)的狀態(tài)參數(shù)。
[0010] 步驟2 :明確測(cè)試任務(wù)的約束關(guān)系,按照時(shí)序關(guān)系建立測(cè)試任務(wù)之間的時(shí)序約束 矩陣,按照參數(shù)修改競(jìng)爭(zhēng)關(guān)系建立測(cè)試任務(wù)之間的參數(shù)競(jìng)爭(zhēng)關(guān)系矩陣。
[0011] 步驟3 :將各測(cè)試任務(wù)轉(zhuǎn)化為無向圖上的頂點(diǎn),測(cè)試任務(wù)之間的參數(shù)修改競(jìng)爭(zhēng)關(guān) 系轉(zhuǎn)化為圖上的邊,若兩個(gè)測(cè)試任務(wù)之間有沖突,則無向圖上對(duì)應(yīng)的頂點(diǎn)之間有連邊。把并 行測(cè)試任務(wù)調(diào)度問題轉(zhuǎn)化為圖中頂點(diǎn)順序最小著色問題。
[0012] 步驟4 :使用基于粒子群算法和模擬退火算法結(jié)合的方法迭代求解圖中頂點(diǎn)順序 最小著色問題,得出并行度最大的測(cè)試任務(wù)組。
[0013] 步驟5 :對(duì)步驟4得到的測(cè)試任務(wù)組,把測(cè)試任務(wù)之間有修改相同參數(shù)的指令時(shí)間 間隔約束、測(cè)試任務(wù)內(nèi)各指令的執(zhí)行時(shí)間最大間隔約束以及總的調(diào)度時(shí)間最短作為目標(biāo), 把測(cè)試任務(wù)在測(cè)試設(shè)備上的最優(yōu)調(diào)度問題轉(zhuǎn)化為多目標(biāo)優(yōu)化問題。
[0014] 步驟6 :使用NSGA-II算法求解步驟5的多目標(biāo)優(yōu)化問題,獲取測(cè)試任務(wù)在測(cè)試設(shè) 備上的最優(yōu)調(diào)度。
[0015] 所述的步驟1中,讀取周期內(nèi)的測(cè)試任務(wù)文件,按行提取出測(cè)試任務(wù)中的測(cè)試指 令,分析測(cè)試指令獲取航天器被測(cè)的狀態(tài)參數(shù),被測(cè)的狀態(tài)參數(shù)為指令修改的航天器參數(shù), 根據(jù)指令的類型估算出指令的執(zhí)行時(shí)間。用數(shù)學(xué)定義的方法將每個(gè)測(cè)試任務(wù)中的指令條 數(shù)、各指令的執(zhí)行時(shí)間、各指令之間的最大執(zhí)行時(shí)間間隔、各指令修改的航天器狀態(tài)參數(shù)表 示如下:SP a表示航天器被測(cè)的第α個(gè)狀態(tài)參數(shù),P= (P11P2,...,pm}為航天器被測(cè)狀態(tài) 參數(shù)集合,m是狀態(tài)參數(shù)個(gè)數(shù),a = 1,2,…,m ;設(shè)Ti表示一個(gè)周期內(nèi)第i個(gè)測(cè)試任務(wù),T = IT1, T2, ...,Tj表示一個(gè)周期內(nèi)的測(cè)試任務(wù)集合,n為任務(wù)個(gè)數(shù),i = 1,2,…,η ;設(shè)Msf表示 第i個(gè)任務(wù)的第k條指令,)表示指令!><的種類,指令的種類決定指令的執(zhí)行時(shí) 間;modiry(i>wf)為指令imf將修改的航天器狀態(tài)參數(shù),其中modify(i>?f) e /?;
[0016] 任務(wù)Ti表示為
【權(quán)利要求】
1. 一種面向航天器自動(dòng)化測(cè)試的并行測(cè)試任務(wù)兩階段調(diào)度方法,其特征在于,包括如 下步驟: 步驟1 :確定測(cè)試任務(wù)、測(cè)試任務(wù)中的各條指令和被測(cè)的狀態(tài)參數(shù); 設(shè)Ti表示一個(gè)周期內(nèi)的第i個(gè)測(cè)試任務(wù),一個(gè)周期內(nèi)的測(cè)試任務(wù)集合T=IT1,T2,...,TJ,η為任務(wù)個(gè)數(shù),i= 1,2,…,η;設(shè)表示任務(wù)Ti的第k條指令,mxs/wwf 是任務(wù)Ti中第k條指令與第k+1條指令之間的最大時(shí)間間隔;用偏序符號(hào)來表示任務(wù)間的 時(shí)序約束關(guān)系,如任務(wù)Ti必須先于任務(wù)L執(zhí)行,記做Ti >Tj ; 步驟2 :按照時(shí)序關(guān)系建立測(cè)試任務(wù)之間的時(shí)序約束矩陣,按照參數(shù)修改競(jìng)爭(zhēng)關(guān)系建 立測(cè)試任務(wù)之間的參數(shù)競(jìng)爭(zhēng)關(guān)系矩陣; 步驟3 :將各測(cè)試任務(wù)轉(zhuǎn)化為無向圖上的頂點(diǎn),若兩個(gè)測(cè)試任務(wù)之間有沖突,則無向圖 上對(duì)應(yīng)的頂點(diǎn)之間有連邊;把并行測(cè)試任務(wù)調(diào)度問題轉(zhuǎn)化為圖中頂點(diǎn)順序最小著色問題; 步驟4 :使用基于粒子群算法和模擬退火算法結(jié)合的方法迭代求解圖中頂點(diǎn)順序最小 著色問題,得出并行度最大的測(cè)試任務(wù)組; 步驟5 :對(duì)步驟4得到的測(cè)試任務(wù)組,把測(cè)試任務(wù)之間有修改相同參數(shù)的指令時(shí)間間隔 約束、測(cè)試任務(wù)內(nèi)各指令的執(zhí)行時(shí)間最大間隔約束以及總的調(diào)度時(shí)間最短作為目標(biāo),把測(cè) 試任務(wù)在測(cè)試設(shè)備上的最優(yōu)調(diào)度問題轉(zhuǎn)化為多目標(biāo)優(yōu)化問題; 步驟6 :使用NSGA-II算法求解步驟5的多目標(biāo)優(yōu)化問題,獲取測(cè)試任務(wù)在測(cè)試設(shè)備上 的最優(yōu)調(diào)度。
2. 根據(jù)權(quán)利要求1所述的一種面向航天器自動(dòng)化測(cè)試的并行測(cè)試任務(wù)兩階段調(diào)度方 法,其特征在于,所述的步驟1具體是:讀取周期內(nèi)的測(cè)試任務(wù)文件,提取測(cè)試任務(wù)中的測(cè) 試指令,分析測(cè)試指令獲取航天器被測(cè)的狀態(tài)參數(shù);設(shè)Pa表示航天器被測(cè)的第z個(gè)狀態(tài)參 數(shù),被測(cè)的狀態(tài)參數(shù)集合P= (P1,P2,...,Pj,m是狀態(tài)參數(shù)個(gè)數(shù),a=1,2,…,m;設(shè)Owf表示第i個(gè)任務(wù)的第k條指令,)表示指令iraf的種類;modify(imf)為指令/mf 將修改的航天器狀態(tài)參數(shù); 任務(wù)Ti表示為{im丨,mv-ψαη丨,imf.jtiiwim,2,…,厭.ψαη 中的指令條數(shù),mxspawf是測(cè)試任務(wù)Ti中第k條指令與第k+Ι條指令之間的最大時(shí)間間隔。
3. 根據(jù)權(quán)利要求2所述的一種面向航天器自動(dòng)化測(cè)試的并行測(cè)試任務(wù)兩階段調(diào)度方 法,其特征在于,步驟2中所述的時(shí)序約束矩陣,設(shè)為Anxn,如果Ti >Ir則AnXn[i] [j]= 1,否則AnXn[i] [j] = 0 ;所述的參數(shù)競(jìng)爭(zhēng)關(guān)系矩陣設(shè)為Bnxn,若測(cè)試任務(wù)Ti和L有沖突, BnXn[i] [j] = 1,否則BnXn[i] [j] = 0 ; 設(shè)測(cè)試任務(wù)Ti的指令與測(cè)試任務(wù)L的指令對(duì)相同的參數(shù)進(jìn)行修改,根據(jù)下面 時(shí)間間隔不等式判斷Ti和L是否沖突:
若滿足不等式則Ti和L不沖突,否則,Ti和L有沖突;exe (X)表示任務(wù)X或者指令X的執(zhí)行時(shí)長(zhǎng);begin(X)表示任務(wù)X或者指令X的開始執(zhí)行時(shí)間;max(exe(Ti))是任務(wù)Ti中 各條指令之間的間隔時(shí)間都為最大值時(shí)任務(wù)Ti的總的執(zhí)行時(shí)間;max(exe(/〃.、) ),exc(/m_,,)) 是指令/m,4與指令的執(zhí)行時(shí)長(zhǎng)的較大值。
4. 根據(jù)權(quán)利要求3所述的一種面向航天器自動(dòng)化測(cè)試的并行測(cè)試任務(wù)兩階段調(diào)度方 法,其特征在于,所述的步驟3,讀取參數(shù)競(jìng)爭(zhēng)關(guān)系矩陣Bnxn,若矩陣中元素BnXn[i] [j] = 1, 則無向圖中測(cè)試任務(wù)Ti和L對(duì)應(yīng)的頂點(diǎn)之間有連邊。
5. 根據(jù)權(quán)利要求1所述的一種面向航天器自動(dòng)化測(cè)試的并行測(cè)試任務(wù)兩階段調(diào)度方 法,其特征在于,步驟4中所述的使用基于粒子群算法和模擬退火算法結(jié)合的方法迭代求 解圖中頂點(diǎn)順序最小著色問題,具體步驟如下: 步驟4. 1:確定編碼和適應(yīng)度函數(shù); 將圖中各頂點(diǎn)的著色數(shù)作為編碼,著色數(shù)的大小表示頂點(diǎn)著色的先后順序,也表示頂 點(diǎn)對(duì)應(yīng)的測(cè)試任務(wù)執(zhí)行的先后順序,著色數(shù)相同的測(cè)試任務(wù)表示并行執(zhí)行;著色數(shù)為正整 數(shù); _ η η 構(gòu)造適應(yīng)度函數(shù)乂 =Σ排w)十ΣΣ魂,Λ>+ C1JcE ?-! j-i-i-1 其中,AC為懲罰系數(shù);E表示無向圖中的邊集合,表示頂點(diǎn)Vi和'之間的連邊;設(shè)某 個(gè)解中使用了b種顏色著色;若相鄰頂點(diǎn)Vi和'著色數(shù)相同,表示為q(i,j)=1,Σ 丄 J e, h 表示解中違反著色約束的次數(shù);若Ti >Ir但解中Ti對(duì)應(yīng)頂點(diǎn)Vi的著色數(shù)比L對(duì)應(yīng)頂點(diǎn) n ? Vj的著色數(shù)大,表示為g(i,j) = 1,則ΣΣ《(υ)表示解中違反時(shí)序約束的次數(shù);所計(jì)算 j-Ij-jil 的適應(yīng)度值越小表示解越優(yōu); 步驟4. 2 :設(shè)置參數(shù),包括:迭代次數(shù)MI,種群規(guī)模MP,粒子群算法中的慣性權(quán)重ω、學(xué) 習(xí)因子C1和C2、懲罰系數(shù)AC,模擬退火算法的降火初溫%以及降溫系數(shù)μ; 步驟4. 3:產(chǎn)生初始種群,進(jìn)化代數(shù)記為1;初始種群生成方法是: (a) 從未著色頂點(diǎn)集中隨機(jī)選擇一個(gè)頂點(diǎn),著一個(gè)顏色,然后再對(duì)與該頂點(diǎn)不鄰接的各 個(gè)頂點(diǎn)著相同的顏色; (b) 重復(fù)(a)直到所有的頂點(diǎn)被染色; (c) 重復(fù)(a)和(b)MP次,生成規(guī)模為MP的初始種群;每個(gè)粒子有η維,對(duì)應(yīng)η個(gè)頂點(diǎn); 步驟4. 4:計(jì)算每個(gè)粒子的適應(yīng)度值,得到局部最優(yōu)位置和全局最優(yōu)位置;設(shè)gBest(r) 表示第r次迭代中的全局最優(yōu)位置,PBesta(r)表示第r次迭代中第a個(gè)粒子的局部最優(yōu)位 置; 步驟4. 5:更新粒子的位置和速度; 獲得第r+Ι次迭代中第a個(gè)粒子在第i維的速度Vai (r+Ι)為: vai (r+Ι) =ωVai (r)+qrandi(pBestai (r) -xai (r)) +c2rand2(gBesti(r) -xai (r)) 獲得第r+1次迭代中第a個(gè)粒子在第i維的位置xai (r+1)為: Xai (r+1) =xai(r)+vai(r+l) 其中,Vai (r)和XaiCr)分別表示在第r次迭代中第a個(gè)粒子在第i維的速度和位 置,Tand1和rand2是兩個(gè)隨機(jī)值;gBestiCr)表示第r次迭代中全局最優(yōu)位置的第i維, PBestai (r)為第r次迭代中第a個(gè)粒子的局部最優(yōu)位置的第i維; 步驟4.6 :比較粒子新舊位置適應(yīng)度值的變化,設(shè)某個(gè)粒子的新舊兩個(gè)位置的適應(yīng)度 值的變化量為▽f,計(jì)算概率pc = min(l, exp(_▽f/ εr)),εr+1=μ ε r,ε丨=μ ε。;若 pc彡random(0,I),則接受新的位置,否則拒絕新的位置,保持原來位置不變; 步驟4. 7 :判斷是否達(dá)到最大進(jìn)化代數(shù)或全局最優(yōu)解連續(xù)M代未變化,如果是,執(zhí)行步 驟4. 9,如果不是,則執(zhí)行步驟4. 8 ; 步驟4. 8 :進(jìn)化代數(shù)+1,進(jìn)入步驟4. 4開始下一次迭代; 步驟4. 9 :迭代結(jié)束,輸出全局最優(yōu)解,所得到的全局最優(yōu)解就是并行度最大的測(cè)試任 務(wù)組。
6. 根據(jù)權(quán)利要求5所述的一種面向航天器自動(dòng)化測(cè)試的并行測(cè)試任務(wù)兩階段調(diào)度方 法,其特征在于,所述的步驟4. 5中,對(duì)更新得到的粒子的速度值進(jìn)行四舍五入取整并且限 定在[l,n-l]的范圍內(nèi);對(duì)更新得到的粒子的位置,若該粒子的位置飛出搜索空間范圍,則 采用吸收策略或反射策略重新設(shè)置粒子的位置; 吸收策略:當(dāng)粒子的位置超出某一邊界時(shí),粒子被吸收到相應(yīng)的邊界上,表示如下: 丨'm? -其中,xai,(r)為重新設(shè)置的位置; 反射策略:當(dāng)粒子的位置超出某一邊界時(shí),粒子被反射到相應(yīng)的邊界內(nèi),表示如下: [2(n-I)-χ?ξ?(Γ%χα? (r)>I
7. 根據(jù)權(quán)利要求2所述的一種面向航天器自動(dòng)化測(cè)試的并行測(cè)試任務(wù)兩階段調(diào)度方 法,其特征在于,步驟5中所述的測(cè)試任務(wù)在測(cè)試設(shè)備上的最優(yōu)調(diào)度問題表示如下: 目標(biāo)函數(shù)F=min(time),其中">wt,=max:'H(bcgiii(7;) +cxc(7;)h 約束條件: 1如果測(cè)試任務(wù)Ti的指令imf和測(cè)試任務(wù)L的指令修改了相同的航天器狀態(tài)參數(shù),貝ij |begin(i>?.vf)-begin(/m·》|> max( ),)): 2 e[l,ic(i)],begin(/mf+i)-bcgiii(?isf) <mxspankt *, 3/^ e [0,/<>?·>],({im*Ii =1,2,."n,k =I, = 1} |<dnum-、% 其中,exe(X)表示任務(wù)x或者指令x的執(zhí)行時(shí)長(zhǎng),begin(X)表示任務(wù)x或者指令x的 開始執(zhí)行時(shí)間,TaskDevi表示第i個(gè)測(cè)試任務(wù)執(zhí)行所需要的測(cè)試設(shè)備類型,表示 測(cè)試設(shè)備類型TaskDevi下的測(cè)試設(shè)備個(gè)數(shù),gc(//,i#wf) =l表示指令/?sf在時(shí)刻μ時(shí)正在執(zhí) 行。
8. 根據(jù)權(quán)利要求2或7所述的一種面向航天器自動(dòng)化測(cè)試的并行測(cè)試任務(wù)兩階段調(diào)度 方法,其特征在于,所述的步驟6具體包括如下步驟: 步驟6. 1 :確定NSGA-II算法的編碼,設(shè)置NSGA-II算法的參數(shù); 將周期內(nèi)所有指令按照所屬測(cè)試任務(wù)進(jìn)行從小到大的編號(hào),第i個(gè)測(cè)試任務(wù)Ti的第k個(gè)指令的編號(hào)為+Α,并定義一個(gè)編號(hào)到指令互相映射的函數(shù)f;編碼定義為每 應(yīng)iv-l 個(gè)測(cè)試設(shè)備上執(zhí)行的指令編號(hào)的矩陣DispatchhxS其中,h為所有測(cè)試設(shè)備類型下的測(cè)試 設(shè)備總個(gè)數(shù),L為編碼代表的調(diào)度方式各測(cè)試設(shè)備上執(zhí)行的指令的最大條數(shù); 定義解碼規(guī)則如下: 1) 對(duì)于矩陣Dispatchhxi中第一列中的各指令,開始執(zhí)行時(shí)間為O; 2) 對(duì)于矩陣中第二列及以后的各指令,設(shè)/(£%?#%][/】)二/<,如k= 1,則指令 ftwf的開始執(zhí)行時(shí)間為第c臺(tái)設(shè)備上一條執(zhí)行指令的結(jié)束時(shí)間;如k>l,則指令I(lǐng)aff的開始 執(zhí)行時(shí)間為第c臺(tái)設(shè)備上一條指令的結(jié)束時(shí)間和測(cè)試任務(wù)Ti中指令&if?的結(jié)束時(shí)間中較 大的值; 設(shè)置的NSGA-II算法參數(shù)包括:種群大小Ν、遺傳代數(shù)Rmax和變異概率; 步驟6. 2 :進(jìn)化代數(shù)R= 1,隨機(jī)生成大小為N的初始種群X1,種群中每個(gè)個(gè)體通過如下 方式生成: (1) 設(shè) 1 = 1 ; (2) 隨機(jī)選擇集合UE中的一個(gè)指令/?<,再隨機(jī)選擇相應(yīng)測(cè)試設(shè)備類型下的一個(gè)設(shè)備, 設(shè)所選擇的是第c臺(tái)設(shè)備,令= );集合UE是各測(cè)試任務(wù)中當(dāng)前還未執(zhí) 行的編號(hào)最小的指令集合,初始促=講》·,11i=丨,...,縛; ⑶更新UE,把/?<從UE中刪除,將imf1放入U(xiǎn)E中; (4)如Dispatch矩陣中第1列每一行都已經(jīng)有元素,1 = 1+1,然后轉(zhuǎn)(2)執(zhí)行;如果UE已經(jīng)為空,結(jié)束; 步驟6. 3 :對(duì)當(dāng)前種群Xk進(jìn)行快速非支配排序生成非支配集Z,設(shè)將當(dāng)前種群分為W個(gè) 集合,Z= (Z1,Z2,…,Zw},W為正整數(shù),Zw表示非支配集Z中的第w個(gè)集合,w= 1,2,…,W; 步驟6. 4 :生成大小為N的父代種群Υκ+1,具體是:將Z中集合按照等級(jí)高低依次加入Υκ+1中,對(duì)于同一個(gè)集合Zw中的個(gè)體,將擁擠度高的個(gè)體加入種群Υκ+1 ; 步驟6. 5 :對(duì)當(dāng)前種群Xk進(jìn)行交叉和變異操作,生成新的子代種群QK+1 ; 交叉算子:首次,交換兩個(gè)個(gè)體相同行號(hào)的元素;其次,對(duì)交換元素后的個(gè)體,將個(gè)體 中與交換后的行中元素相同的元素刪除;然后,對(duì)每個(gè)個(gè)體,生成UE集合,根據(jù)步驟6. 2中 生成個(gè)體的方法將指令隨機(jī)放到測(cè)試設(shè)備上;最后,調(diào)整同一測(cè)試設(shè)備上的指令,使得同一 測(cè)試任務(wù)的指令執(zhí)行順序正確; 變異算子:交換一個(gè)個(gè)體同一行的兩個(gè)元素,并調(diào)整同一行上的指令,使得同一測(cè)試任 務(wù)的指令執(zhí)行順序正確; 步驟6. 6 :將生成的父代種群Υκ+1與生成的子代種群QK+1合并形成大小為2N的新種群 Xr+1 ; 步驟6. 7 :更新迭代次數(shù),R=R+1,判斷當(dāng)前R是否大于規(guī)定的最大值Rmax,如果不是, 轉(zhuǎn)入步驟6. 3,否則,執(zhí)行步驟6. 8 ; 步驟6. 8 :迭代結(jié)束,輸出當(dāng)前種群中的最優(yōu)個(gè)體。
【文檔編號(hào)】G06F9/38GK104239213SQ201410513604
【公開日】2014年12月24日 申請(qǐng)日期:2014年9月29日 優(yōu)先權(quán)日:2014年9月29日
【發(fā)明者】蔣亞若, 呂江花, 高世偉, 馬世龍 申請(qǐng)人:北京航空航天大學(xué)