季忠洪,王俊高,馮浩楠
(1.廣州鐵路(集團(tuán))公司惠州電務(wù)段,廣東惠州 516023;2.中國鐵道科學(xué)研究院通信信號研究所,北京 100081)
?
基于二取二平臺的計算機(jī)聯(lián)鎖軟件異構(gòu)性能分析及設(shè)計
季忠洪1,王俊高2,馮浩楠2
(1.廣州鐵路(集團(tuán))公司惠州電務(wù)段,廣東惠州 516023;2.中國鐵道科學(xué)研究院通信信號研究所,北京 100081)
為了提高聯(lián)鎖系統(tǒng)結(jié)構(gòu)的效能,提出一種執(zhí)行-監(jiān)控的聯(lián)鎖結(jié)構(gòu)。與同構(gòu)、異構(gòu)二取二結(jié)構(gòu)相比,該結(jié)構(gòu)在保證系統(tǒng)功能的前提下,通過降低軟件復(fù)雜度的方法提升結(jié)構(gòu)的可靠性,仿真對比實(shí)驗結(jié)果表明,執(zhí)行-監(jiān)控軟件的復(fù)雜度最低,僅為0.550,證明執(zhí)行-監(jiān)控結(jié)構(gòu)的有效性。
鐵路信號;二乘二取二結(jié)構(gòu);計算機(jī)聯(lián)鎖;復(fù)雜性;可靠性
隨著計算機(jī)、通信、網(wǎng)絡(luò)和容錯冗余技術(shù)的不斷發(fā)展,用于鐵路交通信號控制系統(tǒng)中的計算機(jī)聯(lián)鎖系統(tǒng)從單機(jī)運(yùn)行、雙機(jī)冷備、雙機(jī)熱備向二乘二取二(冗余系統(tǒng))或三取二(容錯系統(tǒng))發(fā)展。目前我國計算機(jī)聯(lián)鎖系統(tǒng)以采用二乘二取二平臺為主流方向,此技術(shù)已經(jīng)在車站列控中心系統(tǒng)、臨時限速服務(wù)器以及車載ATP等信號控制系統(tǒng)得到運(yùn)用。二乘二取二系統(tǒng)由兩系組成,兩系以熱備方式運(yùn)行,每系采用雙CPU運(yùn)行系統(tǒng)軟件,在硬件上完全實(shí)現(xiàn)了比較和冗余,提高了系統(tǒng)的安全性和可靠性[1-3]。
雖然二乘二取二系統(tǒng)在系統(tǒng)的可靠性和安全性都相比雙機(jī)熱備系統(tǒng)有了很大程度的提高,然而作為計算機(jī)聯(lián)鎖系統(tǒng)核心的聯(lián)鎖軟件仍是采用單套軟件,系統(tǒng)每系的兩個CPU同時運(yùn)行相同的聯(lián)鎖軟件進(jìn)行同步輸出比較。此結(jié)構(gòu)僅提高系統(tǒng)的硬件多樣性,只能防止系統(tǒng)CPU及內(nèi)存故障而造成的輸出不一致,不能解決由于軟件的缺陷和運(yùn)行故障而造成的系統(tǒng)故障或失效。因此系統(tǒng)開發(fā)者只能通過嚴(yán)格的軟件開發(fā)管理流程以及大量的軟件測試來提高軟件的可靠性和安全性。但是由于聯(lián)鎖軟件的復(fù)雜度高,影響軟件運(yùn)行的因素繁多,所以在軟件運(yùn)行過程中,影響系統(tǒng)安全的軟件故障仍時有發(fā)生[4-9]。
為解決上述問題,提出一種執(zhí)行-監(jiān)控的結(jié)構(gòu),與同構(gòu)聯(lián)鎖軟件、異構(gòu)聯(lián)鎖軟件結(jié)構(gòu)在軟件復(fù)雜性上進(jìn)行了分析比較,仿真結(jié)果表明,執(zhí)行-監(jiān)控軟件可以在實(shí)現(xiàn)相同功能的情況下,降低了軟件的復(fù)雜性,優(yōu)于同構(gòu)和異構(gòu)結(jié)構(gòu)。
2.1 同構(gòu)結(jié)構(gòu)
計算機(jī)聯(lián)鎖系統(tǒng)的二取二冗余結(jié)構(gòu)大多采用的是同構(gòu)模式,即兩個CPU軟件完成的功能完全相同,這樣的冗余結(jié)構(gòu)符合失效-安全原則,且只有當(dāng)兩個單元取得一致時才能夠執(zhí)行規(guī)定的功能,否則導(dǎo)向安全狀態(tài),可以排除同樣差錯結(jié)構(gòu)的多重非共因故障,其中單系二取二軟件結(jié)構(gòu)參照圖1,但是此結(jié)構(gòu)可能對部分共因故障無法消除。
圖1 雙CPU單軟件系統(tǒng)軟件結(jié)構(gòu)
2.2 異構(gòu)結(jié)構(gòu)
為了能夠排除共因故障,異構(gòu)軟件的二取二模式被提出,即兩個CPU運(yùn)行聯(lián)鎖軟件不同,通過軟件方案的多樣性提高軟件的安全性,軟件異構(gòu)結(jié)構(gòu)參照圖 2。但是此結(jié)構(gòu)仍然存在一些缺點(diǎn):軟件的異構(gòu)性增加了開發(fā)成本和周期,提高了研發(fā)驗證的難度,對結(jié)構(gòu)的同步性也提出了很高的要求。
圖2 雙CPU雙軟件系統(tǒng)軟件結(jié)構(gòu)
2.3 執(zhí)行-監(jiān)控結(jié)構(gòu)
監(jiān)控軟件是對執(zhí)行軟件的運(yùn)行進(jìn)行輸出監(jiān)控,與聯(lián)鎖軟件運(yùn)行在系統(tǒng)的不同CPU中,如圖3所示。監(jiān)控軟件與聯(lián)鎖軟件有相同的輸入條件,運(yùn)行獨(dú)立于聯(lián)鎖軟件,只是當(dāng)聯(lián)鎖軟件有輸出時,才對聯(lián)鎖軟件的輸出和本身輸入條件進(jìn)行比較運(yùn)算,并以運(yùn)算結(jié)果控制聯(lián)鎖軟件的輸出。當(dāng)聯(lián)鎖軟件的輸出不能經(jīng)過監(jiān)控軟件的校核次數(shù)大于規(guī)定次數(shù)后,聯(lián)鎖軟件停止輸出。
圖3 雙CPU聯(lián)鎖軟件結(jié)合監(jiān)控軟件的系統(tǒng)軟件結(jié)構(gòu)
3.1 可靠性分析指標(biāo)
可靠性是衡量系統(tǒng)軟件性能的重要指標(biāo),反映了軟件在規(guī)定時間規(guī)定條件下完成規(guī)定任務(wù)的能力,用于維護(hù)系統(tǒng)的功能的正常執(zhí)行。軟件的可靠性與軟件的復(fù)雜性λ、測試的有效性兩個因素相關(guān)[10-12]。其中軟件復(fù)雜性計算公式如式(1)所示
(1)
式中,軟件復(fù)雜性與程序Halstead度量lnHv、軟件McCabe圈數(shù)lnMl、程序信息流lnIf和軟件代碼行數(shù)lnLOC四個參數(shù)有關(guān)。
3.2 執(zhí)行-監(jiān)控結(jié)構(gòu)處理方法
執(zhí)行-監(jiān)控平臺如圖3所示。聯(lián)鎖軟件與監(jiān)控軟件分別在兩個CPU運(yùn)行。圖4為聯(lián)鎖軟件與監(jiān)控軟件運(yùn)行時序圖。兩個軟件采用不同的開發(fā)人員、不同的編程語言和不同聯(lián)鎖邏輯思想(如基于網(wǎng)絡(luò)結(jié)構(gòu)的鏈表聯(lián)鎖邏輯和基于聯(lián)鎖表結(jié)構(gòu)的列表聯(lián)鎖邏輯)。兩個軟件獨(dú)立運(yùn)行,互不影響,減少系統(tǒng)軟件的同構(gòu)性,提高系統(tǒng)軟件的多樣性。從而提高了系統(tǒng)軟件的可靠性和安全性。
圖4 聯(lián)鎖軟件與監(jiān)控軟件運(yùn)行時序
執(zhí)行軟件包括輸入處理、邏輯處理和安全輸出處理3個階段;而監(jiān)控軟件只包括輸入處理和安全輸出判斷2個階段。
3.2.1 輸入處理
聯(lián)鎖軟件和監(jiān)控軟件都接收從平臺傳遞的系統(tǒng)輸入信息,包括軌旁設(shè)備的采集信息以及聯(lián)鎖上位機(jī)的控制命令。除此之外監(jiān)控軟件還需要把聯(lián)鎖軟件的安全輸出(進(jìn)路信息表和對外驅(qū)動命令)和設(shè)計聯(lián)鎖表作為其輸入。
3.2.2 邏輯運(yùn)算
執(zhí)行軟件根據(jù)車站軌道的網(wǎng)絡(luò)特點(diǎn),把站場軌旁設(shè)備作為網(wǎng)絡(luò)中的節(jié)點(diǎn),在收到系統(tǒng)平臺的軌旁設(shè)備采集信息和上位機(jī)操作的命令信息后,采用網(wǎng)絡(luò)鏈表方式把整個站場設(shè)備用鏈表形式連接起來進(jìn)行邏輯運(yùn)算[13-15]。邏輯軟件包括7個模塊:主模塊(1)、信號模塊(2)、道岔模塊(3)、無岔模塊(4)、邏輯區(qū)段模塊(5)、絕緣模塊(6)和進(jìn)路信息處理模塊(7)。實(shí)現(xiàn)的功能包括:執(zhí)行上位機(jī)操作命令、進(jìn)路的選路邏輯、動作道岔邏輯、進(jìn)路鎖閉邏輯、信號開放邏輯和進(jìn)路及道岔解鎖邏輯。
3.2.3 輸出處理
執(zhí)行軟件在邏輯運(yùn)算完成后得到信息列表,其中信息列表的最后一位為校驗位。信息列表通過平臺傳輸給監(jiān)控軟件,監(jiān)控軟件根據(jù)接收到的軌旁設(shè)備采集信息、上位機(jī)命令和執(zhí)行軟件的計算結(jié)果,與預(yù)存設(shè)計聯(lián)鎖表進(jìn)行校核運(yùn)算,如果一致將校驗位設(shè)置成1并通過返回執(zhí)行軟件。執(zhí)行軟件在收到數(shù)值為1的校驗位后,將對外輸出進(jìn)路信息。如果執(zhí)行軟件得到的校驗結(jié)果為0,將再次發(fā)送與上次同樣的進(jìn)路列表信息給監(jiān)控軟件,要求重新校核。校核次數(shù)達(dá)到規(guī)定的次數(shù)后,仍不能通過校核,則聯(lián)鎖軟件設(shè)置此進(jìn)路故障,將不再發(fā)送此條進(jìn)路信息。
采用TYJL-Ⅲ型硬件平臺,選取站場對執(zhí)行-監(jiān)控結(jié)構(gòu)軟件進(jìn)行仿真測試驗證,測試站場如圖5所示。以圖5中虛線表示的S1-S3的進(jìn)路為例,在聯(lián)鎖軟件排列進(jìn)路時,執(zhí)行軟件運(yùn)行鏈表S1->C1->C3->C9->X3->S3,信息從信號S1傳遞到C1,再從C1傳遞到C3,依次傳遞至S3信號,由此列表就構(gòu)成列從S1到S3的進(jìn)路。消息在從S1到S3或從S3到S1的傳遞過程中,不斷檢查進(jìn)路中有關(guān)軌旁設(shè)備的狀態(tài),把軌旁設(shè)備的狀態(tài)信息附加到鏈表信息中傳遞到進(jìn)路始端信號或終端信號,完成進(jìn)路的邏輯檢查。同時填寫進(jìn)路列表(參照表1)用于與監(jiān)控軟件的信息交互。
圖5 簡單站場平面示意
信息列表是由執(zhí)行軟件生成,格式參照表1。其中進(jìn)路號字段與設(shè)計聯(lián)鎖表中進(jìn)路號對應(yīng),信號顯示字段6代表預(yù)顯示雙黃燈,道岔位置字段數(shù)字序列奇數(shù)位代表道岔的索引,偶數(shù)位表示道岔的位置。如表1中道岔序列表示3,2表示道岔C3道岔反位。道岔鎖閉字段奇數(shù)位代表道岔索引、偶數(shù)位0表示道岔鎖閉,偶數(shù)位1表示道岔未鎖閉。同樣軌道區(qū)段字段奇數(shù)位表示區(qū)段索引,偶數(shù)位1表示區(qū)段空閑。校核結(jié)果字段為0表示未校核通過。
表1 未校核的進(jìn)路列表信息
監(jiān)控軟件在收到執(zhí)行軟件計算完成的進(jìn)路信息表和驅(qū)動命令后,與預(yù)先輸入的設(shè)計聯(lián)鎖表信息進(jìn)行校核。預(yù)存聯(lián)鎖表如表2所示。
表2 監(jiān)控軟件預(yù)存聯(lián)鎖
執(zhí)行軟件發(fā)送給監(jiān)控軟件的進(jìn)路列表如表1所示,進(jìn)路號為1,信號命令尚未執(zhí)行輸出所以為預(yù)雙黃。監(jiān)控軟件參照軌旁設(shè)備采集信息、上位機(jī)命令以及預(yù)先輸入的聯(lián)鎖表中進(jìn)路號為1的數(shù)據(jù)對進(jìn)路表中的信息進(jìn)行校核(表2)。當(dāng)校核通過時,把進(jìn)路列表中表中的校核結(jié)果填寫為1(參照表3),再把同意后的進(jìn)路列表傳遞給執(zhí)行軟件。
表3 校核成功的進(jìn)路列表信息
執(zhí)行軟件再接收到監(jiān)控軟件反饋的進(jìn)路列表信息后,對進(jìn)路信息和原先發(fā)送的進(jìn)路信息進(jìn)行比較。當(dāng)根據(jù)監(jiān)控軟件的校核結(jié)果為1時,系統(tǒng)對外輸出S1信號開放雙黃的命令;當(dāng)監(jiān)控軟件的校核結(jié)果為0時,聯(lián)鎖軟件當(dāng)下次重新開放此條進(jìn)路的信號時,重新填寫此進(jìn)路信息發(fā)送給監(jiān)控軟件。
從信號開放到信號關(guān)閉前,執(zhí)行軟件每個周期都要把此進(jìn)路信息發(fā)送給監(jiān)控軟件對此進(jìn)路進(jìn)行校核。當(dāng)校核錯誤達(dá)到規(guī)定次數(shù)后,執(zhí)行軟件將停止對外輸出,設(shè)置此進(jìn)路為故障狀態(tài)。
根據(jù)第4節(jié)軟件可靠性的測評方法對3種軟件結(jié)構(gòu)的可靠性進(jìn)行評估,由于仿真實(shí)驗對3種軟件的測試方法和硬件平臺是相同的,因此可以不考慮測試有效性這個影響因子,只評估軟件的復(fù)雜性即可。根據(jù)公式(1)得到結(jié)果如表4所示。
表4 3種結(jié)構(gòu)軟件復(fù)雜性
從表4可以看出,3種結(jié)構(gòu)中,異構(gòu)軟件復(fù)雜性略高于同構(gòu)軟件,這是由于異構(gòu)軟件的兩個聯(lián)鎖軟件結(jié)構(gòu)不同,同時還需要增加一些額外代碼來保證兩個聯(lián)鎖軟件同步執(zhí)行。執(zhí)行-監(jiān)督結(jié)構(gòu)的軟件復(fù)雜性最小,僅為0.550,這是因為在監(jiān)控軟件中只有查表程序,與復(fù)雜的邏輯程序相比,從功能角度就決定了監(jiān)控程序非常簡單、便于實(shí)現(xiàn)。此外,執(zhí)行-監(jiān)督軟件實(shí)現(xiàn)了二取二軟件結(jié)構(gòu)的多樣性,保證了系統(tǒng)的可靠運(yùn)行。
執(zhí)行-監(jiān)控軟件結(jié)構(gòu)在增強(qiáng)系統(tǒng)軟件多樣性和安全功能的前提下,彌補(bǔ)了目前同構(gòu)和異構(gòu)軟件系統(tǒng)的不足。相比目前系統(tǒng)軟件結(jié)構(gòu),監(jiān)控軟件的功能簡單,且實(shí)現(xiàn)容易,降低了二取二系統(tǒng)的復(fù)雜度,提高了可靠性,為二取二系統(tǒng)結(jié)構(gòu)進(jìn)一步完善提出了新的實(shí)現(xiàn)方案。
[1] 陳光武,范多旺,魏宗壽,等.基于二乘二取二的全電子計算機(jī)聯(lián)鎖系統(tǒng)[J].中國鐵道科學(xué),2010,31(4):138-143.
[2] 馮雪,王喜富.基于動態(tài)故障樹的計算機(jī)聯(lián)鎖系統(tǒng)可靠性及性能分析研究[J].鐵道學(xué)報,2011,33(12):78-82.
[3] 韓安平,段武.二乘二取二硬件安全冗余信號控制平臺關(guān)鍵部件的安全設(shè)計和可靠性研究[J].鐵路技術(shù)創(chuàng)新,2015(2):99-102.
[4] 馮濤,鄭云水.新型網(wǎng)絡(luò)計算機(jī)聯(lián)鎖仿真系統(tǒng)研究與設(shè)計[J].鐵道標(biāo)準(zhǔn)設(shè)計,2013(3):133-137.
[5] 曠文珍.鐵路車站分布式計算機(jī)聯(lián)鎖[J].中國鐵道科學(xué),2012,33(5):139-143.
[6] 何文卿.6502電器集中電路[M].修訂版.北京:中國鐵道出版社,2005:11-20.
[7] 王鯤,龍廣錢,王俊高,等.計算機(jī)聯(lián)鎖子系統(tǒng)的研究[J].現(xiàn)代城市軌道交通,2012(4):1-3.
[8] 蘇宏升,文俊.區(qū)域計算機(jī)聯(lián)鎖系統(tǒng)安全性分析的動態(tài)故障樹模型與方法研究[J].鐵道學(xué)報,2015,37(3):46-53.
[9] 周夏芳.基于二乘二取二平臺的通信設(shè)計[J].鐵路通信信號工程技術(shù),2014,11(1):59-61.
[10]褚彥明.軟件可靠性中的復(fù)雜度評估[D].上海:上海大學(xué),2008.
[11]徐拾義,張鼎.軟件可靠性新模型研究[J].內(nèi)蒙古大學(xué)學(xué)報,2011,42(5):488-497.
[12]朱經(jīng)紛,徐拾義.軟件可靠性綜合模型的分析和研究[J].計算機(jī)科學(xué),2009,36(4):181-187.
[13]陳光,楊揚(yáng).計算機(jī)聯(lián)鎖系統(tǒng)進(jìn)路表自動生成算法[J].鐵路計算機(jī)應(yīng)用,2015,24(5):5-8.
[14]Wang Dong, Chen Xiangxian, Huang Hai. A graph theory-based approach to route location in railway interlocking[J]. Computers & Industrial Engineering, 2013,66(4):791-799.
[15]Chen Xiangxian, He Yulin, Huang hai. A component-based topology model for railway interlocking systems[J]. Mathematics and Computers in Simulation, 2011,81(9):1892-1900.
Analysis and Design of Heterogeneous Performance of Interlocking Software Based on Two-out-of-two Platform
JI Zhong-hong1, WANG Jun-gao2, FENG Hao-nan2
(1.Huizhou Communication and Signal Division, Guangzhou Railway (Group) Corporation; Huizhou 516023, China;2.Signal and Communication Research Institute, China Academy of Railway Sciences, Beijing 100081, China)
In order to improve the efficiency of the interlocking system, an execution-supervision computer system is developed. Compared with homogeneous and heterogeneous 2 vote 2 system, the novel system improves the reliability by reducing software complexity while keeping the system function. The simulation and comparison results show that the complexity of execution-supervision software is the lowest, only 0.550, which proves the validity of the execution-supervision structure.
Railway signaling; Double 2-vote-2 fault-tolerant architecture; Computer based interlocking system; Complexity; Reliability
2016-04-14;
2016-06-12
中國鐵道科學(xué)研究院通信信號研究所重點(diǎn)計劃(1352TH0202,1352TH0402,1652TH0903)
季忠洪(1971—),男,高級工程師。
1004-2954(2016)11-0135-04
U284.3
A
10.13238/j.issn.1004-2954.2016.11.030