劉金濤,李克平
(1.北京交通大學 國家軌道交通安全評估研究中心, 北京 100044;2.北京交通大學 軌道交通控制與安全國家重點實驗室,北京 100044)
無線閉塞中心RBC(Radio Block Center)作為我國CTCS-3級列車運行控制系統的核心子系統,向列車提供移動授權MA(Movement Authority)及各種靜態、動態線路信息以保障列車的安全運行。由于RBC的管轄范圍有限,在相鄰RBC之間要進行列車控制權的交接。在RBC交接過程中出現任何與MA、線路信息等有關的問題,都有可能影響高速列車的正常運行,甚至導致高速鐵路安全事故。根據鐵路安全標準EN 50129[1]的要求,要在系統生命周期的需求階段對系統實施危險因素分析,找出可能的危險致因,以便為后續的系統安全設計和安全評估提供依據。因此,在需求階段對RBC交接過程進行危險因素分析,對于保障RBC交接過程中列車的安全運行具有重要意義。
需求階段的危險因素分析是對系統需求規范所描述的系統進行分析。由于系統需求規范采用不同類型的描述方式(如術語描述、結構描述、場景描述等)從多種角度描述系統需求,并且不同類型的描述又相互關聯(參見《CTCS-3級列控系統需求規范》[2]),因此保證了系統需求規范的邏輯嚴密性,但也帶來了復雜的表述以及部分信息的重疊。這就要求用于危險因素分析的建模語言要具有較強且無二義性的表達能力。另外,從控制結構的角度來講,RBC交接過程中存在控制-反饋回路(如RBC與車載設備、車載設備與列車等),而控制-反饋結構容易造成危險致因之間非線性的因果關系[3],增加了危險因素分析的難度。
目前應用較為廣泛的系統危險因素分析方法主要基于事件鏈機制,代表方法有故障樹分析FTA、失效模式影響分析FMEA等。這類方法認為系統危險的出現是由一系列因果關系事件的順序發生所導致的。基于事件鏈的分析方法易操作,但是難以分析非線性因果關系的致因事件[3]。另外,此類方法受分析人員技能水平的影響較大。為此,有學者研究基于模型的危險因素分析方法[4-6], 該方法以系統狀態模型或失效邏輯模型為基礎,例如NuSMV模型[4]、AADL模型[5]、FPTN模型[6]等,并利用形式化分析工具自動進行致因分析,在一定程度上減少了分析人員的技能水平對于分析結果準確性的影響。但是,基于模型的方法在本質上也屬于基于事件鏈的方法,難以分析非線性因果關系的致因事件。
與前述方法不同,基于系統理論的事故模型及過程[3]STAMP(System-theoretic Accident Model and Processes),以分層控制結構作為分析模型,從控制的角度來分析安全問題。STAMP關注系統內部的控制與反饋過程,能夠充分分析非線性因果關系的危險致因。因此,本文基于STAMP理論對RBC交接過程進行危險因素分析。但是,現有研究[7-8]主要使用自然語言來描述分層控制結構,容易出現歧義或表述模糊的情況,難以滿足需求階段危險因素分析對建模語言的要求。而且,目前基于STAMP進行危險因素分析完全依靠分析人員進行人工實施,分析結果可信度受分析人員技能水平的影響較大。
考慮到形式化的混成自動機[9]HA(Hybrid Automata)具有準確、無二義性、可進行圖形化建模的優點,且對象約束語言OCL(Object Constraint Language)[10]能夠對圖形化模型無法表達的建模信息進行描述,本文使用混成自動機結合OCL來描述分層控制結構。另外,在混成自動機模型的基礎上,本文利用形式化的可達性分析對部分危險因素進行自動化辨識。
STAMP基于系統論的觀點認為系統具有層次化的控制結構,即系統由多個不同層次的控制環路組成,其中上一層的組織或結構通過控制過程來向下一層的組織或結構施加約束,同時下一層通過反饋過程向上一層反映約束的執行情況。在這種層次控制過程中,如果某一層出現了不安全的控制,整個系統的安全就難以保證。文獻[3]給出了詳細的不安全控制分類,比如控制器向被控者發出錯誤的控制命令,控制器在必要的時候沒有提供控制命令等等。不安全的控制是系統事故出現的直接致因,而不安全控制行為則是由系統中的控制缺陷(如控制算法存在問題、執行器存在問題等)導致的,因此控制缺陷是系統事故的根本致因。控制缺陷的一般分類可參見文獻[3],在此不再贅述。
基于STAMP分析系統危險的致因,主要分為以下幾個步驟:針對已經辨識出的系統危險,建立系統的分層控制結構;根據分層控制結構,找出系統中潛在的不安全控制;依據控制缺陷分類,進一步分析不安全控制出現的原因——控制缺陷,即系統危險的根本致因。
基于STAMP理論,需求階段的危險因素分析方法如圖1所示,分為3步:步驟1,針對待分析的系統級危險,建立需求階段的危險因素分析模型,即系統分層控制結構;步驟2,辨識潛在的導致系統危險的不安全控制;步驟3,依據需求階段的控制缺陷分類,通過人工分析和形式化分析相結合的方式,確定控制缺陷。

