白 銳,康隨武
(蘭州交通大學 電子與信息工程學院,蘭州 730070)
SCADE在城市軌道交通ATP軟件建模中的應用
白 銳,康隨武
(蘭州交通大學 電子與信息工程學院,蘭州 730070)
列車自動防護(ATP)系統是基于通信列車控制 (CBTC) 系統的重要組成部分。車載ATP在列車運行過程中擔負列車安全運行的重要任務,是與安全直接相關的系統,需要高的安全性和可靠性。為了滿足車載ATP軟件對安全的需求,提出了基于模型的軟件開發方法對ATP進行建模。應用SCADE作為開發工具,建立了ATP系統部分功能的模型,說明了SCADE在ATP軟件建模上的可行性。
列車自動防護;安全相關;SCADE
列車自動防護(ATP)系統是CBTC系統的子系統,它負責列車的安全運行,并在緊急情況下采取措施來保證乘客的安全。ATP子系統連續檢測列車的位置,計算列車運行的速度曲線和速度限制,提供給列車移動授權,保證前后車的安全間距及超速防護,控制車門和站臺屏蔽門的開關,確保旅客的上下車安全[1]。
SCADE[2](Safety-Critical Application Development Environment)是高安全性應用開發環境,覆蓋了嵌入式開發的整個流程,是一個以軟件模型設計為中心而非傳統的以程序代碼為中心的軟件開發工具。基于SCADE的軟件開發流程從需求出發,用圖形化建模的方式來實現概要設計和詳細設計,采用基于模型構造系統的設計方法。利用SCADE提供的開發工具,可以從模型自動生成代碼,且不必對所生成代碼進行單元測試,減少了手工編碼和測試工作量,在航空、航天、國防、核電等安全要求極高的領域應用非常廣泛。
1.1 傳統的軟件開發模式
傳統的軟件開發流程是一個“V”型的開發流程[3],軟件開發中所有的工作都是以手工編碼和以代碼為中心而開展的。包括需求分析、概要設計、詳細設計、編碼、單元測試、集成測試、系統測試等7個進程。整個軟件開發流程的核心就是軟件編碼,設計過程中所做需求分析、概要設計、詳細設計都是為了下一步的編碼。而單元測試、集成測試、軟件產品確認都是為了驗證代碼的正確性,如圖1所示。
傳統的軟件開發流程主要存在以下不足:
(1)概要設計、詳細設計以圖表、自然語言表達,存在歧義,無法模擬仿真,不能保證正確體現規范要求;

圖1 傳統的軟件“V”型開發流程

圖2 基于模型的軟件開發流程
(2)軟件開發完成之后難免會出現錯誤,后期修改難度大;
(3)對代碼進行單元測試的工作量大;
(4)手工編碼可靠性低;
(5)軟件開發周期長,開發成本高。
1.2 SCADE基于模型的軟件開發模式
基于模型的軟件開發模式是一種面向模型的軟件設計方法,其基礎是模型和表達模型的語言。將目標系統建立滿足需求的圖形化模型,實現了需求分析、概要設計和詳細設計。模型表達比傳統開發模式采用的自然語言更能準確地表明設計需求,保證了建立的模型與需求的一致性。并且可以直接對模型進行早期模擬仿真和證明,在軟件開發的早期階段發現錯誤。SCADE軟件就是在這個理念上應運而生的。
根據需求所建立的SCADE 圖形化模型包含了軟件將實現的所有規范要求,可以將其視為SCADE 形式化功能規范。建模之后需要對模型進行確認,在SCADE 開發環境下可以對模型自動生成測試,在模型階段對建立的模型進行單元測試和集成測試,確認模型是否正確、完整地體現了其上層規范的需求。
在對模型進行確認后,使用SCADE 的代碼生成器,可以將所建立的模型自動轉化為直接面向工程的ANSI C代碼,簡化了開發模式中的“編碼”過程,并且避免了傳統開發模式中手工編寫代碼引入的人工錯誤,提高了軟件的可靠性。此外,無需對所生成的代碼進行單元測試,節省了開發時間,提高了開發效率。因此,基于SCADE 進行軟件開發,使軟件開發模式實現了從“V” 型到“Y” 型的轉化。基于模型的軟件開發模式如圖2所示。
2.1 SCADESuite環境
LUSTRE是一種同步程序設計語言,是SCADE系統的核心部分。當應用SCADE開發環境時,需要對系統進行建模,再用設計時所用的圖形描述符轉化成LUSTRE語言,然后在此基礎上完成軟件設計過程中的靜態檢查、模擬仿真、形式驗證、覆蓋率分析,最后生成滿足EN50128安全標準的C代碼。
2.2 SCADE的軟件建模方法
2.2.1 數據流圖
數據流圖從數據傳遞和加工的角度,以圖形方式表達系統的邏輯功能、數據在系統內部的邏輯流向和邏輯變換過程,是結構化系統分析方法的主要表達工具。適用于對系統的過程進行描述,模型用系統的輸入輸出數據流和圖形化的操作符一起搭建模型。
2.2.2 有限狀態機
有限狀態機用來表示有限個狀態以及這些狀態之間的轉移和動作行為的數學模型。
2.2.3 安全狀態機
安全狀態機用豐富的形式化方法來處理復雜的結構,適用于離散控制系統。它提供了順序、優先級、層次、并行的狀態結構。安全狀態機的圖形化方法可以很好的對反應式系統建模,它用一系列的狀態、轉移和信號來表示反應式系統的控制邏輯。系統的進展用狀態和狀態之間的轉移來表示,轉移用信號來觸發。
2.3 基于SCADE的ATP功能建模
2.3.1 用數據流圖對列車間隔控制進行建模
要測試列車的間隔距離是否在一個安全的范圍內,ATP系統要計算列車的移動授權(MA),當列車匹配的進路范圍內有通信列車正在運行時,前方列車將被視為障礙物,要確保在前行列車尾部的安全停車點前停車,保證系統內所有列車之前的安全間隔。
計算列車的移動授權,必須先確定列車移動授權的計算范圍。移動授權的起點為列車的車尾位置,移動授權的終點是列車前方所有的可能進路。MA首先要進行初始化列車車尾到最遠前方可能進路的終點。
確定了列車的移動授權范圍之后,遍歷前方列車,移動授權的終點也即為前方列車的車尾。如果前方列車失去通信,移動授權的終點要和前方列車所占用的計軸區段間隔至少一個區段。循環遍歷前車的SCADE數據流圖模型如圖3所示。輸入列車的信息I_TrainInfo、前車的信息I_FroTrainInfo,判斷前車是正常通信的列車Comm_Train或者失去通信的列車UnComm_Train計算MA,最后得出MA信息。

