方云根 潘 鋒 胡小莉
(1.同濟大學交通運輸工程學院, 201804, 上海; 2.中國合格評定國家認可委員會, 100062, 北京; 3.上海軌道交通檢測技術有限公司, 200434, 上海∥第一作者, 工程師)
列車運行控制系統是采用通信、計算機、控制等技術構成的用以保障行車安全的關鍵系統,通常會基于如傳感器、執行單元、通信模塊、實時操作系統、安全計算機等既有部件進行列車自動運行、進路聯鎖控制等具體安全應用的設計開發,用以節省研發成本,加快開發進度。由于既有部件不一定是專門針對軌道交通安全控制系統定制開發的,不能直接滿足軌道交通行業的安全要求,如何在系統開發早期選擇并確定既有部件,開發過程中如何對既有部件進行安全分析,如何確定既有部件的失效檢測和控制策略,如何針對既有部件進行驗證和確認,如何證明基于既有部件能夠滿足系統功能的安全完整度等級(SIL)要求,以上這些是軌道交通列車運行控制系統安全評估過程中經常面臨的問題。
既有部件,是指相對于正在開發設計的系統來說已經存在且不是為當前系統開發的部件。從列車運行控制系統來看,常用的既有部件有商用實時操作系統、安全計算機平臺、工控機、服務器、智能傳感器等。從不同的角度,既有部件的分類如表1所示。

表1 既有部件的分類
按照分類,有SIL證明的既有部件是按照軌道交通安全保障過程開發的,滿足功能安全要求,并且能為新開發系統提供開發所要求的所有安全相關信息,如接口協議、既有部件的安全功能規范、硬件和軟件配置、危險失效率、系統使用的限制和約束、定期檢測和維護要求、安裝和集成要求、安全相關應用條件、運行環境等信息。低復雜部件的特征是已經很好確定了每個獨立元器件的失效模式,可以完全確定部件在故障情況下引發的行為。以上兩種類型的既有部件應用相對簡單,本文主要研究分析無SIL證明、通過市場采購或者企業以往開發的復雜既有部件的應用安全評估。
按照軌道交通安全標準的要求,為證明列車運行控制系統安全功能滿足特定的SIL等級,需要提供整個系統開發過程的安全相關證據。從這個角度來說,既有部件存在以下特點:
1) 缺少或不能提供全系統生命周期的質量和安全管理的過程證據,開發過程不以功能安全為導向,不能確保既有部件沒有系統性失效。
2) 缺少或不能提供功能和技術安全的證據,技術特性和功能是完全或部分未知的,或者從安全角度來看不能保證。由于設計不一定是安全導向的,并且沒有提供用于容錯和故障管理的嵌入式措施,因此無法確保控制系統性失效和隨機性失效。
由于以上兩個特點,使得在列車運行控制系統開發過程中采用既有部件需要進行安全分析并進行控制,以確保系統的安全功能滿足SIL要求。
按照安全標準要求,作為安全關鍵系統,列車運行控制系統的開發需遵循系統安全生命周期,分階段進行設計和開發,并在每一個階段進行驗證工作。由于既有部件在列車運行控制系統中承載部分系統功能,影響系統的安全性,需要在系統架構及需求分配階段分析并確定既有部件應用的相關問題,如圖1所示。
在系統架構及需求分配階段,基于所考慮的系統規模和復雜度,設計人員將需求分配給指定的子系統(軟件、硬件或者軟硬件),并且確定所有子系統之間的接口。在這個過程中,如果確定采用既有部件,則需要考慮如下問題:①既有部件是否滿足功能、性能和接口的需求?②采用什么類型的既有部件來滿足系統需求?③既有部件的功能、性能、接口和應用條件如何?④既有部件的失效是否會危及系統相關的安全需求?⑤如何在系統集成過程中集成既有部件?⑥既有部件有哪些可獲得的安全證明證據?
列車運行控制系統是保障軌道交通行車安全的關鍵系統,其需要完成列車運行進路安全,追蹤列車間距、列車運行速度、列車加速和制動等核心的安全功能。為完成這些安全功能,列車運行控制系統需要實時采集列車和線路的動態信息,進行邏輯運算后輸出控制動作。從控制功能數據流的角度,既有部件在列車運行控制系統中有兩種形式。

圖1 基于部件的列車運行控制系統開發過程
在第一種形式中(見圖2),既有部件作為安全控制數據流的一個獨立節點,執行系統安全功能,如計算機聯鎖系統中采用外購的既有全電子執行單元。第二種方式如圖3所示,既有部件和新開發部件一起作為系統安全控制數據流的一個獨立節點,如軌旁的區域控制器采用安全計算機作為軌旁列車自動控制軟件的應用平臺。這兩種形式中,既有部件都承擔相應的安全功能,其失效都會影響整個列車控制系統安全功能的實現,因此需要采取相應的控制措施。
既有部件失效導致列車運行控制系統功能失效,從而不能完成安全控制功能的根本原因有隨機性失效和系統性失效[1]。隨機性失效發生在硬件上,主要是由于硬件本身固有物理、化學、機械等特性決定的退化機理而產生的,是在隨機時間出現的失效,這類失效發生的概率可以預計,但具體發生的時間不可確定。系統性失效是由于系統的設計、實現、制造過程中,或者是運用和維護過程中由于人為錯誤造成的失效,系統性失效只有針對失效原因進行修改后才能消除,其發生的概率不可精確預計。從安全的角度,系統開發過程中需要識別并控制既有部件以上兩種類型的失效。

