• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      城軌交通全自動運行系統(tǒng)組合測試用例生成方法

      2023-11-21 10:00:08孫可心劉傳剛冉怡明李任宇
      鐵道通信信號 2023年11期
      關(guān)鍵詞:自動機測試用例手柄

      陳 爭,孫可心,劉傳剛,冉怡明,李任宇

      全自動運行(Fully Automatic Operation,F(xiàn)AO)系統(tǒng)是基于計算機、通信、控制和系統(tǒng)集成等技術(shù),實現(xiàn)列車運行全過程自動化的新一代城市軌道交通系統(tǒng),不需要配置列車司機,能夠有效地保證運行安全,提高運行效率,降低運營成本,增強對客流變化的響應(yīng)能力[1]。

      近年來,隨著車輛、信號、通信和綜合監(jiān)控等核心專業(yè)自動化水平的不斷提高,F(xiàn)AO 系統(tǒng)已經(jīng)在我國大中城市的軌道交通中進(jìn)入了實際應(yīng)用階段,代表了智慧城軌的重要發(fā)展方向。相比較傳統(tǒng)的地鐵列車控制系統(tǒng),F(xiàn)AO 系統(tǒng)對可靠性、可用性、維修性、安全性指標(biāo)提出了更高要求,因此在投入運營前需要進(jìn)行全面測試,而覆蓋全面的測試用例對保證全自動運行系統(tǒng)測試的完備性具有重要意義。

      目前,F(xiàn)AO 系統(tǒng)的研究主要集中在系統(tǒng)方案設(shè)計、優(yōu)化和仿真平臺方面。如:文獻(xiàn)[2]從FAO 系統(tǒng)的運營需求出發(fā),提出一套滿足全自動運行過程中清客控制管理的設(shè)計方案;文獻(xiàn)[3]研究FAO 系統(tǒng)場景驗證平臺,能夠在系統(tǒng)建設(shè)初期優(yōu)化場景設(shè)計,指導(dǎo)功能開發(fā);文獻(xiàn)[4]對全自動運營場景進(jìn)行梳理,研究不同運營場景對車輛、信號、通信和綜合監(jiān)控等關(guān)鍵裝備的功能需求及接口關(guān)系,為工程設(shè)計人員提供參考;文獻(xiàn)[5]研究正線休眠喚醒區(qū)域全覆蓋的設(shè)計要點和運營效益,并提出相關(guān)的操作建議;文獻(xiàn)[6]將基于數(shù)據(jù)驅(qū)動的測試方法引入到FAO 系統(tǒng)的測試中,簡化測試平臺的搭建,提高測試的有效性和完備性;文獻(xiàn)[7-8]研究FAO 系統(tǒng)典型運營場景,提取功能與性能的需求,構(gòu)建時間自動機網(wǎng)絡(luò)模型,并驗證其功能屬性、性能屬性和安全屬性,為系統(tǒng)設(shè)計與實現(xiàn)奠定基礎(chǔ);文獻(xiàn)[9]研究FAO系統(tǒng)的互聯(lián)互通特點,構(gòu)建適合互聯(lián)互通的FAO 系統(tǒng)測試環(huán)境,提出完備的互聯(lián)互通測試方案;文獻(xiàn)[10]研究全自動運行外場測試的功能需求和選址條件,提出不同條件下的測試方案;文獻(xiàn)[11]基于仿真測試平臺,對全自動無人駕駛系統(tǒng)的關(guān)鍵場景進(jìn)行分析,探討室內(nèi)仿真測試方案,并在上海軌道交通全自動無人駕駛18號線和15號線進(jìn)行了應(yīng)用。

      組合測試是檢測系統(tǒng)各種交互組合的測試?yán)碚?。近年來,該理論在軌道交通領(lǐng)域的測試中得到了深入的研究和廣泛應(yīng)用,如文獻(xiàn)[12-14]在高鐵信號系統(tǒng)的測試中引入了組合測試技術(shù)。本文基于時間自動機建模方法和組合測試?yán)碚?,提出FAO 系統(tǒng)的組合測試用例生成方法,對保證FAO系統(tǒng)測試的全面性和完備性具有重要意義。

      1 時間自動機

      時間自動機(Timed Automata,TA)由Stanford大學(xué)的Rajeev Alur和David Dill于20世紀(jì)90年代提出。時間自動機對有限自動機進(jìn)行擴展,使用時鐘變量表示有時間約束的狀態(tài)轉(zhuǎn)換關(guān)系,從而可以處理實時系統(tǒng)[15]。由Aalborg 大學(xué)和Uppsala 大學(xué)在1995年聯(lián)合研發(fā)的基于時間自動機的實時系統(tǒng)模擬和驗證工具UPPAAL,能夠?qū)崟r系統(tǒng)進(jìn)行建模、仿真、驗證和生成測試用例,具有高效、簡便的特點[16]。UPPAAL 對時間自動機理論進(jìn)行了擴展,增加了int 變量、bool 變量、廣播通道(broadcast chan)等元素[17]。

      定義1時間自動機。TA 是一個六元組<L,B,C,V,E,I>,其中:L是狀態(tài)的集合,l0?L為初始狀態(tài);B為通道集合;C為時鐘變量集合,V為有界整型變量集合,設(shè)Φ(C,V)為條件表達(dá)式的集合,R(C,V)為所有時鐘變量的重置操作和整型變量賦值操作的集合;E為邊的集合,E?L×B?!×Φ(C,V)×R(C,V)×L;B?!為操作集合,B?!={a?|a∈B}∪{a!|a∈B};元素 (l,α,φ,γ,l')∈E描述了一條從狀態(tài)l到狀態(tài)l'的邊,其中α為邊上的操作,φ為轉(zhuǎn)移條件,γ為重置操作或賦值操作;I:L→Φ(C,V)表示狀態(tài)上的時間不變式。

      定義2路徑。設(shè)l,l'∈L,TA 的一條路徑p是一個邊的序列:p=(l,α1,φ1,γ1,l1) ;(l1,α2,φ2,γ2,l2) ;……;(ln-1,αn,φn,γn,l')。

      此時,稱l通過路徑p可以到達(dá)l',簡稱l'從l可達(dá)。

      UPPAAL 包括系統(tǒng)編輯器、模擬器、驗證器和測試用例生成器(Yggdrasil)等模塊。其中,系統(tǒng)編輯器用于創(chuàng)建和編輯TA 模型,Yggdrasil以邊覆蓋為覆蓋準(zhǔn)則,提供序列文件(Query File)、深度搜索(Depth Search)和單步(Single Step)3 種方法,自動從TA模型生成測試路徑[18]。

      2 組合測試

      作為系統(tǒng)安全性測試中的一種重要測試方法,組合測試圍繞系統(tǒng)輸入域的交互組合,在保證組合覆蓋的前提下,對系統(tǒng)實施高效、完備的測試。通常,組合測試重點檢測系統(tǒng)因各種交互組合而造成的系統(tǒng)故障[19]。

      組合測試主要包括組合測試建模、測試用例生成、測試執(zhí)行、錯誤定位和結(jié)果評估等步驟,見圖1。其中組合測試建模是根據(jù)被測系統(tǒng)的需求規(guī)格,辨識系統(tǒng)的輸入?yún)?shù)及其取值,確定約束條件,構(gòu)建系統(tǒng)的輸入模型;測試用例生成是根據(jù)構(gòu)建的輸入模型,利用各種組合測試用例生成方法,構(gòu)造被測系統(tǒng)的組合測試用例集。

      圖1 組合測試主要步驟

      定義3t-維組合覆蓋。對于路徑p及其序列集T,給定組合強度t(t≤|p|),對于p的任意t-事件組合的任一t-值模式π,若T中都至少存在一條測試序列覆蓋π,那么T滿足t-維組合覆蓋,稱T為p的t-維組合測試用例集,簡稱t-維測試用例集。

      t-維組合覆蓋通過構(gòu)造測試用例集,對被測系統(tǒng)任意t個輸入?yún)?shù)之間所有的交互取值組合至少覆蓋1次。假設(shè)某系統(tǒng)包括a,b,c3個輸入變量,每個輸入變量均包括2個取值,0和1,則全組合需要執(zhí)行2×2×2=8次測試。若采用組合測試,選用2-維組合覆蓋,應(yīng)用組合測試用例生成工具ACTS共生成4 條測試用例,即可完全覆蓋a,b,c中任意2個變量的取值組合,組合測試用例見表1。

      表1 組合測試用例

      3 全自動運行系統(tǒng)組合測試用例生成

      通常采用UPPAAL 對FAO 系統(tǒng)進(jìn)行測試建模時,主要是利用int、bool 和chan 等類型描述系統(tǒng)的功能流程,并依據(jù)TA 模型生成測試路徑,重點關(guān)注系統(tǒng)的功能邏輯。在實際執(zhí)行測試時,需要提取測試路徑上信號或變量描述的具體工況,進(jìn)而將測試路徑實例化為具體的操作或測試數(shù)據(jù)。由于FAO 系統(tǒng)功能復(fù)雜,測試路徑通常為一系列的操作流程,涉及多個變量,每個變量代表的具體工況可能為1 個或多個,如模式轉(zhuǎn)換,方向手柄和制動手柄在“0位”或“非0位”等,因此為對FAO 系統(tǒng)進(jìn)行全面測試,需要覆蓋測試流程中變量值的各種組合,即:

      測試需求= {(方向手柄0 位,制動手柄0位),(方向手柄0 位,制動手柄非0 位),(方向手柄非0 位,制動手柄0 位),(方向手柄非0 位,制動手柄非0位)}。

      由于對所有組合情況全部進(jìn)行測試,在測試時間和測試開銷方面是不實際的,而組合測試技術(shù)可以在保障變量組合覆蓋的基礎(chǔ)上,大大降低測試用例數(shù)量,提高測試效率,因此結(jié)合FAO 系統(tǒng)的TA 建模流程和組合測試?yán)碚?,提出FAO 系統(tǒng)組合測試用例生成方法。

      FAO系統(tǒng)組合測試用例生成流程見圖2,包括時間自動機建模、基于時間自動機模型的測試路徑生成和組合測試用例生成3個階段。

      圖2 FAO系統(tǒng)組合測試用例生成流程

      1)時間自動機建模。首先,基于FAO系統(tǒng)的需求規(guī)范,依據(jù)時間自動機語法,采用UPPAAL建立TA 模型;然后,采用UPPAAL 提供的仿真模擬和形式化驗證技術(shù),檢測模型的正確性,如果模型不正確,則根據(jù)仿真和驗證結(jié)果修正模型。

      2)測試路徑生成。利用Yggdrasil 提供的測試路徑生成方法,結(jié)合形式化驗證的性質(zhì)文件,利用Query File、Depth Search 和Single Step 3 種方法,自動生成FAO系統(tǒng)的測試路徑。

      3)組合測試用例生成。首先,提取TA 模型中的chan 和變量,基于FAO 系統(tǒng)的需求規(guī)范,采用輸入域建模理論[20],對chan 和變量的輸入空間進(jìn)行劃分,提取chan 和變量在測試執(zhí)行中代表的工況,作為組合測試的輸入?yún)?shù)值;然后,結(jié)合生成的測試路徑,采用組合測試算法或工具,生成FAO系統(tǒng)的組合測試用例。

      下面以FAO 系統(tǒng)的喚醒場景為例,介紹FAO系統(tǒng)組合測試用例的生成過程。

      4 喚醒場景組合測試用例生成

      4.1 喚醒場景功能邏輯

      列車在投入運營前,F(xiàn)AO 系統(tǒng)需要進(jìn)行喚醒,激活列車,并對列車的實際情況進(jìn)行檢查,達(dá)到故障預(yù)警、緩解日常運維對人力的需求、提高FAO系統(tǒng)運維效率的目的。

      行車綜合自動化系統(tǒng)根據(jù)運行時刻表,提前喚醒即將投入運營的車輛;車載收到喚醒命令后,車載控制器(Vehicle On Board Controller,VOBC)和車輛進(jìn)行上電自檢。如果自檢成功,列車滿足靜態(tài)、動態(tài)測試條件,則由VOBC 發(fā)起、車輛配合,進(jìn)行列車靜態(tài)、動態(tài)測試;如果測試成功,VOBC將向行車綜合自動化系統(tǒng)匯報喚醒成功。如果自檢失敗或不滿足測試條件,將不進(jìn)行列車靜態(tài)和動態(tài)測試,列車喚醒失?。?1]。FAO 系統(tǒng)喚醒功能動態(tài)測試序列見圖3。

      圖3 喚醒功能動態(tài)測試序列

      1)FAO 系統(tǒng)接收到列車喚醒命令,由列車自動防護(hù)系統(tǒng)(Automatic Train Protection,ATP)檢查列車預(yù)設(shè)最高駕駛模式為FAO 模式、車輛方向手柄設(shè)在0 位、車輛牽引制動手柄在0 位、VOBC 頭尾通信正常、司機鑰匙在關(guān)閉位、檢修按鈕在非檢修位等條件滿足后,系統(tǒng)按預(yù)設(shè)的順序選擇駕駛端,進(jìn)行靜態(tài)測試。

      2) 靜態(tài)測試完成后,ATP 通過列車自動駕駛系統(tǒng)(Automatic Train Operation,ATO)向列車控制和管理系統(tǒng)(Train Control and Management System,TCMS)發(fā)送預(yù)設(shè)時長的鳴笛指令,車輛進(jìn)行鳴笛操作,提醒庫內(nèi)工作人員。

      3) ATP向ATO發(fā)送向前跳躍指令,ATO判斷滿足動態(tài)測試條件,向ATP 發(fā)送帶方向的跳躍指令。該指令通過輔助駕駛單元(Assistant Operation Module,AOM)傳輸給車輛,車輛收到帶方向的跳躍指令后,執(zhí)行動態(tài)測試準(zhǔn)備,通過TCMS 向ATO 發(fā)送跳躍反饋指令;ATO 收到跳躍反饋指令后,向車輛輸出預(yù)設(shè)時長和大小的牽引。ATO 檢測到車輛處于零速狀態(tài)后,向ATP 發(fā)送跳躍完成標(biāo)志。

      4) ATP 向ATO 發(fā)送向后跳躍指令,系統(tǒng)處理流程與向前跳躍類似。

      5) ATP 接收到跳躍完成標(biāo)志后,判定完成本端動態(tài)測試,進(jìn)行自動換端操作,在另一端進(jìn)行靜態(tài)測試和動態(tài)測試。當(dāng)兩端的靜態(tài)、動態(tài)測試均通過后,ATP向控制中心匯報喚醒完成。

      向前跳躍和向后跳躍的過程中,ATP 監(jiān)督列車跳躍過程中的速度、加速度和跳躍距離,若任一項超過預(yù)定義值,ATP 判斷跳躍異常,輸出緊急制動;若在規(guī)定時間內(nèi)未收到ATO 的跳躍完成指令,則認(rèn)為跳躍失敗。

      4.2 喚醒場景時間自動機建模

      FAO 系統(tǒng)列車喚醒功能時間自動機模型見圖4,記為AwakeTA,包括ATP 模型(ATPTA)、ATO 模型(ATOTA)、AOM 模型(AOMTA)、TCMS模型(TCMSTA)和列車模型(TrainTA)5個部分,即AwakeTA為這5個時間自動機模型的積

      圖4 全自動運行系統(tǒng)列車喚醒功能時間自動機模型

      AwakeTA包括61個節(jié)點、83條邊、31個broadcast chan、10 個int 變量和1 個時鐘變量,主要broadcast chan的含義見表2。

      表2 AwakeTA主要broadcast chan含義

      1)ATPTA模型描述ATP 與ATO、AOM 之間的交互信息,包括發(fā)送鳴笛、向前跳躍、向后跳躍等指令,接收并發(fā)送帶方向的跳躍指令和接收跳躍完成標(biāo)志。

      2)ATOTA模型描述ATO 接收ATP 和TCMS的信息,運算后進(jìn)行響應(yīng)的過程。

      3)AOMTA模型描述AOM 與ATP、車輛的交互信息,AOM接收由ATP發(fā)來的帶方向的跳躍指令,并轉(zhuǎn)發(fā)給車輛。

      4)TCMSTA模型描述TCMS與ATO、車輛的交互信息,TCMS 接收來自車輛的跳躍反饋指令,并轉(zhuǎn)發(fā)給ATO。

      5)TrainTA模型描述車輛與AOM、TCMS 之間的交互信息,車輛接收到由AOM 發(fā)來的帶方向的跳躍指令后,將跳躍反饋指令發(fā)送給TCMS。

      AwakeTA喚醒過程中包括靜態(tài)測試前的設(shè)備狀態(tài)條件不滿足、自檢失敗、向前跳躍異常、向后跳躍異常和跳躍超時5 類故障。AwakeTA檢測到異常后,發(fā)送喚醒失敗,結(jié)束喚醒操作。

      4.3 喚醒場景測試路徑生成

      采用Yggdrasil提供的Query File、Depth Search和Single Step 3 種測試路徑生成方法,結(jié)合文獻(xiàn)[18]提出的測試路徑生成算法,對AwakeTA一共生成14條測試路徑,其中Query File生成測試路徑8 條,Depth Search 生成測試路徑1 條,Single Step生成測試路徑5 條,節(jié)點覆蓋率和邊覆蓋率均為100%。

      以向前跳躍失敗為例,在AwakeTA的14 條測試路徑中,包括2條相關(guān)的測試路徑。

      1) 測試路徑p1:接收喚醒命令后,F(xiàn)AO系統(tǒng)自檢成功,選擇激活端,進(jìn)行向前跳躍,跳躍存在異常。

      2) 測試路徑p2:接收喚醒命令后,F(xiàn)AO系統(tǒng)自檢成功,選擇激活端,進(jìn)行向前跳躍,跳躍成功;繼續(xù)向后跳躍,跳躍成功;列車切換激活端,進(jìn)行向前跳躍,但跳躍異常。

      以測試路徑p1為例,其通過ATPTA模型的狀態(tài)為Init → WakeUp → ConPass → Header →Ready → MDing → ReadyJog → ForJog → For-Temp1 → ForJog_Fail。

      4.4 喚醒場景組合測試用例生成

      結(jié)合FAO 系統(tǒng)的需求規(guī)范,對AwakeTA模型中broadcast chan、int 變量和時鐘變量進(jìn)行輸入域建模。以向前跳躍失敗為例,組合測試用例生成過程如下。

      向前跳躍失敗涉及時鐘變量x,以及GetHeader 和ForJogFail 2 個broadcast chan。結(jié)合測試經(jīng)驗,時鐘變量x選取k1、k2 2 個時間值,broadcast chan 的輸入域建模見表3。選用2-維組合覆蓋,采用ACTS 組合測試用例生成工具,利用內(nèi)置的IPOG 算法,結(jié)合向前跳躍失敗的2 條測試路徑,一共生成6 條組合測試用例,覆蓋系統(tǒng)任意2 個輸入之間的組合,見表4。

      表3 向前跳躍失敗broadcast chan輸入域建模

      表4 向前跳躍失敗組合測試用例

      以第1 條組合測試用例為例,其測試過程為:接收喚醒命令后,自檢成功,F(xiàn)AO 系統(tǒng)選擇前端為激活端,進(jìn)行向前跳躍,跳躍時間為k2,滿足跳躍時間約束,但跳躍距離異常。

      通過FAO 系統(tǒng)測試用例生成算法,AwakeTA模型一共生成35 條組合測試用例,主要的測試用例統(tǒng)計見表5。

      表5 全自動運行系統(tǒng)主要的組合測試用例統(tǒng)計

      基于Yggdrasil的測試用例生成機制,AwakeTA的測試用例覆蓋了模型中所有的節(jié)點和邊;同時,基于ACTS 的IPOG 等算法,覆蓋了模型中任意2 個輸入之間的組合,提升了FAO 系統(tǒng)測試用例的全面性和完備程度。

      5 結(jié)論

      本文提出FAO系統(tǒng)的組合測試用例生成方法,首先采用時間自動機理論對FAO 系統(tǒng)進(jìn)行建模;然后基于時間自動機模型生成測試路徑,結(jié)合輸入域建模方法提取測試模型描述的系統(tǒng)工況;最后結(jié)合組合測試?yán)碚?,自動生成組合測試用例。以喚醒功能為例,采用UPPAAL 建立喚醒功能的時間自動機模型,利用Yggdrasil 插件生成喚醒功能的測試路徑,并利用ACTS 采用2-維組合覆蓋生成組合測試用例。結(jié)果表明,測試用例100%覆蓋時間自動機模型的節(jié)點和邊,同時覆蓋系統(tǒng)任意2 個輸入之間的組合,對于FAO 系統(tǒng)測試的研究具有一定的參考價值。

      猜你喜歡
      自動機測試用例手柄
      {1,3,5}-{1,4,5}問題與鄰居自動機
      基于PLC控制的手柄座鉆孔攻絲一體機的研發(fā)
      基于SmartUnit的安全通信系統(tǒng)單元測試用例自動生成
      一種基于模糊細(xì)胞自動機的新型疏散模型
      智富時代(2019年4期)2019-06-01 07:35:00
      基于混合遺傳算法的回歸測試用例集最小化研究
      一種多功能無線手柄的設(shè)計
      電子制作(2018年11期)2018-08-04 03:25:44
      廣義標(biāo)準(zhǔn)自動機及其商自動機
      為什么廚具的手柄不是金屬的?
      銀行家
      基于依賴結(jié)構(gòu)的測試用例優(yōu)先級技術(shù)
      鹿泉市| 颍上县| 肥西县| 菏泽市| 平远县| 洛宁县| 黔江区| 芦溪县| 南阳市| 沈阳市| 南木林县| 儋州市| 赣榆县| 泸水县| 绥宁县| 阿合奇县| 汉川市| 牙克石市| 常宁市| 遵化市| 布尔津县| 茌平县| 定日县| 和林格尔县| 南召县| 五华县| 海南省| 屏东市| 泗阳县| 白玉县| 察哈| 永寿县| 阿合奇县| 永善县| 阿克苏市| 兴化市| 桐乡市| 宁国市| 邓州市| 五台县| 平顺县|