圖3 循環遍歷前車的SCADE數據流圖模型
列車移動授權的信息數據都存儲在L_MAInfo1和L_MAInfo2中。輸出時,通過該結構體構造出移動授權的具體通信幀。
2.3.2 用數據流圖對列車超速防護功能的建模
在列車的運行過程中,車載ATP要連續檢測列車的位置和速度,一旦列車超速,ATP系統就要進行報警處理,并且實施制動,并記錄報警信息。這就要與區域控制器配合。區域控制器的主要任務是通過為其控制的列車提供移動授權,保證列車在其區域內不超速行駛,保證列車的安全。
超速防護功能的系統結構如圖4所示。

圖4 超速防護功能結構圖
根據上述對功能節點的劃分,在SCADE建模工具中定義對應的功能節點,按照上述的系統結構,建立超速防護功能的總體SCADE模型,如圖5所示。

圖5 超速防護總體SCADE模型
2.3.3 用有限狀態機對列車行為模型的建模
列車的行為模型是ATP系統設計中非常重要的部分,列車的行為是一種有限狀態的過程。初始狀態是第一個激活狀態。標記選擇性的附加到轉移和狀態上。在ATP系統中,列車的行為是一系列連續的邏輯動作,包括列車的登錄狀態、正常運行狀態、列車的折返狀態、列車的接管狀態、列車的注銷狀態等。
根據ATP功能的需求,定義一個有限狀態機,命名為Train_Status。對列車的每個狀態定義了一個變量,分別是S_Init,S_Moving,S_Reverse,S_Takeover,S_Handover和S_Cancel。如圖6所示,詳細描述了列車的行為模型。

圖6 列車的行為模型
2.3.4 用安全狀態機對列車的車門控制功能進行建模
在列車運行或者列車停車時,ATP系統要監控列車車門的狀態。只有在確保安全的情況下,列車的車門才得以開啟。車載ATP監視列車的速度為零時,才能進行乘客的上下車。并且在車門開啟或者鎖閉之前,車載ATP要禁止列車行駛。
列車車門控制的安全狀態機模型如圖7所示。

圖7 列車車門控制的安全狀態機模型
目前,SCADE模型開發工具還沒有專門針對軌道交通的開發工具包。本文采用SCADE工具對城市軌道交通CBTC系統中ATP系統的部分功能進行建模,對SCADE的軟件開發方法和流程進行了介紹。下一步研究的重點是對ATP系統的每一項功能選取合理的建模方式并對其進行仿真。
[1]董凱霞,劉曉娟,朱耘燕.城市軌道交通CBTC系統車載ATP仿真研究[J].鐵道通信信號,2011,47(4):12-15.
[2]Esterel Technology. SCADE Usage in Railways and Subways [R]. 2011(2).
[3]王群偉,吳成富,陳懷民,徐 克. 基于SCADE的無人機三余度飛控系統設計及實現[J].測控技術,2007,26(4):52-54.
責任編輯 方 圓
Application of SCADE in ATP software modeling for Urban Transit
BAI Rui, KANG Suiwu
( College of Electronic and Information Engineering, Lanzhou Jiaotong University, Lanzhou 730070, China )
Automatic Train Protection(ATP) System was an important part of Communication Based Train Control(CBTC) System. Car borne ATP bearded the important task of train safe movement, was directly related to security of the System, required high level safety and reliability. To satisfy the safety requirements of the car borne ATP software, model based software development method was proposed in this paper. It was used SCADE suite as the development tool, established ATP system function model, and showed the feasibility of SCADE on ATP software modeling.
ATP; safety-related; SCADE
U284∶TP39
A
2013-06-07
白 銳,在讀碩士研究生;康隨武,在讀碩士研究生。
1005-8451(2014)01-0037-04