王曉懿
(北京全路通信信號研究設計院有限公司,北京 100073)
隨著鐵路信號系統的發展,軟件在整個信號系統中的地位越來越重要。研究使用技術手段保證信號系統軟件研發的設計開發平臺有著十分重要的意義。
信號系統軟件設計開發的挑戰體現在以下幾個方面。第一,從組成結構來看,信號系統包括多種底層硬件設備和操作系統。研發人員在進行設計開發時必須考慮不同底層系統的特性,處理多種多樣的底層細節,難以盡力集中到業務邏輯層面來。第二,信號系統軟件作為高安全等級要求的軟件,其設計開發流程有著嚴格的要求。如何通過技術手段規避人為疏漏造成的執行不規范是我們亟待解決的問題。第三,隨著信號系統軟件產品數量越來越多、規模越來越大、復雜程度越來越高,帶來了大量的重復性勞動、飛漲的開發成本及低下的開發效率等諸多問題。第四,質量安全是信號系統軟件的靈魂,如何在人力不足、工期緊張的條件下保證信號系統的質量安全成為一個挑戰。
為了應對上述挑戰,本文提出了一種鐵路信號系統軟件設計開發平臺,為信號系統軟件的研發提供技術支撐。
國外鐵路信號公司對信號系統設計開發平臺的研究都非常重視,一些大的信號公司如西門子、阿爾斯通,都在公司層次建立了相應的設計開發平臺,并依托平臺推出系列產品。
在通用軟件開發平臺領域的市場上,也存在著一些設計輔助工具。例如,IBM公司的DOORS提供了需求開發管理功能;IBM Rational Rhapsody是一款模型驅動的設計工具;IBM Change則提供了變更管理功能。
這些現有的開發工具為單個的點工具,未能集成為一個專用的信號系統設計開發平臺,造成研發人員往往需要在不同的設計開發階段切換、配置不同的設計工具,不利于提高設計的效率。因此,本文提出的平臺對這些工具進行了有機的結合,統一成為一個用于信號系統設計開發的平臺。
信號系統軟件設計開發平臺(Signalling sys-tem Development Platform,以下簡稱平臺或SDP平臺)是支撐鐵路信號系統軟件開發的專用平臺。本平臺具有以下方面的特色。
第一,支持規范化、流程化的研發方式。信號系統軟件的研發有著嚴格的規范和流程,但是執行中人為疏漏,難以保證按照流程規范地執行,需要使用技術手段輔助、引導研發人員按照規定的流程執行。在這種研發方式下,研發人員劃分為不同的角色,并且只能按照自己的角色進行規范流程內賦予的研發活動。
第二,支持模塊化、組件化的開發方式。在開發信號系統這樣一個復雜的系統時,采取模塊化、組件化的架構是技術發展的方向。使用SDP平臺采用組件化的架構之后,可以將功能相同或類似的部分進行組件化,然后將組件進行合理的組合,通過組件組態之后生成功能完整的軟件產品。這樣的軟件系統架構可以有效地減少重復工作,增加開發的效率。另外,組件化的架構還可以使得軟件系統的結構層次更加清晰,使得系統的管理和修改更加方便。
第三,提供自動化、智能化的輔助研發工具。在研發過程中存在大量的耗費人力和時間的工作,在此方面,平臺提供了一系列的自動化工具,如自動化專項測試工具,輔助研發人員完成這些工作。
SDP平臺總體的結構如圖 1所示。

從圖1中可以看到,在業務邏輯方面,SDP平臺包括全研發全命周期開發支持、質量審核卡控支持、專項測試及組件收集復用等方面的功能。在數據支持方面,SDP包括了若干核心支撐庫,其主要功能是對具體業務提供有效而靈活的數據支持。左右兩側分別為IRIS規范和統一的用戶管理服務器貫穿上下,表明了SDP平臺每一個層面都是嚴格遵循IRIS體系規范并實行統一的用戶認證、授權管理策略,保證了SDP平臺在安全保障上的可信性。
在下文中將就SDP平臺的核心業務邏輯:信號系統軟件全生命周期開發支持、審核卡控支持、組件化開發支持進行介紹。
SDP平臺支持信號系統全生命周期的協同開發,包括需求開發,設計模型開發,代碼編寫,測試案例編寫、測試執行等功能,如圖 2所示。
SDP平臺需求開發工具同時支持DOORS和Word文檔的編寫。需求文檔開發工具具有如下功能:1)同時支持本地word需求文件的編寫和集成DOORS的文檔編寫功能。2)將DOORS上的需求文檔映射到SDP平臺上,使得信號系統軟件研發中其他的數據能夠和DOORS上的需求文檔在SDP平臺上關聯起來,例如管理測試案例對需求的覆蓋分析。3)根據IRIS規范提供Word版本和DOORS版本的文檔模板,強制信號系統軟件研發中的文檔符合規范。