圖1 需求階段的危險因素分析方法框圖
本文提出的需求階段的危險因素分析方法與以往基于STAMP的危險因素分析過程一致,主要區別在于:在步驟1中采用分層控制框圖、混成自動機以及對象約束語言OCL實現系統分層控制結構的刻畫,而非自然語言形式的分層控制結構構建方式;在步驟3中依據需求階段的控制缺陷分類實施危險因素分析,而非系統運行階段的控制缺陷分類;在步驟3中采用人工分析與形式化分析相結合的方式辨識控制缺陷,而非完全的人工分析方式。
根據STAMP理論,危險因素分析模型由系統組件間的控制反饋關系、控制器內部的控制算法、過程模型、執行器和傳感器的工作過程等內容組成[2]。對此,本文采用如下建模策略分別針對不同內容進行建模,從而最終構成危險因素分析模型。
(1)采用STAMP理論中的分層控制框圖[2]對RBC交接過程中各組件的關系進行刻畫。其中,組件間的控制關系以向下的箭頭進行表示,反饋關系以向上的箭頭進行表示。
(2)利用混成自動機[9]對控制算法、執行器和傳感器的工作過程進行刻畫。其中,利用混成自動機的狀態表示控制算法的具體步驟,利用狀態遷移觸發條件表示算法各步驟的判定條件,利用混成自動機的狀態遷移過程刻畫相應組件的動態工作過程。
(3)除了上述分層控制關系、控制算法、執行器和傳感器之外,危險因素分析模型中還包含控制器的過程模型。過程模型是控制器對被控過程的理解和認知,例如,在RBC交接過程中RBC的過程模型就是列車當前狀態、周圍環境等信息的集合。
根據STAMP理論對于過程模型的描述,本文給出過程模型的形式化定義如下。
定義1控制器中的過程模型PM(Process Model)是一個五元組,PM= (S,E,f,R,W),其中:
(1)S={Si,i=1, 2, …,N}是一個非空有限的系統變量集合,N為被控對象的系統變量總個數,Si為被控對象的第i個系統變量。
(2)E={Ej,j=1, 2, …,M}是一個非空有限的環境變量集合,M為被控對象所處環境的環境變量總數,Ej為被控對象的第j個環境變量。
(3)f:S→{S,E}為變量集合之間的關系函數,且f={fS,fE},fS為系統變量之間的關系函數,fE為系統變量與環境變量之間的關系函數。
(4)R={fS(Si,Sk) ,fE(Sl,Ej)}是變量之間的關系集合,其中,{Si,Sk,Sl,i≠k}?S且Ej∈E。
(5)W={Wp(Si) ,Si∈S,p=1, 2, …,V}是改變被控對象狀態的行為集合,其自變量為被控對象的系統變量。
根據上述過程模型的定義,過程模型主要包含系統變量、環境變量、變量間的關系以及改變系統狀態的方式等內容。對此,本文采用對象約束語言OCL[10]分別對各項內容進行描述。
建立系統的危險因素分析模型之后,可辨識系統中潛在的不安全控制。這些不安全控制是系統危險的直接致因,而導致不安全控制的控制缺陷才是危險的根本致因。在此,需要依據一定的控制缺陷分類作為指導原則辨識控制缺陷。
雖然STAMP給出了控制缺陷的一般性分類[3],但是這些控制缺陷反映的是系統實際運行中的危險因素,例如,不恰當的執行器操作會導致控制行為的錯誤實施;錯誤的修改控制算法會造成錯誤的控制行為等。需求階段的系統由系統需求規范SRS(System Requirements Specification)來描述,反映的是需求層面的系統結構、工作流程等信息,因而此階段的控制缺陷將有不同的表現形式。
為了明確需求階段的控制缺陷分類,本文定義了影響控制行為的因素集合。
定義2控制器的控制行為CA(Control Action)受五元組(AL,PM,C,A,F)的影響表示為
(AL,PM,C,A,F)→CA
( 1 )
式中:AL表示控制器的控制算法,在需求階段,AL由系統需求規范進行描述,并且通過控制器中的功能模塊來具體實現;PM表示控制器中的過程模型,在需求階段,PM由系統需求規范進行定義,同時其變量的初始值由控制器的輸入決定;C表示控制器的協作關系,控制器各自的責任及與其他控制器的關系由系統需求規范進行定義說明;A表示控制環路中的執行器,在需求階段,A的功能由系統需求規范進行描述,并且通過其內部功能模塊來具體實現;F表示控制環路中的反饋過程,反饋機制由系統需求規范進行定義,并且通過傳感器的內部功能模塊具體實現。
根據上述定義可以看出,影響控制行為的各類因素在需求階段主要由以下3方面內容決定:控制器的輸入、控制環路中各個組件的功能模塊以及系統需求規范的描述。如果這3方面內容出現問題,定義2中的5類元素就會相應出現問題,進而導致不安全的控制行為。根據定義2中的內容,得到需求階段控制缺陷的一般性分類,如圖2所示。

