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