專(zhuān)利名稱(chēng):一種高速列車(chē)運(yùn)行控制系統(tǒng)功能的動(dòng)態(tài)測(cè)試方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種高速列車(chē)運(yùn)行控制系統(tǒng)功能的動(dòng)態(tài)測(cè)試方法,屬于高速列車(chē)運(yùn)行 控制系統(tǒng)技術(shù)領(lǐng)域。
背景技術(shù):
高速列車(chē)運(yùn)行控制系統(tǒng)功能測(cè)試主要目的是驗(yàn)證被測(cè)高速列車(chē)運(yùn)行控制系統(tǒng)是 否符合系統(tǒng)功能規(guī)范。傳統(tǒng)的高速列車(chē)運(yùn)行控制系統(tǒng)功能測(cè)試以靜態(tài)測(cè)試方法為主,在測(cè) 試時(shí)遇到了測(cè)試覆蓋率低、測(cè)試結(jié)果準(zhǔn)確率低等問(wèn)題,針對(duì)靜態(tài)測(cè)試方法的問(wèn)題,一些學(xué)者 在協(xié)議一致性測(cè)試領(lǐng)域中率先提出了動(dòng)態(tài)測(cè)試方法,動(dòng)態(tài)測(cè)試方法通過(guò)測(cè)試執(zhí)行之前生成 一個(gè)更大規(guī)模的待選測(cè)試序列集,在測(cè)試執(zhí)行的時(shí)候根據(jù)已執(zhí)行的測(cè)試序列和測(cè)試結(jié)果動(dòng) 態(tài)地選擇下一個(gè)要執(zhí)行的測(cè)試序列,以提高測(cè)試的覆蓋率和測(cè)試結(jié)果的準(zhǔn)確率。在測(cè)試執(zhí) 行過(guò)程中,測(cè)試序列的選取不僅和已經(jīng)執(zhí)行的測(cè)試序列相關(guān),還和已檢測(cè)到的缺陷相關(guān)?,F(xiàn) 有的動(dòng)態(tài)測(cè)試方法主要存在測(cè)試序列生成開(kāi)銷(xiāo)大,測(cè)試序列執(zhí)行開(kāi)銷(xiāo)大等問(wèn)題。
發(fā)明內(nèi)容
本發(fā)明的目的是提出一種高速列車(chē)運(yùn)行控制系統(tǒng)功能的動(dòng)態(tài)測(cè)試方法,通過(guò)基于 參數(shù)化自動(dòng)機(jī)模型建立高速列車(chē)運(yùn)行控制系統(tǒng)的動(dòng)態(tài)測(cè)試模型,在執(zhí)行測(cè)試過(guò)程中動(dòng)態(tài)生 成測(cè)試序列,并執(zhí)行測(cè)試,提高測(cè)試覆蓋率,并使測(cè)試結(jié)果更準(zhǔn)確,而且測(cè)試序列生成和執(zhí) 行的開(kāi)銷(xiāo)小,便于實(shí)現(xiàn)。本發(fā)明提出的高速列車(chē)運(yùn)行控制系統(tǒng)功能的動(dòng)態(tài)測(cè)試方法,包括以下步驟(1)建立一個(gè)高速列車(chē)運(yùn)行控制系統(tǒng)功能的測(cè)試模型Ap = (Μ, W,B),其中,M為根據(jù)高速列車(chē)運(yùn)行控制系統(tǒng)的功能規(guī)范構(gòu)造的有限狀態(tài)自動(dòng)機(jī),W是有限狀態(tài)自動(dòng)機(jī)M的狀態(tài)轉(zhuǎn)移權(quán)重向量,用于表示動(dòng)態(tài)測(cè)試過(guò)程中狀態(tài)轉(zhuǎn)移 的執(zhí)行代價(jià),W= [Wl,-,Wi,…,wn],其中,η是狀態(tài)轉(zhuǎn)移個(gè)數(shù),Wi表示狀態(tài)轉(zhuǎn)移、的執(zhí)行 代價(jià),定義正常狀態(tài)轉(zhuǎn)移的執(zhí)行代價(jià)為1,錯(cuò)誤狀態(tài)轉(zhuǎn)移的執(zhí)行代價(jià)為⑴,有限狀態(tài)自動(dòng) 機(jī)M的初始權(quán)重向量為W = [1,…,1,…,1],B是有限狀態(tài)自動(dòng)機(jī)M的狀態(tài)轉(zhuǎn)移標(biāo)識(shí)向量,B = p[b1;…,bj,…,bn],bj為{-1, 0,1}中的一個(gè)值,定義h = 0,表示狀態(tài)轉(zhuǎn)移、已經(jīng)被測(cè)試過(guò),且可根據(jù)測(cè)試結(jié)果判斷狀態(tài) 轉(zhuǎn)移tj的正確性,bj = -1,表示狀態(tài)轉(zhuǎn)移tj已經(jīng)被測(cè)試過(guò),且不可根據(jù)測(cè)試結(jié)果判斷狀態(tài) 轉(zhuǎn)移、的正確性,bj = 1表示狀態(tài)轉(zhuǎn)移、未被測(cè)試過(guò),有限狀態(tài)自動(dòng)機(jī)M的初始標(biāo)識(shí)向量 為 B = [1,-,1, -,1];(2)將上述根據(jù)高速列車(chē)運(yùn)行控制系統(tǒng)的功能規(guī)范構(gòu)造的有限狀態(tài)自動(dòng)機(jī)M作為 高速列車(chē)運(yùn)行控制系統(tǒng)功能動(dòng)態(tài)測(cè)試的參考模型;(3)根據(jù)上述測(cè)試模型,對(duì)高速列車(chē)運(yùn)行控制系統(tǒng)的功能進(jìn)行動(dòng)態(tài)測(cè)試,包括以下 步驟(3-1)根據(jù)有限狀態(tài)自動(dòng)機(jī)M中狀態(tài)轉(zhuǎn)移引導(dǎo)序列的長(zhǎng)度,對(duì)所有狀態(tài)轉(zhuǎn)移由短到長(zhǎng)依次進(jìn)行編號(hào),得到t1;t2,…tn;(3-2)從對(duì)高速列車(chē)運(yùn)行控制系統(tǒng)的功能進(jìn)行動(dòng)態(tài)測(cè)試開(kāi)始至測(cè)試結(jié)束,依次進(jìn) 行(3-2-1)在測(cè)試過(guò)程的時(shí)刻k生成一個(gè)測(cè)試序列= tspre ;tk ;kp。st,其中tk為 被測(cè)狀態(tài)轉(zhuǎn)移,tspre為被測(cè)狀態(tài)轉(zhuǎn)移tk的引導(dǎo)序列,t 。st為被測(cè)狀態(tài)轉(zhuǎn)移tk的尾狀態(tài)驗(yàn) 證序列,(3-2-2)根據(jù)上述測(cè)試序列,分別向上述參考模型和被測(cè)高速列車(chē)運(yùn)行控制系統(tǒng) 輸入與功能測(cè)試相關(guān)的信號(hào),分別得到參考模型的測(cè)試輸出O1,…,O1,…,Om和被測(cè)高速 列車(chē)運(yùn)行控制系統(tǒng)的測(cè)試輸出<5,,···,^···,、;(3-2-3)將上述參考模型的測(cè)試輸出0l,o2,-,Offl與被測(cè)高速列車(chē)運(yùn)行控制系統(tǒng) 的測(cè)試輸出 ρ…,<5,,···,、進(jìn)行比較若參考模型的測(cè)試輸出與被測(cè)高速列車(chē)運(yùn)行控制系統(tǒng)的測(cè)試輸出相同,則判斷被 測(cè)狀態(tài)轉(zhuǎn)移為正確;若參考模型的測(cè)試輸出與被測(cè)高速列車(chē)運(yùn)行控制系統(tǒng)的測(cè)試輸出不相同,則對(duì)測(cè) 試序列進(jìn)行錯(cuò)誤定位,得到被測(cè)狀態(tài)轉(zhuǎn)移的判斷結(jié)果;(3-2-4)根據(jù)上述判斷結(jié)果,若被測(cè)狀態(tài)轉(zhuǎn)移為正確,則被測(cè)狀態(tài)轉(zhuǎn)移的權(quán)重值不 變,并將被測(cè)狀態(tài)轉(zhuǎn)移的標(biāo)識(shí)值賦值為bk = 0,若被測(cè)狀態(tài)轉(zhuǎn)移為錯(cuò)誤,則將被測(cè)狀態(tài)轉(zhuǎn)移 的權(quán)重值賦值為無(wú)窮大Wk =⑴,并將被測(cè)狀態(tài)轉(zhuǎn)移的標(biāo)識(shí)值賦值為K = 0,若被測(cè)狀態(tài)轉(zhuǎn) 移為不可根據(jù)測(cè)試結(jié)果判斷狀態(tài)轉(zhuǎn)移的正確性,則被測(cè)狀態(tài)轉(zhuǎn)移的權(quán)重值不變,并將被測(cè) 狀態(tài)轉(zhuǎn)移的標(biāo)識(shí)值賦值為Κ =(3-2-5)若所有被測(cè)的狀態(tài)轉(zhuǎn)移標(biāo)識(shí)值均為0,或?qū)?biāo)識(shí)值不為O的被測(cè)的狀態(tài)轉(zhuǎn) 移已經(jīng)不存在可執(zhí)行測(cè)試序列,則停止動(dòng)態(tài)測(cè)試過(guò)程。上述方法中,若參考模型的測(cè)試輸出與被測(cè)高速列車(chē)運(yùn)行控制系統(tǒng)的測(cè)試輸出不 相同,則對(duì)測(cè)試序列進(jìn)行錯(cuò)誤定位,錯(cuò)誤定位方法包括以下步驟(1)定義參考模型的測(cè)試輸出與被測(cè)高速列車(chē)運(yùn)行控制系統(tǒng)的測(cè)試輸出不一致 的情況為一個(gè)癥狀,即…豐…,從一個(gè)測(cè)試序列tsk中識(shí)別出所有癥狀,得到一個(gè)癥狀集為Sk = Iska,…,skjg, -SkjJ ;(2)對(duì)上述癥狀集中的每個(gè)癥狀、,g -.0, Φ O1,確定相應(yīng)的沖突集為Ckjg= Ic1k, g,…,cuk, g,-,CpkjJ ;其中,cuk, g是一個(gè)沖突,沖突的定義為被測(cè)高速列車(chē)運(yùn)行控制系統(tǒng)的一個(gè)功能與 參考模型中相應(yīng)的狀態(tài)轉(zhuǎn)移不相符;(3)根據(jù)上述沖突集得到測(cè)試序列的初始診斷候選集IDS IDSk = Cka η ck,2 η …η ck,h根據(jù)沖突cuk, g中狀態(tài)轉(zhuǎn)移的歷史輸出,刪除上述初始診斷候選集IDS中與歷史輸 出不相符的診斷候選,并根據(jù)沖突Cik, g中狀態(tài)轉(zhuǎn)移的歷史尾狀態(tài),刪除上述初始診斷候選 集IDS中與歷史尾狀態(tài)不相符的診斷候選,得到最終診斷集FDS,若最終診斷集FDS中存在 一個(gè)診斷候選,則判斷該診斷候選中包含的狀態(tài)轉(zhuǎn)移為錯(cuò)誤,若最終診斷集FDS中存在多 個(gè)診斷候選,則不可根據(jù)測(cè)試結(jié)果判斷狀態(tài)轉(zhuǎn)移的正確性,采用產(chǎn)生癥狀的狀態(tài)轉(zhuǎn)移序列 tk,v, tk,v+1-,tk,v+J描述測(cè)試序列的錯(cuò)誤信息,定義產(chǎn)生癥狀的狀態(tài)轉(zhuǎn)移序列Fs% = tk,v, tk,V+1…,為錯(cuò)誤子序列;(4)若不可根據(jù)測(cè)試結(jié)果判斷狀態(tài)轉(zhuǎn)移的正確性,則將上述錯(cuò)誤子序列添加到錯(cuò) 誤子序列集合中FssSk = FssSlri u {FssJ。本發(fā)明提出的高速列車(chē)運(yùn)行控制系統(tǒng)功能的動(dòng)態(tài)測(cè)試方法,與現(xiàn)有的高速列車(chē)運(yùn) 行控制系統(tǒng)靜態(tài)測(cè)試方法和其他領(lǐng)域的動(dòng)態(tài)測(cè)試方法相比,具有以下優(yōu)點(diǎn)1、本發(fā)明的高速列車(chē)運(yùn)行控制系統(tǒng)功能的動(dòng)態(tài)測(cè)試方法,在執(zhí)行測(cè)試過(guò)程中為待 測(cè)試的狀態(tài)轉(zhuǎn)移動(dòng)態(tài)地生成測(cè)試序列。這種測(cè)試序列生成方式在增大測(cè)試序列可選范圍的 同時(shí),有效地克服了傳統(tǒng)動(dòng)態(tài)測(cè)試方法需要在測(cè)試開(kāi)始之前生成各個(gè)狀態(tài)轉(zhuǎn)移的所有可執(zhí) 行測(cè)試序列所造成的測(cè)試序列生成開(kāi)銷(xiāo)大的問(wèn)題。2、本發(fā)明的高速列車(chē)運(yùn)行控制系統(tǒng)功能的動(dòng)態(tài)測(cè)試方法中,錯(cuò)誤定位是一個(gè)增量 過(guò)程,在對(duì)一個(gè)狀態(tài)轉(zhuǎn)移進(jìn)行測(cè)試的時(shí)侯不需要對(duì)該待測(cè)轉(zhuǎn)移進(jìn)行窮舉測(cè)試,而是通過(guò)測(cè) 試序列執(zhí)行的過(guò)程不斷地更新錯(cuò)誤定位結(jié)果。每次錯(cuò)誤定位的信息用來(lái)更新高速列車(chē)運(yùn)行 控制系統(tǒng)動(dòng)態(tài)測(cè)試模型的參數(shù),以標(biāo)識(shí)每次執(zhí)行測(cè)試之后的測(cè)試結(jié)果信息。通過(guò)該方法進(jìn) 一步減小了測(cè)試結(jié)果誤判斷的可能,同時(shí)有效地減小了測(cè)試序列執(zhí)行開(kāi)銷(xiāo)。
圖1狀態(tài)轉(zhuǎn)移編號(hào)圖例說(shuō)明。圖2本發(fā)明方法提出的動(dòng)態(tài)測(cè)試方法的流程框圖。圖3車(chē)載設(shè)備模式轉(zhuǎn)換的有限狀態(tài)自動(dòng)機(jī)模型。
具體實(shí)施例方式本發(fā)明提出的高速列車(chē)運(yùn)行控制系統(tǒng)功能的動(dòng)態(tài)測(cè)試方法,其流程框圖如圖2所 示,包括以下步驟(1)建立一個(gè)高速列車(chē)運(yùn)行控制系統(tǒng)功能的測(cè)試模型Ap = (Μ, W,B),其中,M為根據(jù)高速列車(chē)運(yùn)行控制系統(tǒng)的功能規(guī)范構(gòu)造的有限狀態(tài)自動(dòng)機(jī),W是有限狀態(tài)自動(dòng)機(jī)M的狀態(tài)轉(zhuǎn)移權(quán)重向量,用于表示動(dòng)態(tài)測(cè)試過(guò)程中狀態(tài)轉(zhuǎn)移 的執(zhí)行代價(jià),W= [Wl,-,Wi,…,wn],其中,η是狀態(tài)轉(zhuǎn)移個(gè)數(shù),Wi表示狀態(tài)轉(zhuǎn)移、的執(zhí)行 代價(jià),定義正常狀態(tài)轉(zhuǎn)移的執(zhí)行代價(jià)為1,錯(cuò)誤狀態(tài)轉(zhuǎn)移的執(zhí)行代價(jià)為⑴,有限狀態(tài)自動(dòng) 機(jī)M的初始權(quán)重向量為W= [1,…,1,…,1],B是有限狀態(tài)自動(dòng)機(jī)M的狀態(tài)轉(zhuǎn)移標(biāo)識(shí)向量,B = [b1; -,bj,…,bn],bj為{-1, 0,1}中的一個(gè)值,定義h = 0,表示狀態(tài)轉(zhuǎn)移、已經(jīng)被測(cè)試過(guò),且可根據(jù)測(cè)試結(jié)果判斷狀態(tài) 轉(zhuǎn)移tj的正確性,bj = -1,表示狀態(tài)轉(zhuǎn)移tj已經(jīng)被測(cè)試過(guò),且不可根據(jù)測(cè)試結(jié)果判斷狀態(tài) 轉(zhuǎn)移、的正確性,bj = 1表示狀態(tài)轉(zhuǎn)移、未被測(cè)試過(guò),有限狀態(tài)自動(dòng)機(jī)M的初始標(biāo)識(shí)向量 為 B = [1,-,1, -,1];(2)將上述根據(jù)高速列車(chē)運(yùn)行控制系統(tǒng)的功能規(guī)范構(gòu)造的有限狀態(tài)自動(dòng)機(jī)M作為 高速列車(chē)運(yùn)行控制系統(tǒng)功能動(dòng)態(tài)測(cè)試的參考模型;(3)根據(jù)上述測(cè)試模型,對(duì)高速列車(chē)運(yùn)行控制系統(tǒng)的功能進(jìn)行動(dòng)態(tài)測(cè)試,包括以下 步驟
(3-1)根據(jù)有限狀態(tài)自動(dòng)機(jī)M中狀態(tài)轉(zhuǎn)移引導(dǎo)序列的長(zhǎng)度,對(duì)所有狀態(tài)轉(zhuǎn)移由短 到長(zhǎng)依次進(jìn)行編號(hào),得到t1;t2,,有限狀態(tài)機(jī)的狀態(tài)轉(zhuǎn)移過(guò)程如圖1所示,當(dāng)多個(gè)狀態(tài) 轉(zhuǎn)移的引導(dǎo)序列長(zhǎng)度相同時(shí),編號(hào)順序任意,狀態(tài)轉(zhuǎn)移(2,4)和狀態(tài)轉(zhuǎn)移(3,5)的引導(dǎo)序列 長(zhǎng)度相同,因此編號(hào)為、的狀態(tài)轉(zhuǎn)移既可以是(2,4)也可以是(3,5);(3-2)從對(duì)高速列車(chē)運(yùn)行控制系統(tǒng)的功能進(jìn)行動(dòng)態(tài)測(cè)試開(kāi)始至測(cè)試結(jié)束,依次進(jìn) 行(3-2-1)在測(cè)試過(guò)程的時(shí)刻k生成一個(gè)測(cè)試序列= tspre ;tk ;kp。st,其中tk為 被測(cè)狀態(tài)轉(zhuǎn)移,tspre為被測(cè)狀態(tài)轉(zhuǎn)移tk的引導(dǎo)序列,t 。st為被測(cè)狀態(tài)轉(zhuǎn)移tk的尾狀態(tài)驗(yàn) 證序列,(3-2-2)根據(jù)上述測(cè)試序列,分別向上述參考模型和被測(cè)高速列車(chē)運(yùn)行控制系統(tǒng) 輸入與功能測(cè)試相關(guān)的信號(hào),分別得到參考模型的測(cè)試輸出O1,…,O1,…,Om和被測(cè)高速 列車(chē)運(yùn)行控制系統(tǒng)的測(cè)試輸出<5,,···,成,···,、;(3-2-3)將上述參考模型的測(cè)試輸出0l,o2,…,Om與被測(cè)高速列車(chē)運(yùn)行控制系統(tǒng) 的測(cè)試輸出<5,,…,V··人進(jìn)行比較若參考模型的測(cè)試輸出與被測(cè)高速列車(chē)運(yùn)行控制系統(tǒng)的測(cè)試輸出相同,則判斷被 測(cè)狀態(tài)轉(zhuǎn)移為正確;若參考模型的測(cè)試輸出與被測(cè)高速列車(chē)運(yùn)行控制系統(tǒng)的測(cè)試輸出不相同,則對(duì)測(cè) 試序列tsk進(jìn)行錯(cuò)誤定位,得到被測(cè)狀態(tài)轉(zhuǎn)移的判斷結(jié)果;(3-2-4)根據(jù)上述判斷結(jié)果,若被測(cè)狀態(tài)轉(zhuǎn)移為正確,則被測(cè)狀態(tài)轉(zhuǎn)移的權(quán)重值不 變,并將被測(cè)狀態(tài)轉(zhuǎn)移的標(biāo)識(shí)值賦值為bk = 0,若被測(cè)狀態(tài)轉(zhuǎn)移為錯(cuò)誤,則將被測(cè)狀態(tài)轉(zhuǎn)移 的權(quán)重值賦值為無(wú)窮大Wk =⑴,并將被測(cè)狀態(tài)轉(zhuǎn)移的標(biāo)識(shí)值賦值為K = 0,若被測(cè)狀態(tài)轉(zhuǎn) 移為不可根據(jù)測(cè)試結(jié)果判斷狀態(tài)轉(zhuǎn)移的正確性,則被測(cè)狀態(tài)轉(zhuǎn)移的權(quán)重值不變,并將被測(cè) 狀態(tài)轉(zhuǎn)移的標(biāo)識(shí)值賦值為Κ =(3-2-5)若所有被測(cè)的狀態(tài)轉(zhuǎn)移標(biāo)識(shí)值均為0,或?qū)?biāo)識(shí)值不為O的被測(cè)的狀態(tài)轉(zhuǎn) 移已經(jīng)不存在可執(zhí)行測(cè)試序列,則停止動(dòng)態(tài)測(cè)試過(guò)程。本發(fā)明用來(lái)描述高速列車(chē)運(yùn)行控制系統(tǒng)功能規(guī)范的有限狀態(tài)自動(dòng)機(jī)有如下的定 義和形式一個(gè)典型的有限狀態(tài)自動(dòng)機(jī)定義為一個(gè)6元組M = (Q,q。,Qm,Σ,Λ,δ,λ )其中Q為有限狀態(tài)自動(dòng)機(jī)的狀態(tài)集合;Σ為有限狀態(tài)自動(dòng)機(jī)的輸入字符集合,其中一個(gè)字符代表被建模系統(tǒng)一個(gè)輸入事 件;A為有限狀態(tài)自動(dòng)機(jī)的輸出字符集合,其中一個(gè)字符代表被建模系統(tǒng)一個(gè)輸出事 件;q0為有限狀態(tài)自動(dòng)機(jī)的初始狀態(tài);δ為有限狀態(tài)自動(dòng)機(jī)的狀態(tài)轉(zhuǎn)移函數(shù)δ :QX Σ — Q ;λ為有限狀態(tài)自動(dòng)機(jī)的輸出函數(shù)λ :QX Σ — Λ。Qffl為有限狀態(tài)自動(dòng)機(jī)的標(biāo)識(shí)狀態(tài)集合,用來(lái)標(biāo)識(shí)某個(gè)事件發(fā)生或者某個(gè)事件序列發(fā)生?;谟邢逘顟B(tài)自動(dòng)機(jī)模型對(duì)高速列車(chē)運(yùn)行控制系統(tǒng)進(jìn)行功能測(cè)試有如下假設(shè)假設(shè)1 對(duì)于有限狀態(tài)自動(dòng)機(jī)沒(méi)有輸出的狀態(tài)轉(zhuǎn)移認(rèn)為輸出為空,即輸出是空事 件ε。假設(shè)2 令、=I1A^ t2 12/02是順序發(fā)生的兩個(gè)狀態(tài)轉(zhuǎn)移,I1, I2是狀態(tài)轉(zhuǎn)移的輸 入事件,O1,02是狀態(tài)轉(zhuǎn)移的輸出事件。四個(gè)事件之間有如下的時(shí)間上的偏序關(guān)系為I1CO1 < I2 < O2,其中操作符“<”表示事件發(fā)生的時(shí)間先后順序,操作符左邊的事件先于右邊的 事件發(fā)生。假設(shè)3 設(shè)對(duì)應(yīng)于被測(cè)高速列車(chē)運(yùn)行控制系統(tǒng)功能規(guī)范的有限狀態(tài)自動(dòng)機(jī)模型是 M,高速列車(chē)運(yùn)行控制系統(tǒng)對(duì)應(yīng)的有限狀態(tài)自動(dòng)機(jī)模型是M',基于有限狀態(tài)自動(dòng)機(jī)模型生 成測(cè)試序列的假設(shè)包括以下7個(gè)子假設(shè)(3. 1)有限狀態(tài)自動(dòng)機(jī)M是全連通的,即M的狀態(tài)轉(zhuǎn)移圖是全連通的;(3. 2)有限狀態(tài)自動(dòng)機(jī)M是最簡(jiǎn)有限狀態(tài)自動(dòng)機(jī);(3. 3)有限狀態(tài)自動(dòng)機(jī)M'在測(cè)試過(guò)程中不會(huì)發(fā)生改變;(3.4)有限狀態(tài)自動(dòng)機(jī)M'的輸入字符集與有限狀態(tài)自動(dòng)機(jī)M的輸入字符集相 同;(3. 5)有限狀態(tài)自動(dòng)機(jī)M'的狀態(tài)數(shù)不會(huì)超過(guò)有限狀態(tài)自動(dòng)機(jī)M的狀態(tài)數(shù);(3. 6)對(duì)于每個(gè)輸入字符,如果被測(cè)系統(tǒng)產(chǎn)生輸出,那么該輸出在給定的時(shí)間內(nèi)產(chǎn) 生;(3. 7)測(cè)試輸入信號(hào)是在被測(cè)系統(tǒng)的穩(wěn)定狀態(tài)施加的。上述方法中,若參考模型的測(cè)試輸出與被測(cè)高速列車(chē)運(yùn)行控制系統(tǒng)的測(cè)試輸出不 相同,則對(duì)測(cè)試序列進(jìn)行錯(cuò)誤定位,錯(cuò)誤定位方法包括以下步驟(2-1)定義參考模型的測(cè)試輸出與被測(cè)高速列車(chē)運(yùn)行控制系統(tǒng)的測(cè)試輸出不一 致的情況為一個(gè)癥狀,即O/ ^O1,從一個(gè)測(cè)試序列tsk中識(shí)別出所有癥狀,得到一個(gè)癥狀集 為Sk = Iska,…,skjg, ...sk, J ;(2-2)對(duì)上述癥狀集中的每個(gè)癥狀、,g -.O1 ^d1,確定相應(yīng)的沖突集為Ckjg= Ic1k, g,…,cuk, g,-,CpkjJ ;其中,cuk, g是一個(gè)沖突,沖突的定義為被測(cè)高速列車(chē)運(yùn)行控制系統(tǒng)的一個(gè)功能與 參考模型中相應(yīng)的狀態(tài)轉(zhuǎn)移不相符;(2-3)根據(jù)上述沖突集得到測(cè)試序列的初始診斷候選集IDS IDSk = Cka η ck,2 η …η ck,h根據(jù)沖突cuk, g中狀態(tài)轉(zhuǎn)移的歷史輸出,刪除上述初始診斷候選集IDS中與歷史輸 出不相符的診斷候選,并根據(jù)沖突Cik, j中狀態(tài)轉(zhuǎn)移的歷史尾狀態(tài),刪除上述初始診斷候選 集IDS中與歷史尾狀態(tài)不相符的診斷候選,得到最終診斷集FDS,若最終診斷集FDS中存在 一個(gè)診斷候選,則判斷該診斷候選中包含的狀態(tài)轉(zhuǎn)移為錯(cuò)誤,若最終診斷集FDS中存在多 個(gè)診斷候選,則不可根據(jù)測(cè)試結(jié)果判斷狀態(tài)轉(zhuǎn)移的正確性,采用產(chǎn)生癥狀的狀態(tài)轉(zhuǎn)移序列 tk,v, tk,v+1-,tk,v+J描述測(cè)試序列的錯(cuò)誤信息,定義產(chǎn)生癥狀的狀態(tài)轉(zhuǎn)移序列Fs% = tk,v, tk, V+1…,為錯(cuò)誤子序列;
(2-4)若不可根據(jù)測(cè)試結(jié)果判斷狀態(tài)轉(zhuǎn)移的正確性,則將上述錯(cuò)誤子序列添加到 錯(cuò)誤子序列集合中FssSk = FssSlri u {FssJ。為了更好地說(shuō)明錯(cuò)誤定位方法中最短錯(cuò)誤子序列獲取過(guò)程,以下介紹錯(cuò)誤子序列 化簡(jiǎn)的相關(guān)結(jié)果對(duì)于錯(cuò)誤子序列,有如下2個(gè)錯(cuò)誤子序列化簡(jiǎn)規(guī)則規(guī)則ι 令τ是一個(gè)錯(cuò)誤子序列,且|τ| > ι(|τ代表錯(cuò)誤子序列的長(zhǎng)度,即其包 含的轉(zhuǎn)移的數(shù)目)。如果τ =、·τ',且ti是一個(gè)正確實(shí)現(xiàn)的狀態(tài)轉(zhuǎn)移,則T'是比T短 的錯(cuò)誤子序列,且它們有相同的錯(cuò)誤實(shí)現(xiàn)。規(guī)則2 令T是一個(gè)錯(cuò)誤子序列,且I T I > 1。如果T = T' ·、,且、是一個(gè)正確 的實(shí)現(xiàn)的狀態(tài)轉(zhuǎn)移,則T'是比T短的錯(cuò)誤子序列,且它們有相同的錯(cuò)誤。本發(fā)明中的最短錯(cuò)誤子序列獲取步驟如下(1)若執(zhí)行測(cè)試序列并產(chǎn)生癥狀^oKl,-,okJ+m^ok.+J,其中 #<5,,,是第一個(gè)
癥狀,且在執(zhí)行狀態(tài)轉(zhuǎn)移tu時(shí)觀測(cè)到該癥狀,則tu,tk,2,…,tu —定含有錯(cuò)誤的狀態(tài)轉(zhuǎn) 移,把tk.ptu,…,、^作為初始的錯(cuò)誤子序列;(2)使用錯(cuò)誤子序列簡(jiǎn)化規(guī)則基于歷史測(cè)試數(shù)據(jù)化簡(jiǎn)上述錯(cuò)誤子序列,當(dāng)錯(cuò)誤子 序列的頭狀態(tài)轉(zhuǎn)移和尾狀態(tài)轉(zhuǎn)移都無(wú)法判定是否為正確的狀態(tài)轉(zhuǎn)移時(shí),該子序列即為最短 的錯(cuò)誤子序列。以下是本發(fā)明方法的一個(gè)實(shí)施例本實(shí)施例通過(guò)高速列車(chē)運(yùn)行控制系統(tǒng)車(chē)載設(shè)備 模式轉(zhuǎn)換測(cè)試說(shuō)明本發(fā)明所述方法的優(yōu)越性。本實(shí)施例對(duì)比了發(fā)明所述高速列車(chē)運(yùn)行控制 系統(tǒng)車(chē)載設(shè)備功能的動(dòng)態(tài)測(cè)試方法和傳統(tǒng)靜態(tài)測(cè)試方法以及傳統(tǒng)動(dòng)態(tài)測(cè)試方法的測(cè)試性 能。結(jié)合附圖對(duì)車(chē)載設(shè)備模式轉(zhuǎn)換動(dòng)態(tài)測(cè)試過(guò)程說(shuō)明如下1.建立一個(gè)高速列車(chē)運(yùn)行控制系統(tǒng)車(chē)載設(shè)備功能的動(dòng)態(tài)測(cè)試模型,Ap = (Μ, W, B), 其中有限狀態(tài)自動(dòng)機(jī)模型M如附圖3所示,M的狀態(tài)以及輸入輸出事件說(shuō)明如表1、表2和 表3所示;ΑΡ的初始狀態(tài)轉(zhuǎn)移權(quán)重向量為W= [1,1,…,1],初始狀態(tài)轉(zhuǎn)移標(biāo)識(shí)向量為B = [1,1,…,1]。表1狀態(tài)表
權(quán)利要求
1. 一種高速列車(chē)運(yùn)行控制系統(tǒng)功能的動(dòng)態(tài)測(cè)試方法,其特征在于該方法包括以下步驟(1)建立一個(gè)高速列車(chē)運(yùn)行控制系統(tǒng)功能的測(cè)試模型AP= (Μ, W,B),其中, M為根據(jù)高速列車(chē)運(yùn)行控制系統(tǒng)的功能規(guī)范構(gòu)造的有限狀態(tài)自動(dòng)機(jī),W是有限狀態(tài)自動(dòng)機(jī)M的狀態(tài)轉(zhuǎn)移權(quán)重向量,用于表示動(dòng)態(tài)測(cè)試過(guò)程中狀態(tài)轉(zhuǎn)移的執(zhí) 行代價(jià),W= [Wl,..., …,wn],其中,η是狀態(tài)轉(zhuǎn)移個(gè)數(shù),Wi表示狀態(tài)轉(zhuǎn)移、的執(zhí)行代 價(jià),定義正常狀態(tài)轉(zhuǎn)移的執(zhí)行代價(jià)為1,錯(cuò)誤狀態(tài)轉(zhuǎn)移的執(zhí)行代價(jià)為⑴,有限狀態(tài)自動(dòng)機(jī)M 的初始權(quán)重向量為W= [1,…,1,…,1],B是有限狀態(tài)自動(dòng)機(jī)M的狀態(tài)轉(zhuǎn)移標(biāo)識(shí)向量,B = [bi; -,bj,…,bn],bj為{-1,0,1} 中的一個(gè)值,定義h = 0,表示狀態(tài)轉(zhuǎn)移、已經(jīng)被測(cè)試過(guò),且可根據(jù)測(cè)試結(jié)果判斷狀態(tài)轉(zhuǎn)移 tj的正確性,bj = -1,表示狀態(tài)轉(zhuǎn)移、已經(jīng)被測(cè)試過(guò),且不可根據(jù)測(cè)試結(jié)果判斷狀態(tài)轉(zhuǎn)移、 的正確性,bj = 1表示狀態(tài)轉(zhuǎn)移、未被測(cè)試過(guò),有限狀態(tài)自動(dòng)機(jī)M的初始標(biāo)識(shí)向量為B = [1,...,1,...,1];(2)將上述根據(jù)高速列車(chē)運(yùn)行控制系統(tǒng)的功能規(guī)范構(gòu)造的有限狀態(tài)自動(dòng)機(jī)M作為高速 列車(chē)運(yùn)行控制系統(tǒng)功能動(dòng)態(tài)測(cè)試的參考模型;(3)根據(jù)上述測(cè)試模型,對(duì)高速列車(chē)運(yùn)行控制系統(tǒng)的功能進(jìn)行動(dòng)態(tài)測(cè)試,包括以下步驟(3-1)根據(jù)有限狀態(tài)自動(dòng)機(jī)M中狀態(tài)轉(zhuǎn)移引導(dǎo)序列的長(zhǎng)度,對(duì)所有狀態(tài)轉(zhuǎn)移由短到長(zhǎng) 依次進(jìn)行編號(hào),得到t1;t2,…tn;(3-2)從對(duì)高速列車(chē)運(yùn)行控制系統(tǒng)的功能進(jìn)行動(dòng)態(tài)測(cè)試開(kāi)始至測(cè)試結(jié)束,依次進(jìn)行 (3-2-1)在測(cè)試過(guò)程的時(shí)刻k生成一個(gè)測(cè)試序列= tspre ;tk ;kp。st,其中tk為被測(cè) 狀態(tài)轉(zhuǎn)移,tspre為被測(cè)狀態(tài)轉(zhuǎn)移tk的引導(dǎo)序列,kp。st為被測(cè)狀態(tài)轉(zhuǎn)移tk的尾狀態(tài)驗(yàn)證序 列,(3-2-2)根據(jù)上述測(cè)試序列,分別向上述參考模型和被測(cè)高速列車(chē)運(yùn)行控制系統(tǒng)輸入 與功能測(cè)試相關(guān)的信號(hào),分別得到參考模型的測(cè)試輸出
2.如權(quán)利要求1所述的方法,其特征在于其中所述的步驟(3-2-3)的錯(cuò)誤定位方法包 括以下步驟(2-1)定義參考模型的測(cè)試輸出與被測(cè)高速列車(chē)運(yùn)行控制系統(tǒng)的測(cè)試輸出不一致的 情況為一個(gè)癥狀,即。^ol,從一個(gè)測(cè)試序列tsk中識(shí)別出所有癥狀,得到一個(gè)癥狀集為Sk — iSk, 1'…,Sk,g,*** Sk,J ;(2-2)對(duì)上述癥狀集中的每個(gè)癥狀、,g科關(guān)…,確定相應(yīng)的沖突集為Ck,g k,g'…,ck,g,…,cPk,g};其中,Cug,k是一個(gè)沖突,沖突的定義為被測(cè)高速列車(chē)運(yùn)行控制系統(tǒng)的一個(gè)功能與參考 模型中相應(yīng)的狀態(tài)轉(zhuǎn)移不相符;(2-3)根據(jù)上述沖突集得到測(cè)試序列的初始診斷候選集IDS IDSk = Cka η ck,2 η …η ck,h根據(jù)沖突Cuk,g中狀態(tài)轉(zhuǎn)移的歷史輸出,刪除上述初始診斷候選集IDS中與歷史輸出不 相符的診斷候選,并根據(jù)沖突CiM中狀態(tài)轉(zhuǎn)移的歷史尾狀態(tài),刪除上述初始診斷候選集IDS 中與歷史尾狀態(tài)不相符的診斷候選,得到最終診斷集FDS,若最終診斷集FDS中存在一個(gè)診 斷候選,則判斷該診斷候選中包含的狀態(tài)轉(zhuǎn)移為錯(cuò)誤,若最終診斷集FDS中存在多個(gè)診斷 候選,則不可根據(jù)測(cè)試結(jié)果判斷狀態(tài)轉(zhuǎn)移的正確性,采用產(chǎn)生癥狀的狀態(tài)轉(zhuǎn)移序列tk,v,tk, V+1…,tk,v+J描述測(cè)試序列的錯(cuò)誤信息,定義產(chǎn)生癥狀的狀態(tài)轉(zhuǎn)移序列Fs% = tk,v, tk,v+1…, tk,v+J為錯(cuò)誤子序列;(2-4)若不可根據(jù)測(cè)試結(jié)果判斷狀態(tài)轉(zhuǎn)移的正確性,則將上述錯(cuò)誤子序列添加到錯(cuò)誤 子序列集合中FssSk = FssSh U IFssJ。
全文摘要
本發(fā)明涉及一種高速列車(chē)運(yùn)行控制系統(tǒng)功能的動(dòng)態(tài)測(cè)試方法,屬于高速列車(chē)運(yùn)行控制系統(tǒng)技術(shù)領(lǐng)域。本方法首先根據(jù)高速列車(chē)運(yùn)行控制系統(tǒng)功能規(guī)范基于參數(shù)化自動(dòng)機(jī)模型構(gòu)造被測(cè)高速列車(chē)運(yùn)行控制系統(tǒng)的動(dòng)態(tài)測(cè)試模型;然后依據(jù)該模型對(duì)被測(cè)高速列車(chē)運(yùn)行控制系統(tǒng)執(zhí)行動(dòng)態(tài)測(cè)試過(guò)程。動(dòng)態(tài)測(cè)試方法是一個(gè)由“生成待測(cè)轉(zhuǎn)移的測(cè)試序列”、“執(zhí)行測(cè)試序列”、“測(cè)試結(jié)果分析”、“動(dòng)態(tài)測(cè)試模型參數(shù)更新”四個(gè)步驟組成的循環(huán)過(guò)程。本發(fā)明方法避免了在高速列車(chē)運(yùn)行控制系統(tǒng)測(cè)試執(zhí)行之前生成一個(gè)固定測(cè)試序列集,解決了傳統(tǒng)靜態(tài)測(cè)試方法測(cè)試覆蓋率低和測(cè)試結(jié)果準(zhǔn)確率低以及傳統(tǒng)動(dòng)態(tài)測(cè)試方法測(cè)試序列生成代價(jià)和執(zhí)行代價(jià)大的問(wèn)題。
文檔編號(hào)G05B23/00GK102096410SQ201010605560
公開(kāi)日2011年6月15日 申請(qǐng)日期2010年12月24日 優(yōu)先權(quán)日2010年12月24日
發(fā)明者吉吟東, 周暐, 孫新亞, 王帥, 董煒 申請(qǐng)人:北京全路通信信號(hào)研究設(shè)計(jì)院, 清華大學(xué)