圖2 需求階段的控制缺陷分類
圖2給出的控制缺陷分類主要面向系統需求階段。根據控制缺陷不同的來源,圖2所示的控制缺陷可分為:與控制器輸入相關的控制缺陷、與組件功能模塊相關的控制缺陷以及與系統需求規范相關的控制缺陷。后續的危險因素分析將依據這種控制缺陷分類來展開。
根據需求階段的控制缺陷分類,可分析造成不安全控制的原因,即系統危險的根本致因。本文采用人工分析和形式化分析相結合的方式來辨識控制缺陷,如圖3所示。

圖3 控制缺陷分析方法框圖
圖3左邊虛線框表示通過人工分析的方式,辨識與控制器輸入相關的控制缺陷。其中,主要依據“控制器的輸入錯誤、缺失或沒有及時更新”作為引導詞,對該類控制缺陷進行辨識。
圖3右邊虛線框表示利用可達性分析[11],辨識與組件功能模塊相關以及與系統需求規范相關的控制缺陷,包括:
(1)根據危險因素分析模型中的混成自動機模型,建立形式化工具可執行的PHAVer模型。
(2)基于形式化的PHAVer模型,將不安全控制作為目標集合進行可達性分析。如果目標集合可達,則根據工具給出的系統可達集合逆向確認與系統需求規范SRS相關的控制缺陷;如果目標集合不可達,則不存在該類控制缺陷。
(3)基于形式化的PHAVer模型,利用故障注入的方式對其進行擴展。利用擴展后的模型,進行可達性分析,辨識與組件功能模塊相關的控制缺陷。對于該過程的具體實現,可詳見文獻[12]。
在CTCS-3級系統中,列車車載設備向RBC報告列車當前的位置等信息,并接收由RBC提供的移動授權MA(Movement Authority)。由于RBC的管轄范圍有限,列車從當前RBC(移交RBC)管轄區域行駛至相鄰RBC(接收RBC)管轄區域時,列車控制權要進行相應的交接,為此《CTCS-3級系統需求規范》[2]規定了詳細的流程,這個過程稱之為RBC交接。RBC交接過程可根據列車車載電臺的工作情況分為:只有一部電臺正常的RBC交接和兩部電臺都正常的RBC交接。本文僅考慮兩部電臺同時工作的RBC交接過程。
在兩部電臺都正常的情況下,當列車通過RBC切換預告應答器組后,車載設備向“移交RBC”發送列車位置報告。“移交RBC”接收到位置報告后,向列車及“接收RBC”發送相應信息,從而正式發起交接過程。一方面,“移交RBC”根據“接收RBC”提供的信息,生成包含邊界的MA并發送給列車;另一方面,列車與“接收RBC”建立會話。當列車的最大安全前端通過交接邊界后,“接收RBC”將接管列車控制權并通知“移交RBC”。當列車最小安全末端經過邊界應答器組后,列車與“移交RBC”最終結束會話。詳細的交接流程可參見文獻[12]。
另外,本文選取“在RBC交接過程中,CTCS-3級列控系統未能防止列車超出安全的速度及距離限制”作為待分析的系統級危險。

