焦鳳霞,劉 斌
(通號城市軌道交通技術(shù)有限公司,北京 100070)
城市軌道交通信號系統(tǒng)產(chǎn)品軟件在室內(nèi)生產(chǎn)過程中,需要完成軟件編碼、數(shù)據(jù)配置、產(chǎn)品級測試、系統(tǒng)級測試。產(chǎn)品級測試、系統(tǒng)級測試的測試環(huán)境一般為半實(shí)物仿真環(huán)境。雖然半實(shí)物測試環(huán)境能夠逼真地模擬被測軟件所需要的真實(shí)運(yùn)行環(huán)境,但隨著測試任務(wù)增長,原有的硬件資源無法滿足測試要求時(shí),基于半實(shí)物仿真環(huán)境的實(shí)驗(yàn)室架構(gòu)只能通過更換、增加硬件資源對測試環(huán)境進(jìn)行調(diào)整以適應(yīng)新的測試需求,期間涉及到軟/硬件修改、重新部署、硬件布線更改等大量工作。另外測試環(huán)境需求存在一定的波動(dòng)性,如按照使用峰值的需求進(jìn)行硬件配置將會導(dǎo)致資源巨大的浪費(fèi)。
基于云平臺架構(gòu)的測試環(huán)境是在原半實(shí)物仿真測試環(huán)境的基礎(chǔ)上,對各硬件實(shí)物設(shè)備進(jìn)行云化部署開發(fā)。上述測試環(huán)境通過云化部署降低測試環(huán)境對硬件實(shí)物設(shè)備的依賴性,對計(jì)算、存儲、網(wǎng)絡(luò)資源進(jìn)行集約化、統(tǒng)一管理,極大地提高實(shí)驗(yàn)室資源的利用率。同時(shí)利用云平臺,可以快速地為各種業(yè)務(wù)匹配相應(yīng)的測試資源,極大地提升實(shí)驗(yàn)室的靈活性和可擴(kuò)展性,也為后續(xù)實(shí)驗(yàn)室智能化管理、測試自動(dòng)化提升打下堅(jiān)實(shí)的基礎(chǔ)。
本文對引入云平臺測試后的測試方法進(jìn)行研究和分析,為引入云平臺的測試體系提供依據(jù),助力企業(yè)數(shù)字化轉(zhuǎn)型升級。
結(jié)合EN 50128標(biāo)準(zhǔn),目前城市軌道交通信號系統(tǒng)的開發(fā)測試一般情況下為V模型,如圖1所示描述測試階段和開發(fā)階段的對應(yīng)關(guān)系,在每個(gè)軟件開發(fā)階段均有對應(yīng)的測試活動(dòng)。本文重點(diǎn)研究不同仿真平臺下的黑盒測試方法,因此硬件測試、軟件測試相關(guān)理論在此不再贅述。
圖1 開發(fā)測試V模型Fig.1 Model V of development test
產(chǎn)品功能測試和軟/硬件集成測試是對產(chǎn)品需求(包括軟件需求規(guī)范、子系統(tǒng)需求規(guī)范、接口協(xié)議規(guī)范、顯示規(guī)范等)進(jìn)行產(chǎn)品功能、性能以及接口協(xié)議的測試。測試時(shí)一般采用的方法如下:依據(jù)軟件需求規(guī)范、子系統(tǒng)需求規(guī)范、接口協(xié)議規(guī)范、顯示規(guī)范等編制測試案例,測試案例中明確測試執(zhí)行前提條件、執(zhí)行步驟、預(yù)期結(jié)果,執(zhí)行測試按照測試案例所述的測試步驟在產(chǎn)品級實(shí)物測試環(huán)境中進(jìn)行操作,檢查測試結(jié)果,并與預(yù)期結(jié)果進(jìn)行比對。
系統(tǒng)功能測試是對系統(tǒng)需求(包括系統(tǒng)需求規(guī)范、接口協(xié)議規(guī)范、系統(tǒng)設(shè)計(jì)方案等)進(jìn)行系統(tǒng)功能、性能以及相關(guān)接口功能的測試。測試時(shí)一般采用的方法:依據(jù)系統(tǒng)需求規(guī)范、接口協(xié)議規(guī)范、系統(tǒng)設(shè)計(jì)方案等編制測試案例,測試案例中明確測試執(zhí)行前提條件、執(zhí)行步驟、預(yù)期結(jié)果,執(zhí)行測試按照測試案例所述的測試步驟在系統(tǒng)級半實(shí)物仿真環(huán)境中進(jìn)行操作,檢查測試結(jié)果,并與預(yù)期結(jié)果進(jìn)行比對。
CBTC系統(tǒng)的產(chǎn)品功能測試、軟硬件集成測試以及系統(tǒng)功能測試的測試環(huán)境一般采用實(shí)物與仿真相結(jié)合的半實(shí)物測試環(huán)境,在一定程度上能夠模擬現(xiàn)場實(shí)際場景。
如圖2所示,在既有的半實(shí)物仿真實(shí)驗(yàn)室基礎(chǔ)上搭建云平臺數(shù)據(jù)中心。云平臺采用虛擬化、分布式存儲、云資源管理、信息安全等技術(shù),實(shí)現(xiàn)計(jì)算、存儲、網(wǎng)絡(luò)資源按需分配、統(tǒng)一管理和集中監(jiān)測,提高資源利用率,便于業(yè)務(wù)快速部署和拓展。另外云平臺具備與其他半實(shí)物仿真環(huán)境接入的拓展能力,實(shí)現(xiàn)硬件資源統(tǒng)一管理、動(dòng)態(tài)分配,可滿足公司內(nèi)不同時(shí)期的需求。
圖2 基于云平臺實(shí)驗(yàn)室架構(gòu)Fig.2 Laboratory architecture based on cloud platform
眾所周知,CBTC系統(tǒng)中的部分系統(tǒng)如:CI、ZC、ATP、ATO均為嵌入式系統(tǒng),需要基于目標(biāo)機(jī)的實(shí)物硬件平臺才能正常運(yùn)行,在云平臺虛擬化的宿主機(jī)環(huán)境無法正常運(yùn)行。因此,應(yīng)充分利用開發(fā)語言的可移植性,將與目標(biāo)環(huán)境無關(guān)的測試轉(zhuǎn)移至云平臺虛擬化宿主環(huán)境中完成(如軟件測試、產(chǎn)品功能測試、系統(tǒng)功能測試),系統(tǒng)與目標(biāo)環(huán)境密切相關(guān)的測試(如硬件測試、軟/硬件集成測試等)可在目標(biāo)機(jī)實(shí)物硬件平臺環(huán)境中進(jìn)行執(zhí)行。這樣可以實(shí)現(xiàn)將測試作業(yè)與硬件平臺解耦,降低測試作業(yè)對硬件實(shí)物平臺的依賴性,釋放實(shí)驗(yàn)室有限的實(shí)物硬件平臺資源,提高室內(nèi)生產(chǎn)作業(yè)效率。
下文以車載ATP設(shè)備為例,說明云平臺虛擬化宿主機(jī)環(huán)境運(yùn)行的ATP單車運(yùn)行系統(tǒng)的構(gòu)建過程及測試方法。
車載ATP應(yīng)用軟件負(fù)責(zé)車載設(shè)備的核心邏輯處理,負(fù)責(zé)采集外部數(shù)據(jù)、處理控車自動(dòng)超速防護(hù)算法的核心邏輯。車載ATP主機(jī)一般采用信號系統(tǒng)生產(chǎn)廠商專用硬件平臺。其軟件結(jié)構(gòu)如圖3所示。RSSP-Ⅱ安全協(xié)議提供車載ATP與地面設(shè)備(ZC、CI、ATS)通信的安全通道,車載ATP通過安全通信協(xié)議處理BTM接收到的應(yīng)答器報(bào)文,測速測距處理速度傳感器和雷達(dá)的信號得到速度和位置信息,包括速傳數(shù)據(jù)解析、雷達(dá)數(shù)據(jù)解析、空轉(zhuǎn)打滑處理等模塊。
圖3 車載ATP應(yīng)用軟件結(jié)構(gòu)Fig.3 Structure diagram of onboard ATP application software
車載ATP軟件由ATP應(yīng)用層軟件(含測速測距處理軟件)和平臺適配層軟件組成。平臺適配層軟件對專用車載硬件平臺的任務(wù)進(jìn)行處理,以滿足車載ATP應(yīng)用軟件的需求,包括任務(wù)調(diào)度、配置、通用功能、BTM設(shè)備通信處理等模塊。
3.2.1 軟件架構(gòu)
為最大程度移植既有ATP、ATO應(yīng)用程序,還原目標(biāo)機(jī)硬件實(shí)物平臺運(yùn)行環(huán)境,設(shè)計(jì)的實(shí)現(xiàn)軟件層級結(jié)構(gòu)如圖4所示。
圖4 宿主環(huán)境車載ATP軟件結(jié)構(gòu)Fig.4 Structure diagram of ATP software in the host environment
宿主環(huán)境車載ATP子系統(tǒng)分為5層:分別為接口層、數(shù)據(jù)協(xié)議層、硬件平臺仿真層、ATP/ATO平臺適配層和ATP/ATO應(yīng)用層。
1)接口層
接口層封裝操作系統(tǒng)提供的接口,如網(wǎng)口、串口、文件操作,屏蔽不同系統(tǒng)之間的接口差異。車載測試平臺對封裝后的不同系統(tǒng)接口再進(jìn)行封裝,對上提供統(tǒng)一接口操作,方便應(yīng)用程序使用。
2)數(shù)據(jù)協(xié)議層
數(shù)據(jù)協(xié)議層主要是對各個(gè)外部接口模塊的數(shù)據(jù)處理。依據(jù)接口協(xié)議進(jìn)行封裝、解析;對數(shù)據(jù)進(jìn)行管理存儲,供上層平臺適配層使用。主要實(shí)現(xiàn)以下功能。
協(xié)議封裝解析:依據(jù)協(xié)議解析底層收到的數(shù)據(jù),并將上層數(shù)據(jù)按照協(xié)議進(jìn)行封裝發(fā)送到底層接口;
數(shù)據(jù)管理:數(shù)據(jù)分類存儲(緩存中)、讀取、寫入互斥等功能;
接口管理:管理底層接口,統(tǒng)一處理接口數(shù)據(jù)。
3)硬件平臺仿真層
硬件平臺仿真層主要是適配車載應(yīng)用軟件,為上層應(yīng)用提供數(shù)據(jù)支撐。為了盡量不修改現(xiàn)有應(yīng)用代碼,本層主要實(shí)現(xiàn)以下功能。
應(yīng)用數(shù)據(jù)的封裝解析:依據(jù)原車載平臺和應(yīng)用的數(shù)據(jù)協(xié)議,將底層數(shù)據(jù)封裝送給上層應(yīng)用,并將上層數(shù)據(jù)解析后發(fā)送到底層接口。
原平臺層接口函數(shù)實(shí)現(xiàn):實(shí)現(xiàn)對內(nèi)核系統(tǒng)函數(shù)、平臺層接口函數(shù)的支持。
實(shí)現(xiàn)時(shí)鐘管理、環(huán)境配置、日志記錄、任務(wù)管理和在線調(diào)試等功能。
4)平臺適配層
對專用硬件平臺的任務(wù)進(jìn)行處理,以滿足車載ATP應(yīng)用軟件的需求,包括任務(wù)調(diào)度、配置、通用功能、BTM設(shè)備通信處理等模塊。
5)應(yīng)用程序?qū)?/p>
應(yīng)用軟件層負(fù)責(zé)車載ATP、ATO設(shè)備的核心邏輯處理,負(fù)責(zé)根據(jù)收集到的各種車載外部數(shù)據(jù),處理控車及自動(dòng)超速防護(hù)算法的核心邏輯。
3.2.2 接口差異
1)原接口
如圖5所示,原ATP與ZC、CI、ATS、ATO設(shè)備連接采用網(wǎng)絡(luò)接口,應(yīng)用把數(shù)據(jù)按照各自接口通信協(xié)議封裝后轉(zhuǎn)入車載專用硬件平臺,專用硬件平臺使用網(wǎng)口透傳數(shù)據(jù),安全協(xié)議已在應(yīng)用中實(shí)現(xiàn)。其中,ATP與ATO是有線設(shè)備連接,其他設(shè)備均為無線連接。
圖5 車載子系統(tǒng)原接口Fig.5 Original interface of onboard subsystem
原ATP和仿真設(shè)備之間通過接口平臺連接,接口平臺到硬件平臺之間傳輸數(shù)據(jù)主要有3類:輸入/輸出信息、速度信息、BTM信息。其中輸入/輸出信息通過硬線連接實(shí)現(xiàn),速度信息通過硬線連接實(shí)現(xiàn)脈沖數(shù)、相位的傳遞,BTM信息通過CAN線傳輸。專用硬件平臺通過底層接口實(shí)現(xiàn)數(shù)據(jù)的收發(fā)。數(shù)據(jù)依據(jù)一定格式在數(shù)據(jù)緩存中存取,供上層應(yīng)用處理。
ATP首尾通信及ATP和人機(jī)HMI通信采用CAN總線通信。
2)新接口
如圖6所示,仿真平臺與ZC、CI、ATS、ATO設(shè)備連接采用網(wǎng)絡(luò)接口,應(yīng)用將數(shù)據(jù)按照各自接口通信協(xié)議封裝后轉(zhuǎn)入仿真平臺,仿真平臺提供原有平臺發(fā)送函數(shù)接口。安全協(xié)議已在應(yīng)用程序中實(shí)現(xiàn)。
圖6 車載子系統(tǒng)新接口Fig.6 New interface of onboard subsystem
ATP和仿真系統(tǒng)之間通過網(wǎng)絡(luò)接口直接連接,傳輸數(shù)據(jù)主要有3類:輸入/輸出信息、速度信息、BTM信息。其中輸入/輸出模擬量轉(zhuǎn)化為數(shù)字量,速度信息由仿真子系統(tǒng)發(fā)送脈沖數(shù)和車輪轉(zhuǎn)向,BTM信息采用原有格式(CAN報(bào)文格式)再在外層封裝一層網(wǎng)絡(luò)協(xié)議格式。通信內(nèi)容與原車載仿真平臺和仿真設(shè)備通信內(nèi)容保持一致。
ATP首尾通信及ATP和人機(jī)HMI通信采用網(wǎng)絡(luò)通信,采用原有格式(CAN報(bào)文格式)再在外層封裝一層網(wǎng)絡(luò)協(xié)議格式。
本文3.2章節(jié)中對于宿主環(huán)境中ATP軟件的實(shí)現(xiàn)架構(gòu)和接口進(jìn)行探討研究,分析宿主環(huán)境ATP設(shè)備的實(shí)現(xiàn)方式,基于上述架構(gòu)構(gòu)建的宿主環(huán)境ATP子系統(tǒng)除以下功能外,其他功能均與實(shí)物硬件環(huán)境保持一致。測試方法與半實(shí)物仿真環(huán)境一致,均可采用同樣的測試方法。
1)與平臺相關(guān)的功能:包括平臺版本號校驗(yàn)功能,上電自動(dòng)硬件自檢功能,切系功能,軟件防護(hù)的故障處理宕機(jī)功能, 輸入采集異常處理相關(guān)功能(如輸入防抖功能、雙路采集不一致),雙網(wǎng)相關(guān)邏輯功能。
2)速度傳感器、雷達(dá)、BTM數(shù)據(jù)修改為仿真子系統(tǒng),通過以太網(wǎng)提供,數(shù)據(jù)會有延時(shí),以下相關(guān)功能不可測。
應(yīng)答器丟失判斷相關(guān)功能,空轉(zhuǎn)打滑判斷及補(bǔ)償功能。
通過與ATP一樣的分析方式,對ATS、CI、ZC產(chǎn)品級測試及系統(tǒng)級測試進(jìn)行分析,結(jié)果如表1所示。
表1 CBTC系統(tǒng)云平臺測試方法Tab.1 Test method of CBTC system cloud platform
基于城軌信號系統(tǒng)云平臺的測試架構(gòu)不僅可用于科研項(xiàng)目的產(chǎn)品級、系統(tǒng)級測試,在CBTC各子系統(tǒng)宿主環(huán)境運(yùn)行的開發(fā)與目標(biāo)機(jī)完成同源編譯且全部功能測試后,可逐步應(yīng)用于工程項(xiàng)目。下一步,隨著實(shí)驗(yàn)室云平臺搭建完成,后期可在仿真子系統(tǒng)增加自動(dòng)加車、自動(dòng)駕駛、自動(dòng)緩解緊急制動(dòng)和自動(dòng)折返等功能及外部專業(yè)其他子系統(tǒng)仿真模型(如綜合監(jiān)控、TCMS等子系統(tǒng)),在其基礎(chǔ)之后構(gòu)建CBTC系統(tǒng)產(chǎn)品級、系統(tǒng)級自動(dòng)化測試框架,進(jìn)一步提升生產(chǎn)效率以及產(chǎn)品質(zhì)量。