于古勝 朱 會 王鵬宇
(91550部隊 大連 116023)
實時測控軟件系統(tǒng)在航天發(fā)射試驗任務(wù)中承擔實時數(shù)據(jù)處理、試驗航區(qū)安全控制、測量裝備數(shù)字引導、試驗指揮顯示和場際間信息傳輸?shù)戎匾姑蝿?wù)。實時測控軟件是測控系統(tǒng)的核心,其可靠性直接關(guān)系著飛行試驗任務(wù)的成敗。1981年美國哥倫比亞號航天飛機的第一次發(fā)射就是因為軟件開發(fā)過程中的一個影響軟件實時性效率的BUG而造成發(fā)射失?。?]。問題是由一個程序員錯誤地將延遲因子從50ms重新設(shè)置為80ms,錯誤引起同步問題,導致發(fā)射失敗,造成了重大損失。事實證明,航天發(fā)射過程中大部分事故都是由軟件引起的。由于馮·諾依曼模型在程序與數(shù)據(jù)的區(qū)分上沒有確定性原則、人性的弱點和程序設(shè)計方法學的不完善,實時測控軟件的上百萬條指令完全由程序員設(shè)計、編寫,軟件中的BUG難以避免。適應(yīng)國防和軍隊建設(shè)需要,靶場正在并將長期處于持續(xù)高密度試驗狀態(tài),隨著試驗任務(wù)的日益繁重,對靶場測控軟件的質(zhì)量提出了更高的要求。測控軟件質(zhì)量和可靠性已經(jīng)成為制約測控系統(tǒng)質(zhì)量和可靠性的“瓶頸”。加強靶場測控軟件質(zhì)量管理是提高測控軟件可靠性和未來高質(zhì)量地完成新型試驗任務(wù)的必然要求。因此,研究提高實時測控軟件系統(tǒng)可靠性方法,最大限度地保證實時測控軟件可靠運行對保證航天試驗任務(wù)的順利完成意義重大。
所謂實時,是指在一個確定的時間里,對外部產(chǎn)生的事件做出響應(yīng),并在確定的時間里,完成這種響應(yīng)及處理[2]。在航天測控系統(tǒng)中,這個確定的時間一般是ms級。實時處理的特性意味著如果在一個截止時間的最終期限內(nèi)沒有完成規(guī)定的工作,就會引起數(shù)據(jù)丟失、數(shù)據(jù)非法、甚至產(chǎn)生致命性的災難[3]。因此,實時測控軟件系統(tǒng)必須在規(guī)定的時間周期內(nèi)完成數(shù)據(jù)采集、處理,解算出被測目標的空間位置,顯示各種測量參數(shù)和曲線及采取相應(yīng)的航區(qū)安全控制措施等任務(wù),這就是測控軟件的強實時性特點。
靶場試驗“零缺陷”為目標的特點[4]決定了對實時測控軟件系統(tǒng)具有高可靠性要求。軟件的可靠性是指“軟件系統(tǒng)在規(guī)定的時間內(nèi)及規(guī)定的環(huán)境下,完成規(guī)定功能的能力”[5]。軟件的可靠性和硬件的可靠性有著顯著的差別,其可靠性比硬件可靠性更難保證。主要表現(xiàn)在:
1)成熟軟件的可靠性不會因為使用而發(fā)生變化,而硬件會隨著時間和使用而老化,其可靠性具有浴盆曲線現(xiàn)像;
2)軟件可靠性取決于設(shè)計質(zhì)量,硬件可靠性受設(shè)計、生產(chǎn)、使用所有過程影響;
3)軟件不會產(chǎn)生物理失效,對軟件的修復需要重新設(shè)計,并往往要考慮對整個軟件系統(tǒng)的影響,硬件的維護要通過修復或更換損壞部件來重新恢復其功能,影響往往是局部的。
需要指出的是:為提高硬件可靠性可采用冗余技術(shù),而基于同一軟件的冗余不提高可靠性。
實時測控軟件系統(tǒng)是一個規(guī)模龐大的分布式實時處理系統(tǒng),一般由運行于不同平臺的實時數(shù)據(jù)處理、航區(qū)安全控制、試驗指揮顯示和信息仿真等分系統(tǒng)組成,通常是由幾十個進程、線程通過復雜的接口關(guān)系組成的龐大的應(yīng)用軟件系統(tǒng)。被測目標高速飛行,距離、速度、高度急劇變化的特性要求實時測控軟件系統(tǒng)在極短的時間內(nèi)處理大量的數(shù)據(jù)信息。分布在不同地域的數(shù)十臺測控裝備在實時測控軟件系統(tǒng)的集中控制下協(xié)調(diào)運行完成航天測控任務(wù)。大射程飛行試驗需要多個指控中心接力完成實時測控任務(wù),要求對不同體制測控信息接口協(xié)議進行實時轉(zhuǎn)換。測控信息流量大,測控系統(tǒng)接口關(guān)系復雜都會對實時測控的可靠性帶來一定影響。
開發(fā)實時測控軟件系統(tǒng)涉及到計算機硬件、網(wǎng)絡(luò)通信、時間統(tǒng)一、無線電外測、遙測遙控、光學測量、大地測量、水文氣象、彈道學、空氣動力學、應(yīng)用數(shù)學等多領(lǐng)域知識,開發(fā)周期一般需要2年以上。航天測控領(lǐng)域的特殊性決定了實時測控軟件系統(tǒng)很難借助外部力量開發(fā),只能由具備上述領(lǐng)域知識的航天指控中心的軟件研制人員根據(jù)試驗任務(wù)要求提出軟件需求,自行設(shè)計開發(fā)。他們集軟件交辦方、開發(fā)方、最終用戶于一身。不可能建立一般軟件開發(fā)的甲、乙方相互監(jiān)督制約的軟件開發(fā)機制。因此,實時測控軟件的測試難度較大,測試計劃、標準的制定,測試用例、邊界條件的選擇只能靠軟件開發(fā)人員憑經(jīng)驗進行把握,很難有一個定量的依據(jù)和標準。開發(fā)周期長、測試難度大對保證實時測控軟件系統(tǒng)的可靠性提出了挑戰(zhàn)。
在飛行試驗時,由于受地理條件和測量裝備作用范圍的限制,需布設(shè)多臺測量裝備,才能保證飛行器在整個飛行過程中的測量控制。各測量裝備以規(guī)定的周期向中心計算機系統(tǒng)傳送一點測量數(shù)據(jù),各裝備向計算機系統(tǒng)傳輸測量數(shù)據(jù)采用了異構(gòu)通信方式,即分別采用同步、異步和IP三種通信方式中的一種或多種。由于各裝備向計算機系統(tǒng)傳輸測量數(shù)據(jù)所采用的通信方式不同,以及受信道質(zhì)量和傳輸時延不同的影響,計算機系統(tǒng)對每一點測量數(shù)據(jù)的接收可能存在通過某個信道傳輸?shù)臏y量數(shù)據(jù)丟失或因時延較大而收到的不是同一時間點數(shù)據(jù)的現(xiàn)象。因此,對計算機系統(tǒng)而言,接收單一通信方式傳輸?shù)臏y量信息,存在獲取的測量數(shù)據(jù)不完整、不齊全的問題;接收所有通信方式傳輸?shù)臏y量信息,又存在獲取的測量數(shù)據(jù)冗余或不一致的問題。這些問題必然對實時處理可靠性帶來一定影響。
當前靶場實時測控軟件系統(tǒng)采用的是中心機集中處理方式下的硬件雙工機制,實時測控軟件系統(tǒng)在基于相同的操作系統(tǒng)平臺和相同的數(shù)據(jù)接口標準的中心機上運行,這種集中式處理方式在可靠性方面存在一定的風險。在飛行試驗過程中各種突發(fā)事件、異常事件隨機發(fā)生,某些非法的、異常輸入數(shù)據(jù)難以預測,由于中心機雙機軟件完全一致,異常處理方法也完全一致,如果對異常數(shù)據(jù)引起的錯誤處理不當可能會引起中心機雙機同時崩潰,給飛行試驗造成不可預料的風險代價和災難性的后果。
樹立軟件質(zhì)量意識是搞好軟件質(zhì)量管理的“第一道工序”。靶場測控軟件和靶場其它專用裝備一樣有其生存周期。軟件的生存周期是指從提出軟件產(chǎn)品的任務(wù)開始到軟件產(chǎn)品不能使用為止的時間叫軟件的生存周期[6]。包括:項目規(guī)劃、需求分析、概要設(shè)計、詳細設(shè)計、編碼及測試、系統(tǒng)運行維護等不同階段[7]。在項目規(guī)劃階段,要建立軟件質(zhì)量標準和制定軟件開發(fā)質(zhì)量保證計劃并成立軟件質(zhì)量保證組。在需求分析階段,軟件質(zhì)量保證組要和軟件研制人員共同探討數(shù)學模型的合理性、準確性等問題,并對需求分析階段產(chǎn)生的文檔進行審查。在概要設(shè)計階段,質(zhì)量保證組要重點監(jiān)督審查以下幾個方面:設(shè)計文檔的編制標準,規(guī)定編碼的信息形式,與硬件操作系統(tǒng)的接口規(guī)約、命名規(guī)則;模塊的層次結(jié)構(gòu)、功能、對應(yīng)關(guān)系、調(diào)用關(guān)系和接口關(guān)系設(shè)計;為實現(xiàn)系統(tǒng)的功能需求所必需的算法和模塊間的控制方式;輸入/出文件的詳細的數(shù)據(jù)結(jié)構(gòu);數(shù)據(jù)的保護性和一致性設(shè)計;冗余設(shè)計及概要設(shè)計階段的文檔。在詳細設(shè)計階段,質(zhì)量檢查的重點是對軟件研制進度進行控制。在編碼及測試階段,重點是依據(jù)測試原則對軟件測試進行監(jiān)督,檢查模塊測試及系統(tǒng)集成測試的關(guān)鍵環(huán)節(jié)。在系統(tǒng)運行維護階段,軟件管理者要對軟件的修改維護進行全程監(jiān)督,嚴格軟件的出入庫登記制度和簽字審批手續(xù)。
為了保證實時測控軟件系統(tǒng)的可靠性,一般采用開發(fā)仿真測試軟件并用飛機模擬被測目標進行聯(lián)試、校飛。根據(jù)試驗任務(wù)的具體功能指標要求,結(jié)合實時測控軟件的特性,開發(fā)仿真系統(tǒng)進行測試[8]。仿真系統(tǒng)要盡最大可能模仿飛行器的實際飛行過程和測量設(shè)備的工作狀態(tài)。設(shè)計各種故障彈道和測量數(shù)據(jù)包進行仿真測試,檢驗實時測控軟件數(shù)據(jù)處理的正確性。仿真系統(tǒng)主要是模擬外部測控設(shè)備、故障飛行器、故障設(shè)備的信息,邊界條件數(shù)據(jù)和干擾數(shù)據(jù),用于檢測實時測控軟件系統(tǒng)可靠性、實時性和穩(wěn)定性。從總體上檢測系統(tǒng)功能、數(shù)據(jù)處理是否滿足精度要求,以及用戶顯示界面是否滿足研制任務(wù)書的要求和任務(wù)的需求。從而考驗實時測控軟件系統(tǒng)各主要功能。校飛是指利用飛機模仿被測目標,整個測控系統(tǒng)開機對實際飛行的目標進行測量。這種方法對功能測試直觀、有效,可檢驗實時測控軟件整體功能的正確性,外部測控設(shè)備與指控系統(tǒng)軟、硬接口的準確性,輸入、輸出信息格式,數(shù)學模型中的數(shù)字濾波、數(shù)據(jù)檢擇、彈道解算、實時處理精度是否符合設(shè)計要求,安全故障判斷準則,穿越安全管道、必炸線報警等功能的正確性。
當前靶場聯(lián)網(wǎng)裝備與通信裝備互聯(lián)采用DDN和IP體制并存下互聯(lián)方式,它是指聯(lián)網(wǎng)裝備與通信裝備之間主要通過DDN節(jié)點機和IP交換機實現(xiàn)試驗信息傳輸?shù)耐ㄐ欧绞健S捎谕ㄐ艜r延等因素必然產(chǎn)生異構(gòu)的通信方式下實時數(shù)據(jù)不一致的問題。DDN體制傳輸容量小,固定連接無法解決用戶接入靈活性,無法解決通信質(zhì)量穩(wěn)定性等問題,主要設(shè)備價格高,面臨市場淘汰。IP技術(shù)已成為通信業(yè)務(wù)承載層的主流技術(shù)。IP設(shè)備生產(chǎn)廠家多,性價比高,且有以下技術(shù)優(yōu)勢:網(wǎng)絡(luò)自動尋址且不面向連接,用戶可以自己確定通信對象,并可不經(jīng)網(wǎng)絡(luò)允許就向網(wǎng)內(nèi)發(fā)送信息;線路的統(tǒng)計(隨機)時分復用即排隊轉(zhuǎn)發(fā),使用戶可以用一個物理接口同時和多個對象通信;開放的網(wǎng)絡(luò)協(xié)議,互聯(lián)互通性好;統(tǒng)一化的用戶網(wǎng)絡(luò)接口即以太網(wǎng)接口,便于用戶接入。因此,為了實現(xiàn)測控資源的互聯(lián)、互通、互操作的要求,提高實時數(shù)據(jù)處理的可靠性,實時測控軟件系統(tǒng)采用靶場公共體系結(jié)構(gòu)標準進行設(shè)計,并逐漸采用多路IP網(wǎng)絡(luò)數(shù)據(jù)互為備份的方式進行網(wǎng)絡(luò)傳輸,這樣可以有效保證實時數(shù)據(jù)處理的實時性和完整性,從而提高系統(tǒng)可靠性。
當前國內(nèi)靶場一般采用中心機雙工熱備份的方式進行實時數(shù)據(jù)處理,從硬件上進行雙工設(shè)計,軟件上還是基于同一操作系統(tǒng)平臺的“單工模式”,異常事件造成中心機雙機死機的風險依然存在,有必要研究建立中心計算機軟件雙工系統(tǒng)的方法。軟件雙工是在不改變中心機雙工熱備份和集中式處理模式的前提下,遵從相同的用戶需求和接口約定,基于異構(gòu)的操作系統(tǒng)平臺、不同的數(shù)學模型和數(shù)據(jù)處理方法,特別是異常數(shù)據(jù)處理方法,不同的數(shù)據(jù)驅(qū)動模式,研制兩套不同的實時測控軟件系統(tǒng),在保證兩套軟件同步運行和I/O信息一致前提下,實現(xiàn)軟件雙工控制,并保證兩套軟件處理結(jié)果的一致性,從軟件架構(gòu)設(shè)計上提高測控可靠性。另一種方式是改變中心機集中式處理模式,把集群技術(shù)引入實時測控軟件系統(tǒng),采用高可用性集群技術(shù),將中心機承擔的外測處理、遙測處理、數(shù)字引導、落點計算和場際通信等功能分布在不同的集群節(jié)點上[9]。集群內(nèi)部按功能分為控制節(jié)點和計算節(jié)點,控制節(jié)點采用雙工熱備份方式工作[10],主要功能是對集群節(jié)點運行狀態(tài)進行實時監(jiān)控、故障判斷、任務(wù)調(diào)度,對控制節(jié)點進行主備切換,把外測處理、遙測、落點計算等功能分布在各計算節(jié)點上,一旦某一計算節(jié)點出現(xiàn)故障,由控制節(jié)點把任務(wù)遷移到正常工作節(jié)點上,只要集群系統(tǒng)有一個計算節(jié)點正常工作,就能保證實時數(shù)據(jù)處理任務(wù)的完成,因此,集群系統(tǒng)有效提高了實時數(shù)據(jù)處理的可靠性[11]。上述兩種模式都可有效提高實時測控軟件系統(tǒng)可靠性。軟件雙工模式由于耗時多、投入大,目前還處于研究階段。集群模式工程適用性強,是實時數(shù)據(jù)處理技術(shù)的重點發(fā)展方向,有著良好的應(yīng)用前景。
測控是飛行試驗必不可少的基本條件,也是飛行試驗成敗的關(guān)鍵。航天飛行試驗是一個不過逆的過程,代價昂貴,如果不能保證試驗安全,會造成不可挽回的損失[12]。要求測控系統(tǒng)的核心實時測控軟件系統(tǒng)必須性能優(yōu)良、工作可靠[13]。把好軟件研制質(zhì)量關(guān)、加強軟件測試、建立多路IP數(shù)據(jù)傳輸模式、設(shè)計高可靠性軟件架構(gòu)是提高實時測控軟件系統(tǒng)的有效手段。應(yīng)該指出的是:對實時測控軟件系統(tǒng)這樣規(guī)模龐大的應(yīng)用軟件系統(tǒng),無論采用何種方法都無法一勞永逸解決可靠性問題,還需要測控軟件的研制和使用人員在應(yīng)用過程中不斷探索新的提高實時測控軟件系統(tǒng)可靠性方法,盡最大可能找出系統(tǒng)的缺陷,以確保航天試驗任務(wù)的順利完成。
[1]B.Bruegge,A.H.Dutoit.面向?qū)ο蟮能浖こ蹋跰].吳丹,唐憶,等譯.北京:清華大學出版社,2002:281-183.
[2]鄭宗漢.實時系統(tǒng)軟件基礎(chǔ)[M].北京:清華大學出版社,2003:2-5.
[3]翟麗麗.Digital UNIX實時應(yīng)用指南[M].大連:大連理工大學出版社,2000:2-3.
[4]張瑞國,郝云勝,靶場試驗作息化戰(zhàn)略規(guī)劃方法研究.導彈試驗技術(shù)[J].2008,87(3):1-3.
[5]章暉,陳洪鈞,孫赤全.軟件可靠性設(shè)計與評估方法研究.海軍裝備[J].2005,366(6):10-12.
[6]郭高峰.淺析海軍電子裝備軟件可靠性.海軍裝備[J].2005,366(6):22-24.
[7]許聚常,王占武,呂波等.總裝備部軟件工程規(guī)范[S].北京:中國人民解放軍總裝備部司令部,2008:3-5.
[8]楊榜林,岳全發(fā)等.軍事裝備試驗學[M].北京:國防工業(yè)出版社,2002:235-237.
[9]白欣,宋博,左繼章,向建軍.測控系統(tǒng)中高性能實時集群的研究與實現(xiàn).微電子學與計算機[J].2003,20(4):35-38.
[10]向建軍,左繼章,白欣.基于多任務(wù)并行處理的實時集群計算機系統(tǒng).系統(tǒng)工程與電子技術(shù)[J].2003,25(9):1144-1146.
[11]于古勝,李連登.實時測控集群數(shù)據(jù)分發(fā)方法研究.導彈與航天運載技術(shù)[J].2014,332(3):71-73.
[12]黃學德,成求青.導彈測控系統(tǒng)[M].北京:國防工業(yè)出版社,2000:3-6.
[13]金振中,李曉斌.戰(zhàn)術(shù)導彈試驗設(shè)計[M].北京:國防工業(yè)出版社,2013:224-225.