圖4 RBC交接過程的分層控制框圖
根據前述內容,首先建立系統的分層控制框圖,如圖4所示。圖4給出了RBC交接過程的系統分層控制框圖。其中,Handover RBC表示移交RBC;Takeover RBC表示接收RBC;OBE表示車載設備;Train表示列車。圖4中向下的箭頭表示控制,例如車載設備控制列車;向上的箭頭表示反饋,例如列車向車載設備反饋當前速度;水平箭頭表示控制器之間的信息交互,例如“移交RBC”與“接收RBC”之間存在信息交互。圖4中箭頭旁的信息表示相應的控制命令、反饋數據或交互信息,其具體含義見表1。
在圖4所示的分層控制結構中,兩個RBC以及車載設備作為控制器,具有控制算法和過程模型。針對各自的控制算法以及列車的運行過程,建立相應的混成自動機模型,如圖5所示。

表1 圖4中信息的含義

圖5 RBC交接過程的混成自動機模型
圖5(a)給出了RBC交接過程中車載設備的混成自動機模型。其中,該模型由并發的上下兩個自動機模型組成。上部的模型僅有一個通信狀態Comm,表示車載設備與RBC的通信過程,包含發送位置報告、接收通信版本信息等;下部的模型主要描述車載設備對列車的監控算法,包括曲線計算CurveCal、監控Supervision、報警Warning、常用制動觸發ServiceBrake、緊急制動觸發EmergBrake等狀態,車載設備首先計算速度監控曲線,然后進行速度比較,最后根據相應的結果選擇實施報警、常用制動或緊急制動。
圖5(b)所示混成自動機模型描述了交接過程中列車的運行狀態,包括加速Acc、減速Dec、常用制動SBrake以及緊急制動EBrake。其中,關鍵字flow所引導的微分表達式描述了列車的動態行駛過程,不變集inv對列車的速度、加速度取值進行了約束。常數A和-B分別代表列車的最大加速度和最大減速度,mV和k分別代表期望速度值和實際偏差值。
圖5(c)給出了RBC交接過程中“移交RBC”和“接收RBC”的混成自動機模型,該模型由并發的上中下3個自動機模型組成。上部的模型描述了“移交RBC”的移交控制算法,包括起始Initial-a、消息處理Handle-a、預移交PreHand以及移交Handover等4個過程。中部模型描述了“接收RBC”的接管控制算法,包括起始Initial-b、消息處理Handle-b以及接管Takeover等3個過程。最下部的模型描述了“移交RBC”和“接收RBC”對列車的控制算法,包括列車管理TrainManage、進路檢查RouteCheck、移動授權縮短MAShorten、移動授權計算MACalculate和消息發送MesgSend等過程。圖5中的消息含義參見表1。
根據定義1,建立RBC和車載設備的過程模型,如圖6、圖7所示。其中,圖6所示的過程模型同屬于“移交RBC”和“接收RBC”,對RBC中的列車位置、進路情況等變量進行聲明,并刻畫了各變量間的約束關系,例如進路的取消將導致MA的縮短等。另外,還對改變變量取值的方式進行了描述。圖7所示過程模型對車載設備中列車速度、列車位置、MA終點等變量進行了聲明,給出了變量間的約束關系,例如列車制動距離不能超過MA終點等。此外,還描述了車載設備改變列車狀態的方式,如常用制動、緊急制動等。

圖6 RBC的過程模型