圖2 既有部件作為獨立的節點

圖3 既有部件作為節點的一部分
為保證系統安全,需要對既有部件引起的隨機性失效和系統性失效進行識別并提出相應的控制措施。按照標準要求,系統失效的安全風險管控需要從質量管理、安全管理、技術安全設計和量化安全指標計算方面進行,如圖4所示。

圖4 既有部件的安全保障過程
從失效的控制策略執行的角度,可以采用兩種方式證明基于既有部件的列車控制系統滿足系統的安全要求:①既有部件本身滿足分配的安全功能要求和安全完整度要求;②在系統中采用措施消除或控制既有部件失效對系統安全功能的影響。
列車運行控制系統中采用的既有部件應滿足相關系統安全功能所分配的SIL要求,根據既有部件類型和控制策略,針對既有部件有如下安全評估的要求。
既有軟件作為一種常見的既有部件存在形式,應用于所有SIL的系統中,為執行開發過程中的安全分析、開發、驗證和確認工作,開發人員應確保獲取既有軟件的以下信息:①開發中分配給既有軟件的功能和性能要求;②既有軟件已經具有的功能和性能;③既有軟件對應用環境的要求;④既有軟件的外部接口;⑤既有軟件的具體配置。基于以上信息,開發人員在系統開發過程中將既有軟件集成于系統的開發、測試、驗證和確認,并形成相應的文件證據。
既有軟件用于SIL3或SIL4的系統中,除了以上要求之外,還應預防既有軟件可能出現的失效及其對整個軟件系統的影響,同時采取相應措施,以檢測既有軟件的失效,并保護系統不受這些失效的影響[2]。在系統驗證和確認過程中應確保:①既有軟件滿足所分配的需求;②系統可以檢測到既有軟件發生的失效,并可以保護系統不受既有軟件失效的影響;③系統滿足對既有軟件的接口和環境條件。
系統采用由軟硬件組成的既有部件,開發人員需要獲得以下關于既有部件的信息:①所能滿足的功能和性能;②對外接口;③應用限制條件;④失效率;⑤應用環境條件;⑥具體的配置信息。
開發人員需要采用IHA(接口危害分析)或者FMECA(失效模式及影響分析)來識別既有部件引起的危險功能失效。對于識別出來的既有部件每種危險功能失效,都需要根據相關安全功能的SIL(SIL1~SIL4)要求進行如下證明:①由于既有部件內部結構、數據結構或固有物理特性,這些危險功能失效不會發生;②或者為既有部件按照要求的SIL提供完整的安全證明;③或者在外部消除既有部件引起的危險失效,并在規定的時間內強制達到安全狀態,以達到規定的安全目標。
在分析過程中,由于既有部件的失效模式不能追溯到失效的實際原因。因此,當既有部件執行安全功能時,計算系統的危險失效率計算中應將既有部件的所有失效率(安全失效和危險失效)納入計算,必須證明既有部件的失效率與系統安全功能所需的TFFR(可接受危險失效率)相匹配。
有的既有部件雖然在開發過程中沒有遵循安全標準進行開發,但經過長時間的實際應用表明其可靠性和安全性達到了一定的水平,如果列車運行控制系統開發過程中采用了這一類既有部件,則可以考慮采用使用經驗證明(Proven in Use)其安全性或可靠性的要求。采用這一方法時,進行安全評估時要考慮以下方面的證據:①既有部件在應用過程中的配置沒有發生變化;②系統所需要的功能在既有部件的應用中已經使用;③既有部件至少在10個以上的不同地點進行1年以上的應用[1];④具有嚴格的故障報告記錄系統,可以提供既有部件在應用過程中發生的所有故障信息;⑤根據SIL確定的具體無安全相關故障運行時間證明。
對于既有部件需要具有的無危險性失效的運行時間,參照基礎安全標準IEC 61508中[3]的要求,針對不同的SIL和數據置信度,其要求的無失效總運行小時如表2所示。

表2 既有部件的分類
列車運行控制系統開發過程中采用既有部件可以加快開發進度,但既有部件的使用應滿足系統所分配的安全要求。通過以上分析可知,采用既有部件承擔部分列車運行控制系統安全功能是一個可行的做法,但需要針對既有部件的類型和特點進行安全分析,并將既有部件納入到系統的設計、開發、驗證和確認活動中,在這個過程中收集既有部件的相關信息和安全證據。同時,根據系統安全要求,開發設計過程中需要采取相應的安全措施,以檢測并控制既有部件的失效。