4.2.1 設計模型開發工具
SDP平臺支持使用流程圖、狀態圖等圖形化方式描述信號系統軟件的邏輯。通過選擇符合標準UML2的設計建模方式,提供支持流程圖、狀態圖、順序圖等的UML設計建模工具。SDP的模型設計開發工具包括:1)符合UML2的標準的建模工具;2)提供UML圖形化編輯器;3)針對UML2擴展出適合描述C函數邏輯的流程圖模型;4)支持使用UML2中狀態圖描述信號系統軟件的邏輯。
4.2.2 代碼開發、安全性檢查工具
代碼開發和安全性檢查工具包括如下功能:1)開發專用C語言集成開發工具(CDT)提供代碼開發環境。包括對C語言代碼的語法分析,集成編譯環境等功能。2) 集成Testbed對C語言代碼進行安全性檢查。
4.2.3 文檔及文檔模板定制
SDP平臺支持文檔的編寫和管理工作,支持的文檔格式包括本地文檔,如Word,Excel等,遠程數據庫文檔,如DOORS數據庫中存儲的文檔。支持一定的檢索功能,例如基本屬性檢索,內容概要檢索,版本檢索等。
文檔模板是根據IRIS規范體系的要求,預先定義在SDP平臺內部,用戶在創建各類標準文檔時,可以選擇這些預定義的文檔模板,從而保證文檔格式的統一,同時避免了文檔內容的缺失。
針對信號系統軟件專項測試工作量大、手工測試易出錯且缺陷難以復現等問題,平臺提供了自動化的專項測試平臺,采用編寫并自動執行測試腳本的方式對模塊或子系統進行自動測試。專項測試工具的邏輯組成關系如圖3所示。

從圖3可以看到,專項測試系統通過主引擎執行測試腳本,驅動分引擎測試目標系統。
SDP平臺的專項測試工具具有良好的可擴展性,表現在兩個方面:一方面,可以通過靈活的測試協議自定義接入新模塊、新系統的專項測試;另一方面,SDP平臺專項測試工具可以接入多臺測試機進行并發測試,圖4所示為并行測試時測試系統的物理部署。
當測試工作大量增加時,只需要增加測試機的數量,而無需增加更多的測試人力。另外,從圖上可以看到,SDP平臺同時提供了測試環境定制、測試案例和測試腳本編寫、測試執行監控、測試報告生成、測試覆蓋率分析等功能,協助測試人員準備測試輸入,查看測試輸出,減少了測試人員的工作量和出錯的可能性。

在質量審核卡控方面,SDP平臺提供符合IRIS規范的研發過程和研發成果發布的審核卡控功能,通過技術手段輔助研發人員嚴格執行開發流程。具體來說,在項目研發過程中,SDP平臺將開發人員分為若干個角色,如項目負責人角色、需求開發人員角色、設計開發人員角色、測試設計人員角色、測試執行人員角色等。在角色的基礎上,SDP平臺進一步識別、設置研發流程中的關鍵卡控點,如圖 5所示就是研發項目審核卡控流程示例,其中每個階段都需在經過評審后在項目負責人的控制下進入下一個階段。
從圖5可以看出,SDP平臺提供的審核卡控流程具有以下特點:第一,平臺保證研發項目的所有階段成果都需要審核,否則不能進入下一階段;第二,平臺保證只有通過審核,并由項目負責人認可的階段成果才能作為下一步研發的輸入;第三,平臺提供項目基線等配置管理功能,并根據研發人員在項目中不同的角色,提供給研發人員通過審核、版本正確的工作輸入。
SDP平臺集成Change服務器對信號系統軟件全生命周期(需求、設計、編碼、測試等)的階段成果進行審核,并使用審核記錄服務器將通過審核的階段成果(配置項)串聯形成項目基線,如圖6所示。

SDP平臺提供模塊化的信號系統軟件開發方式。SDP平臺建立了信號系統的組件庫,其中收集了已有的可復用組件和系統。在使用SDP平臺開發信號系統軟件時,可以復用組件庫總的組件來拼裝成新的信號系統軟件,或以已有系統為原型進行少量修改來構建新的系統。而且,當新的系統研發完成后,其包含的可復用組件以及系統本身都會被收集到組件庫中以供以后復用。因此,SDP平臺構成了一個閉環的組件收集和復用的組件化開發平臺。
SDP平臺對信號系統軟件系統及子模塊進行規范化,使之能方便快捷的被用戶查詢、復用、統計和管理,SDP平臺將其定義為“SDP組件”。SDP平臺包含了組件庫服務器收集這些組件,同時支持SDP客戶端訪問和網頁訪問,可以供不同研發人員和管理人員方便地實現組件的查詢、復用、統計和管理功能。圖7所示為SDP組件庫的結構圖。
從圖7中還可以看出,為了保證入庫組件的質量,所有的組件在入庫時必須經過審核后,才能正式發布,從而為新系統所復用。
SDP平臺作為一個支撐平臺,針對信號系統研

發的特點和挑戰,提供了對信號系統軟件產品全生命周期研發的支持,通過技術手段對研發流程進行審核卡控,支持信號系統軟件產品的組件化、規范化、自動化、智能化,可以有效地提高研發的效率,保證研發流程的規范,支持技術成果的重用,有利于進一步縮短研發周期,保證產品質量,提高研發綜合實力。