圖7 車載設備的過程模型
根據圖1所示方法,步驟2和步驟3要分析系統危險的致因。其中,步驟2辨識不安全控制,步驟3辨識導致不安全控制的控制缺陷。
3.3.1 不安全的控制
根據圖4給出的控制框圖,辨識出導致系統級危險“在RBC交接過程中,CTCS-3級列控系統未能防止列車超出安全的速度及距離限制”的不安全控制UCA(Unsafe Control Action)如下:
UCA1:在RBC交接過程中,“移交RBC”向車載設備提供了錯誤的包含交接邊界的MA。
UCA2:列車接近交接邊界且“接收RBC”轄區內進路發生變化時,“移交RBC”未及時縮短MA。
UCA3:存在臨時限速時,“移交RBC”沒有向車載設備提供臨時限速。
UCA4:存在臨時限速時,“移交RBC”提供了錯誤的臨時限速。
UCA5:當需要車載設備實施制動時,車載設備沒有提供制動命令。
3.3.2 控制缺陷分析
對于與控制器輸入相關的控制缺陷ICF(Input- related Control Flaws),以圖2所示的“控制器的輸入錯誤、缺失或者沒有及時更新”作為引導詞,并結合圖6、圖7所示過程模型,進行人工分析,結果如下:
UCA1:在RBC交接過程中,“移交RBC”向車載設備提供了錯誤的包含交接邊界的MA。
ICF1.1:“接收RBC”向“移交RBC”提供的轄區內進路信息錯誤;
ICF1.2:“移交RBC”獲得錯誤的列車位置;
ICF1.3:“移交RBC”獲得錯誤的列車數據。
UCA2:列車接近交接邊界且“接收RBC”轄區內進路發生變化時,“移交RBC”未及時縮短MA。
ICF2.1:“接收RBC”沒有及時向“移交RBC”提供新的進路信息;
ICF2.2:“移交RBC”中的列車位置更新不及時。
UCA3:存在臨時限速時,“移交RBC”沒有向車載設備提供臨時限速。
ICF3.1:“移交RBC”未收到臨時限速;
ICF3.2:“移交RBC”收到的臨時限速設置范圍錯誤。
UCA4:存在臨時限速時,“移交RBC”提供了錯誤的臨時限速。
ICF4.1:“移交RBC”收到的臨時限速錯誤。
UCA5:當需要車載設備實施制動時,車載設備沒有提供制動命令。
ICF5.1:車載設備獲得錯誤的列車實際速度;
ICF5.2:車載設備中用于計算速度距離曲線的列車數據錯誤;
ICF5.3:車載設備獲得錯誤的線路描述數據;
ICF5.4:車載設備獲得錯誤的MA信息。
對于與組件功能模塊相關的控制缺陷以及與系統需求規范相關的控制缺陷,利用形式化的方式進行辨識。
首先,將圖5所示的混成自動機模型轉換為形式化工具可執行的PHAVer模型,限于篇幅,模型片段如圖8所示。

圖8 PHAVer模型片段
其次,將不安全控制描述為目標集合的形式,見表2。利用形式化工具PHAVer對模型進行可達性分析。結果顯示目標集合不可達,說明不存在與系統需求規范相關的控制缺陷。

表2 不安全控制及相應的功能相關控制缺陷
最后,根據經驗并參考文獻[13]所列舉的組件功能故障情況,選取48個與車載設備及RBC相關的故障進行故障注入,即在系統PHAVer模型中增加故障情況下的狀態遷移,構成擴展后的形式化模型。同樣以表2所示的不安控制為目標集合,利用形式化工具PHAVer對擴展后的模型進行可達性分析。結果顯示目標集合可達,即注入故障之后,系統中將會出現不安全控制。根據形式化工具給出的可達狀態集合,可確定與組件功能模塊相關的控制缺陷,見表2。其中,表2中功能模塊故障含義見表3。

表3 功能模塊故障的含義

