丁治敏
(北京全路通信信號研究設計院集團有限公司,北京 100070)
高速鐵路信號系統(tǒng)是確保高速列車運營安全和高效運行的關鍵裝備。通過科學有效的安全分析手段,找出高鐵信號系統(tǒng)的潛在危險因素,進而保障高鐵信號系統(tǒng)的安全性,對于國內(nèi)高速鐵路的健康發(fā)展至關重要。
由于新技術的引入,高鐵信號系統(tǒng)擁有復雜的系統(tǒng)結構和交互關系,給以往傳統(tǒng)的危險分析方式帶來了難度。針對此問題,基于系統(tǒng)理論事故致因模型及過程(Systems-Theoretic Accident Model and Process,STAMP)成為解決復雜高鐵信號系統(tǒng)安全分析的一種有效手段。使用STAMP理論對高鐵信號系統(tǒng)進行安全分析的起點和基礎是建立系統(tǒng)的STAMP 模型。高鐵信號系統(tǒng)具有復雜的結構和功能,各子系統(tǒng)間又存在錯綜復雜的信息交互關系。顯然,如果建模語言沒有較強且準確的表達能力,很難僅憑分析人員的自然語言表述來構建準確的安全分析模型。然而,現(xiàn)階段基于STAMP 模型進行安全分析,基本都采用自然語言的方式對控制結構進行刻畫,自然語言雖然便于人們溝通、交流,但容易產(chǎn)生歧義或表述不清的問題。雖然有研究采用具有嚴格數(shù)學語義的形式化方法(Formal Method)刻畫STAMP 模型,但是形式化方法包含復雜的數(shù)學概念和公式,不易理解和使用,限制了其在工程界的廣泛應用。
考慮到統(tǒng)一建模語言(Unified Modeling Language,UML)作為一種已被工程界廣泛接受的圖形化建模語言,具有易于使用、表達能力強的特點,而且相比于自然語言具有精確的元模型定義。采用UML 對STAMP 模型進行刻畫,能夠有效解決基于自然語言的STAMP 模型歧義和二義性問題。盡管現(xiàn)有UML 建模機制無法直接刻畫STAMP 模型,但UML 提供針對自身的擴展機制,用戶可以根據(jù)建模對象的特點對傳統(tǒng)的UML 進行擴展,使其能夠充分刻畫建模對象。因此本文利用UML 的擴展機制對現(xiàn)有UML 進行擴展,使其能夠描述高鐵信號系統(tǒng)的STAMP 模型,從而保障高鐵信號系統(tǒng)安全分析建模階段的準確性。
對UML 進行擴展的目的是刻畫STAMP 模型,即分層控制結構,因此首先要明確高鐵信號系統(tǒng)STAMP 模型的特征元素。歸納該結構的特征要素,然后針對這些要素進行UML 擴展。高鐵信號系統(tǒng)STAMP 模型中,有以下幾種重要元素。
1) 控制器:控制器或者說控制者在控制結構中起到發(fā)出控制命令的作用。而控制器生成控制命令的過程還要依賴下面兩種元素。
過程模型:過程模型是控制器對于當前被控過程或被控對象的知識集合,起到數(shù)據(jù)庫的作用。過程模型主要包含過程變量(被控對象的當前狀況、控制過程相關的環(huán)境情況)、各類變量之間的關系(控制過程要遵守的規(guī)則)、以及改變被控對象狀態(tài)的方式。
控制算法:控制算法是控制者根據(jù)過程模型生成控制行為的具體流程。
2) 執(zhí)行器:執(zhí)行器是將控制命令下達給被控對象的結構。當然,在某些情況下,如果執(zhí)行器不屬于被分析的系統(tǒng)且可以假設始終正常工作,可以忽略執(zhí)行器。
3) 傳感器:傳感器是將被控對象的當前狀態(tài)信息反饋給控制器的結構,主要作用是更新控制器過程模型,使過程模型始終反映最新的被控對象情況。
4) 被控對象:在某一控制環(huán)路中,被控對象是根據(jù)控制命令執(zhí)行相關活動的結構。因此,從分層控制結構的角度來看,某一環(huán)路的控制器有可能是上一級環(huán)路的被控對象。
5) 關系:在控制結構中,控制器與被控對象之間存在控制關系和反饋關系,不同的控制器之間存在信息交互關系。
UML 作為一種通用的建模語言,只能對不同領域間共性的元素進行刻畫,無法充分描述具體領域或特定對象的特有元素。因此,需要利用UML 提供的擴展機制對其進行擴展,使其能夠刻畫相應的元素。本節(jié)在第2 節(jié)所分析的STAMP 特征元素的基礎上,使用UML 擴展機制中構造型(Stereotype)的方式對UML 進行面向STAMP 的擴展。
類是對那些具有相同性質對象的抽象描述??梢詫⒖刂破鞒橄鬄橐环N類的概念。類似的,STAMP模型中執(zhí)行器、傳感器以及被控對象均可以類的形式存在??紤]到標準UML 中使用“Class”來對類進行標識,因此針對上述STAMP 的特征元素,分別用控制器類(controllerClass)、執(zhí)行器類(actuatorClass)、傳感器類(sensorClass)以及被控對象類(objectClass)進行標識。上述STAMP 元素類均是在UML 類的元模型基礎上擴展而來,下面分別對其進行介紹。
控制器類:控制器類繼承自標準UML 的類,從而控制器類具備UML 類的特征。另外,在分層控制結構中,控制器對被控對象進行控制的前提是了解被控對象且具備控制算法,因此在控制器類的元模型中,控制器類還有同時關聯(lián)控制算法(Control algorithm)和過程模型(Process model)。 其 中, 控 制 算 法 是 狀 態(tài) 機(State machine)的泛化,即控制算法以狀態(tài)圖的形式呈現(xiàn)。在元模型中,如果兩個元素是一一對應的關系,那么連接線上的數(shù)量值可以省略,因此如圖1 所示,一個控制器類有唯一的控制算法和過程模型。另外,過程模型也是擴展出的新元素,根據(jù)STAMP 的內(nèi)容,過程模型包含變量、變量關系以及改變狀態(tài)的方式等3 方面的內(nèi)容,具體的擴展見下述內(nèi)容。
圖1 控制器類的構造型Fig.1 Stereotype of controller class
過程模型:如前所述,過程模型是控制器對于當前被控過程或被控對象的知識集合,起到數(shù)據(jù)庫的作用。因此,過程模型的元模型主要包括3 方面內(nèi)容:1)過程模型的變量,進一步,變量又可分為系統(tǒng)變量和環(huán)境變量;2)變量間的關系,刻畫了不同變量值的相互制約關系;3)狀態(tài)改變方式。具體的過程模型的構造型如圖2 所示。
圖2 過程模型的構造型Fig.2 Stereotype of process model
圖2 給出了過程模型的構造型,但不同于控制器類在實例化時采用UML 類圖的形式,過程模型的實例化采用對控制器進行約束的形式。具體來講,采用對象約束語言(Object Constraint Language,OCL)進行過程模型實例化描述,同時實例化的過程模型作為控制器的一種約束。過程模型的這種實現(xiàn)形式符合UML2.0 標準關于推薦OCL 作為UML 約束補充的建議。另外,OCL 作為一種規(guī)范的說明性語言,具有準確的語義和語法,與UML 語言結合使用能夠消除自然語言可能帶來的歧義和描述不清的問題。
執(zhí)行器類、傳感器類與被控對象類:與控制器類類似,這3 種“類”也繼承自標準UML 的類,從而具備UML 類的特征。具體的這3 種類構造型如圖3 所示。
前面針對STAMP 模型中的各個實體元素,擴展了UML 的類圖。而這些實體之間還存在各種關系,比如控制器與被控對象間的控制關系、反饋關系、控制器之間的交互關系等??紤]到標準UML 的基礎包定義了關系元素,因此可以在關系元素的基礎上對STAMP 模型中的各種關系進行擴展,從而實現(xiàn)對STAMP 模型中關系的擴展,如圖4 所示。另外,在建模時,分別用直線箭頭、虛線箭頭以及虛點線箭頭對控制、反饋及交互進行圖形化表示。
圖3 執(zhí)行器類、傳感器類和對象類的構造型Fig.3 Stereotypes of actuator class, sensor class and object class
圖4 擴展后的關系元模型Fig.4 Extended relationships meta model
以“在區(qū)間運行時,車載設備獲得行車許可并監(jiān)控列車運行的過程”,即列車在區(qū)間運行時的“行車許可”場景為案例。同時,考慮到車載子系統(tǒng)與無線閉塞中心(Radio Block Center, RBC)、列車、司機之間的交互、以及RBC 與RBC、CTC 與調度員之間交互,足以代表高鐵信號系統(tǒng)內(nèi)部以及與外部環(huán)境的主要交互特征。因此,選取車載子系統(tǒng)、RBC、CTC 代表高鐵信號系統(tǒng),選取調度員、司機代表高鐵信號系統(tǒng)的外部環(huán)境。其中,車載子系統(tǒng)考慮車載安全計算機(Vital Computer, VC)、無線通信模塊(Radio Transmission Module, RTM)、列車接口單元(Train Interface Unit, TIU)、測速測距單元(Speed and Distance Unit, SDU)等部分。
圖5 給出了案例STAMP 模型中UML 類圖。該圖使用擴展后UML 對研究案例的層次化控制結構進行描述。其中,由圖5 可見VC、RBC、CTC、調度員以及司機分別作為各自控制環(huán)路的控制器,并且分別具有各自的控制算法和過程模型。而車載設備中的TIU、SDU 以及RTM 分別起到執(zhí)行器和傳感器的作用。由于調度員、司機作為系統(tǒng)的外部環(huán)境,因此與它們相關的控制環(huán)路作簡化處理,不再深入討論其中的執(zhí)行器和傳感器。限于篇幅,本文僅以RBC 子系統(tǒng)為例,展示其過程模型及控制算法模型,如圖6 所示。其他子系統(tǒng)如CTC、VC 等均具有類似模型成分。
圖5 研究案例STAMP模型中的UML類圖Fig.5 Diagram of UML class in STAMP model of research case
本文從高速鐵路信號系統(tǒng)安全分析建模工作的實際工程需求出發(fā),提取高鐵信號系統(tǒng)STAMP模型的特征元素,明確UML 的擴展需求。在此基礎上,利用UML 的擴展機制從“類”和“關系”兩個方面對現(xiàn)有的UML 建模能力進行擴展設計,形成面向高鐵信號系統(tǒng)STAMP 模型特征的UML。針對高鐵信號系統(tǒng)的典型應用場景進行建模,應用結果表明本文設計的面向高鐵信號系統(tǒng)STAMP 的UML 建模方法,能夠實現(xiàn)對STAMP 模型各項元素的刻畫,并通過采用半形式化的描述結構保障了模型的準確性和易用性,這為推動STAMP 框架下高鐵信號系統(tǒng)安全分析工作的開展提供了有效的建模方法和語言工具。
圖6 研究案例STAMP模型中RBC的過程模型和控制算法Fig.6 Process model and control algorithm of RBC in STAMP model of research case