表3(續)
文獻[13-14]采用傳統的FTA和FMEA對需求階段的ETCS-2級列控系統RBC交接進行了危險致因分析。將上述文獻與本文工作進行比較后發現:
(1)上述文獻對于與輸入相關的危險致因描述并不詳細。例如,文獻[13]將“不正確的地面子系統輸入數據”作為危險致因,并沒有描述不正確輸入的相關詳細內容。而詳細的致因信息是后續系統安全設計和安全評估的重要依據。相比之下,本文分析與輸入相關的控制缺陷時,不僅明確了是哪些不正確的輸入導致危險,還指出了不正確輸入的類型(錯誤、缺失或者更新不及時),比如,RBC獲取的限速信息錯誤、RBC中的列車位置更新不及時等。造成這種差異的原因在于:故障樹本身不含有引導詞,其分析的細致程度更多的是由分析人員的主觀經驗來決定。而本文使用了不安全控制分類、需求階段控制缺陷分類等起引導詞作用的信息,有助于更細致的分析。
(2)當針對不同的系統危險進行分析時,文獻[13-14]的分析過程重用性較差。而本文所建的分層控制框圖、混成自動機模型以及過程模型可重復用于不同危險的分析。
除上述基于FTA、FMEA的危險因素分析外,文獻[4-5]采用基于形式化模型的方式來分析系統危險因素。利用形式化模型(如SMV模型、AADL模型等)描述系統狀態,通過故障注入的方式將系統組件的功能故障添加至形式化模型,利用模型檢驗的方式分析系統危險致因。然而,這些形式化的分析方法采用故障注入的方式,難以分析除組件功能故障之外的危險致因。相比之下,本文利用人工分析與形式化分析相結合的方式既能分析與組件功能相關的致因,又能分析與組件輸入相關的致因。另外,文獻[4-5]采用模型檢驗技術進行危險因素分析,當系統變量較多時易出現“狀態空間爆炸”的問題。而本文所采用的可達性分析技術則不存在此類問題。
本文采用分層控制框圖刻畫RBC交接過程中的控制-反饋關系,并利用混成自動機HA和對象約束語言OCL分別描述其中的控制算法、過程模型等內容,實現對需求階段RBC交接分層控制結構的刻畫。針對RBC交接過程中具體的系統危險,依據需求階段的控制缺陷分類,利用人工分析和形式化分析相結合的方式辨識系統危險的根本致因。將分析結果與現有研究結果進行比較,結果表明本文所提方法適用于需求階段的RBC交接危險因素分析。
參考文獻:
[1]CENELEC. Standard EN 50129 Railway Applications: Communications, Signaling and Processing Systems Safety Related Electronic Systems for Signaling [S]. 2003.
[2]中華人民共和國鐵道部. CTCS-3級列控系統系統需求規范(SRS) [S]. 北京:中國鐵道出版社,2009.
[3]LEVESON N G. Engineering a Safer World: Systems Thinking Applied to Safety Engineering Systems [M]. Massachusetts: MIT Press, 2012.
[4]VILLAFIORITA A. The FSAP/NuSMV-SA Safety Analysis Platform [J]. International Journal on Software Tools for Technology Transfer, 2007, 9(1):5-24.
[5]BOZZANO M. Safety, Dependability and Performance Analysis of Extended AADL Models [J]. The Computer Journal, 2010, 54(5):1-22.
[6]RU N, TAO T. A Model-based Framework for the Safety Analysis of Computer-based Railway Signaling Systems [C]// Computer System Design and Operation in the Railway and other Transit Systems, 2010, 114: 827-838.
[7]ISHIMATSU T. Hazard Analysis of Complex Spacecraft Using Systems-theoretic Process Analysis [J]. Journal of Spacecraft & Rockets, 2014, 51(2):509-522.
[8]LU Y Z, SHU G T. STAMP-based Safety Control Approach for Flight Testing of a Low-cost Unmanned Subscale Blended-wing-body Demonstrator [J]. Safety Science, 2015, 74:102-113.
[9]THOMAS A, HENZINGER Z. The Theory of Hybrid Automata [C]// Proceedings of the 11th Annual IEEE Symposium on Logic in Computer Science. New York: IEEE,1996: 278-292.
[10]CORREA A, WERNER C, BARROS M. Refactoring to Improve the Understandability of Specifications Written in Object Constraint Language [J]. IET Software, 2009, 3(2): 69-90.
[11]DANG T, TESTYLIER R. Reachability Analysis for Polynomial Dynamical Systems Using the Bernstein Expansion [J]. Reliable Computing, 2013:128-152.
[12]劉金濤,唐濤,趙林,等. 基于UML模型的CTCS-3級列控系統功能安全分析方法[J]. 鐵道學報, 2013, 35(10):59-66.
LIU Jintao, TANG Tao, ZHAO Lin, et al. Functional Safety Analysis of CTCS-3 Train Control System Based on
UML Model [J]. Journal of the Railway Society, 2013, 35(10):59-66.
[13]ERTMS/ETCS SUBSET-088: ETCS Application Level 2- Safety Analysis Part 1-Functional Fault Tree [EB/OL]. http://www.era.europa.eu.2016-08-01.
[14]ERTMS/ETCS SUBSET-078: Failure Modes and Effects Analysis for ETCS Application Level 2 [EB/OL]. http://www.era.europa.eu.2016-08-01.