錢 航,顏廷貴,李世鵬
(北京宇航系統(tǒng)工程研究所,北京,100076)
運載火箭型號軟件是指屬于型號的組成部分、納入配套表進(jìn)行管理的軟件產(chǎn)品,包括運載火箭系統(tǒng)中制導(dǎo)、控制、通訊、安全控制、遙測、遙控、外測、地面管理、維護(hù)和測試等型號配套用軟件。中國的運載火箭型號軟件研制開始于20 世紀(jì)60 年代初,首先用于彈道計算設(shè)計和控制算法仿真,并開始逐步應(yīng)用于遠(yuǎn)程火箭的箭上飛行控制系統(tǒng)和地面測試發(fā)射控制系統(tǒng)[1]。早期軟件開發(fā)嚴(yán)格來說是程序開發(fā),現(xiàn)在的軟件指程序與其相關(guān)文檔或其他依賴項的集合,程序為軟件的組成部分。在開發(fā)過程中,程序主要圍繞硬件為核心進(jìn)行設(shè)計與編碼,代碼規(guī)模小,編程工具簡單,開發(fā)者和使用者無明確分工甚至身份重疊;開發(fā)者力圖節(jié)省內(nèi)存空間和編程設(shè)計技巧,卻無需編寫相關(guān)文檔資料(除程序清單外)[2]。
隨著數(shù)字計算機(jī)技術(shù)的發(fā)展、計算速度的提高,運載火箭型號研制越來越多地采用功能越來越復(fù)雜的軟件來進(jìn)行設(shè)計、仿真,具備使用方便和精度高的優(yōu)點。無論箭載還是地面越來越多采用軟件實現(xiàn)相應(yīng)功能。到20 世紀(jì)80 年代早期,計算機(jī)及其軟件已廣泛應(yīng)用于運載火箭系統(tǒng)中許多領(lǐng)域,如導(dǎo)引、控制、導(dǎo)航、數(shù)據(jù)處理、遙測、遙控和地面指揮控制。
隨著信息化戰(zhàn)爭的發(fā)展趨勢,火箭的研制模式已經(jīng)發(fā)生了較大的變化,從試驗走向應(yīng)用,從單純的型號走向系統(tǒng)交付,從交付即完成工作走向體系化壽命周期的全程服務(wù),這些變化給軟件帶來了極大的發(fā)展空間。諸元準(zhǔn)備系統(tǒng)走向快速、作戰(zhàn)任務(wù)規(guī)劃系統(tǒng)領(lǐng)域、指揮信息系統(tǒng)要走向?qū)嵱?,綜合保障信息系統(tǒng)、產(chǎn)品全壽命周期管理需求迫切。圖1 為運載火箭型號軟件系統(tǒng)核心業(yè)務(wù)。
圖1 運載火箭型號軟件系統(tǒng) Fig.1 Launch Vehicle Software System
由圖1 分析可知,型號軟件系統(tǒng)在發(fā)展過程中凸顯的重要性:
a)一套切實可用的作戰(zhàn)任務(wù)規(guī)劃系統(tǒng),必是基于數(shù)據(jù)實時驅(qū)動的集成系統(tǒng),它應(yīng)以對諸元的實時計算為基礎(chǔ),具備基于態(tài)勢的實時指揮能力和對各方數(shù)據(jù)的集成應(yīng)用能力,其核心是一套“高端”的軟件系統(tǒng)。
b)為了提升遠(yuǎn)程火箭的快速化性能。軟件計算響應(yīng)的實時性和計算結(jié)果的可靠性,均成為型號亟待解決的關(guān)鍵環(huán)節(jié)。在國產(chǎn)化硬件性能的約束條件下,只有攻克并行計算、全點位覆蓋性測試等關(guān)鍵技術(shù),充分發(fā)揮軟件的性能,才能切實提升遠(yuǎn)程火箭的快速化性能。相對作戰(zhàn)規(guī)劃領(lǐng)域,參數(shù)計算更接近于火箭,因此稱之為“近端”。
c)測控領(lǐng)域主要指2 個方面:測量系統(tǒng)對遙測數(shù)據(jù)進(jìn)行處理、存儲、發(fā)布、分析;總體網(wǎng)、動力測控、綜合控制、測量等系統(tǒng)對地面設(shè)備進(jìn)行遠(yuǎn)程控制。此領(lǐng)域的軟件屬于地面軟件,相對指控系統(tǒng)距離火箭較近,稱之為“前端”。
d)在當(dāng)前信息化條件下,指揮控制系統(tǒng)能大大提高遠(yuǎn)程火箭的實戰(zhàn)化能力、快速反應(yīng)能力、決策科學(xué)化和指揮自動化水平。由于指控系統(tǒng)往往是后端指揮的關(guān)鍵、是上級領(lǐng)導(dǎo)指揮的倚仗,所以該系統(tǒng)稱之為“后端”。指揮控制系統(tǒng)軟件是體系任務(wù)的核心和靈魂。
信息技術(shù)、互聯(lián)網(wǎng)等的快速發(fā)展給型號軟件的發(fā)展帶來了外在助力和時代機(jī)遇。計算平臺從單機(jī)、局域網(wǎng)、大規(guī)?;ヂ?lián)互通網(wǎng)絡(luò)到云架構(gòu)的演化,開放互聯(lián)、動態(tài)多變的網(wǎng)絡(luò)環(huán)境給軟件設(shè)計帶來了多樣的技術(shù)途徑。
隨著信息技術(shù)的發(fā)展,硬件、軟件、網(wǎng)絡(luò)、數(shù)據(jù)和其他以前看似獨立的技術(shù)類別開始滲透、整合和互相促進(jìn),正在經(jīng)歷從量變到質(zhì)變、從相互獨立到有機(jī)整體的發(fā)展過程。軟件承載的功能越來越多,通信速度越來越快,生成的數(shù)據(jù)越來越多。遠(yuǎn)程自動判讀系統(tǒng)能夠快速、準(zhǔn)確、高效的完成全箭數(shù)據(jù)的自動判讀,并能夠通過遠(yuǎn)程數(shù)據(jù)傳輸實現(xiàn)測試數(shù)據(jù)推送到設(shè)計師桌面。圖2 是遠(yuǎn)程自動判讀系統(tǒng)的網(wǎng)絡(luò)拓?fù)鋱D,目前該系統(tǒng)已在新型運載火箭等多個型號獲得成功應(yīng)用,并打通了從酒泉衛(wèi)星發(fā)射中心、西昌衛(wèi)星發(fā)射中心和文昌衛(wèi)星發(fā)射中心等多個火箭發(fā)射場到火箭設(shè)計師桌面的數(shù)據(jù)判讀通道。
硬件軟件化、軟件智能化,這依賴于軟件實現(xiàn)的機(jī)器學(xué)習(xí)算法和依賴于大數(shù)據(jù)技術(shù)的數(shù)據(jù)挖掘和數(shù)據(jù)應(yīng)用。裝備技術(shù)狀態(tài)變化風(fēng)險識別與質(zhì)量信息監(jiān)管系統(tǒng)是對型號產(chǎn)品數(shù)據(jù)進(jìn)行全生命周期管理的產(chǎn)品,該系統(tǒng)能夠根據(jù)海量裝備過程數(shù)據(jù)挖掘結(jié)果對型號產(chǎn)品的技術(shù)狀態(tài)進(jìn)行監(jiān)督管理,對批次間產(chǎn)品狀態(tài)變化進(jìn)行自動判別對比和風(fēng)險分析,使用戶能全面掌握裝備技術(shù)狀態(tài)基線及變化情況。
這些因素極大地開拓了軟件技術(shù)的發(fā)展空間,引領(lǐng)了新一代軟件技術(shù),如云計算、虛擬計算、人工智能和超大規(guī)模軟件系統(tǒng)[3,4]。
型號研制流程分工明確,基本按照軍用軟件過程研制要求進(jìn)行研制分工,采用項目經(jīng)理負(fù)責(zé)制,需求與設(shè)計分離、設(shè)計與測試分離,配置管理與產(chǎn)品保證也完全集成到型號軟件研制和管理過程中。崗位結(jié)構(gòu)相對清晰,按照研制分工與流程設(shè)置,多數(shù)單位已經(jīng)設(shè)置與崗位流程相關(guān)的項目經(jīng)理或負(fù)責(zé)人、需求分析崗位、設(shè)計編碼崗位、測試崗位等,并且軟件配置管理、質(zhì)量保證相關(guān)崗位也同步設(shè)置完備,做到了“設(shè)計、編程、測試”三分開[6]。
圖2 遠(yuǎn)程自動判讀系統(tǒng)的網(wǎng)絡(luò)拓?fù)鋱D Fig.2 Remote Automatic Interpretation System Network Topology Diagram
運載火箭型號往往包括十幾個或數(shù)十個甚至是上百個軟件項目,過去這些軟件項目都是孤立地進(jìn)行設(shè)計開發(fā)和管理維護(hù)的,各軟件配置項所使用的開發(fā)語言、遵循的技術(shù)標(biāo)準(zhǔn)和運行的軟硬件環(huán)境都是各自規(guī)定,互不統(tǒng)屬、互不協(xié)調(diào),影響軟件保證活動的開展:軟件獨立確認(rèn)測試、維護(hù)、重用困難,系統(tǒng)可靠性得不到保證。同時,大型、巨型軟件系統(tǒng)研制的機(jī)制和模式尚未有效建立。急需組建比較大的軟件團(tuán)隊,有效的分工協(xié)作機(jī)制,頂層架構(gòu)設(shè)計和全局策劃,針對大型軟件系統(tǒng)的試驗驗證。
當(dāng)前型號支撐軟件多為單點解決,軟件與軟件、軟件與系統(tǒng)、軟件與全箭之間彼此不很匹配,因此,所取得的成果也是有限的且局部的,未能形成對傳統(tǒng)軟件研制模式的突破與轉(zhuǎn)型。中國重大航天工程方面,尤其是新一代火箭,對運載火箭型號軟件的迫切需求是整體解決方案,急需統(tǒng)一單點應(yīng)用和各種軟件形成的孤島,“打通數(shù)字化生產(chǎn)線”。
在型號發(fā)展過程中,對軟件提出了國產(chǎn)化、快速計算和海量數(shù)據(jù)的需求,使得軟件需要新的開發(fā)技術(shù)予以支撐,軟件整體體量也將增大,依托平臺多樣。針對國產(chǎn)化軟硬件需求,為了避免由于依托國產(chǎn)操作系統(tǒng)的不穩(wěn)定造成的軟件系統(tǒng)級異常,全面掌握操作系統(tǒng)底層技術(shù),提升軟件系統(tǒng)級質(zhì)量,為關(guān)鍵軟件配置項提供一個可控、可靠、高效的運行平臺,有必要對國產(chǎn)化操作系統(tǒng)技術(shù)進(jìn)行研究,優(yōu)化操作系統(tǒng)、編譯函數(shù)庫和集成開發(fā)環(huán)境[7]。數(shù)據(jù)在型號研制和總體設(shè)計過程中發(fā)揮著至關(guān)重要的作用,設(shè)計數(shù)據(jù)代表目標(biāo)值,產(chǎn)品數(shù)據(jù)代表結(jié)果,測試數(shù)據(jù)則反應(yīng)結(jié)果的穩(wěn)定性及對目標(biāo)值的偏離度或偏離規(guī)律。運載火箭型號的參數(shù)數(shù)量從數(shù)十個到幾千個,所占存儲空間從幾十KB到幾十GB。測試數(shù)據(jù)反應(yīng)了系統(tǒng)或單機(jī)的狀態(tài),對于辨別單機(jī)和系統(tǒng)的質(zhì)量、壽命等都具有重要意義,因此針對海量數(shù)據(jù)的判讀和分析成為了發(fā)現(xiàn)問題的最直接也是最有效的方法。數(shù)據(jù)的判讀和分析成為總體設(shè)計的重要工作。
a)型號軟件研制方面,型號研制模式和軟件產(chǎn)品研制模式之間的矛盾尚未有效解決。首先,各型號對相同業(yè)務(wù)軟件需求的不統(tǒng)一,導(dǎo)致型號軟件必須定制開發(fā),很難進(jìn)行重用。其次,軟件處于下游更改隨意,軟件產(chǎn)品化未得到重視和支持。目前,大多數(shù)軟件按照硬件單機(jī)模式管理,軟件提出方未建立軟件產(chǎn)品的理念,隨意要求研制方進(jìn)行改動,導(dǎo)致軟件研制沒有明確思路和導(dǎo)向。最后,軟件產(chǎn)品得不到充分打磨,精品少。由于目前軟件研制處于型號末端,留給軟件研制的資源和時間非常少,導(dǎo)致軟件研制處于“急”和“快”的狀態(tài),不能有效地梳理需求、設(shè)計架構(gòu)和走查評測,很難產(chǎn)出高質(zhì)量的軟件產(chǎn)品。
b)型號軟件管理方面,研制逐步向跨單位、跨專業(yè)的方向發(fā)展,涉及多個領(lǐng)域,管理難度逐漸增大。對于新參研單位,每個單位軟件開發(fā)經(jīng)歷與能力以及工程化基礎(chǔ)水平參差不齊;對于新研型號的研制隊伍,整體偏年輕并且人員的綜合能力不強(qiáng)。另外,型號系列化研制和其他多型號研制并舉,軟件狀態(tài)、參研人力和物力資源集中保障難度顯著增大。這些新狀況的出現(xiàn)對軟件研制過程各環(huán)節(jié)的工作質(zhì)量和產(chǎn)品質(zhì)量構(gòu)成巨大挑戰(zhàn),急需探索一種行之有效的軟件研制技術(shù)管理模式以控制可能帶來的風(fēng)險。軟件并不是像以往一樣僅作為型號核心技術(shù)的載體,它是裝備的靈魂,是復(fù)雜的系統(tǒng),應(yīng)參與到頂層設(shè)計、統(tǒng)一規(guī)劃管理。
a)底層、基礎(chǔ)、通用的軟件技術(shù)等未得到全流程的技術(shù)保障,操作系統(tǒng)、編譯環(huán)境、運行環(huán)境和數(shù)據(jù)庫等軟件環(huán)境處于黑箱,無充分的技術(shù)力量支撐,在軟件安全上是潛在風(fēng)險。目前,運載火箭型號軟件研制集中在軟件功能實現(xiàn)上,在整個發(fā)射流程中也只是重視軟件在“規(guī)定動作”的表現(xiàn)。但是,軟件作為一種特殊的技術(shù)承載形式,有著自身的特殊性。同硬件運行有特定的溫度濕度等要求一樣,軟件有著自身的運行環(huán)境,只是這個環(huán)境被包裝在系統(tǒng)軟件開發(fā)商的產(chǎn)品中,對外完全是黑箱子。型號研制隊伍對軟件技術(shù)挑戰(zhàn)也沒有予以充分重視。
b)大量的需求導(dǎo)致使用了大量的軟件新技術(shù),新技術(shù)上的儲備也不充分,例如并行計算、智能算法、大數(shù)據(jù)存儲??梢哉f,型號軟件的技術(shù)廣度,直接影響到系統(tǒng)拓展的范圍,制約了航天運載信息化進(jìn)程,是推進(jìn)快速進(jìn)入空間能力建設(shè)亟需突破的瓶頸問題。在當(dāng)前新型安全威脅面前,實現(xiàn)體系裝備、基礎(chǔ)設(shè)施自主可控是現(xiàn)實需求,航天領(lǐng)域必須在關(guān)鍵系統(tǒng)采用國產(chǎn)自主可控設(shè)備,從硬件元器件、軟件編譯器以及系統(tǒng)運維層面實現(xiàn)自主可控,全面消除當(dāng)前系統(tǒng)中存在的安全隱患。
運載火箭型號軟件的開發(fā)和發(fā)展在標(biāo)準(zhǔn)體系、管理模式、專業(yè)團(tuán)隊、產(chǎn)品體系、支撐工具和發(fā)展生態(tài)等方面可采取如下對策:
a)管理與流程敏捷化。將型號軟件相應(yīng)的管理標(biāo)準(zhǔn)體系,如《質(zhì)量管理體系要求》(GJB9001C)、《軍用軟件成熟度模型》(GJB5000A)和《測試實驗室和校準(zhǔn)實驗室通用要求》(GJB2725A)等與型號管理模式等融為一體,并針對應(yīng)對變化、提升效率、保證進(jìn)度和保證質(zhì)量4 個方面優(yōu)化軟件產(chǎn)品研制模式。
b)專業(yè)與團(tuán)隊領(lǐng)域化。軟件專業(yè)服務(wù)的領(lǐng)域?qū)挿海绻搭I(lǐng)域劃分專業(yè)和團(tuán)隊,大致可以分為共性技術(shù)和產(chǎn)品團(tuán)隊。共性技術(shù)方面,大型軟件系統(tǒng)的架構(gòu)設(shè)計可作為一個專業(yè),研制綜合管理可獨立一個團(tuán)隊。然后,按照產(chǎn)品團(tuán)隊劃分:指控測控(主要是網(wǎng)絡(luò)通信與人機(jī)交互專業(yè))、數(shù)據(jù)應(yīng)用(主要是大數(shù)據(jù)存儲與大數(shù)據(jù)分析專業(yè))、作戰(zhàn)任務(wù)規(guī)劃(主要包括架構(gòu)設(shè)計、流程設(shè)計與地理信息系統(tǒng)GIS 技術(shù)等專業(yè))、諸元計算(以算法專業(yè)為代表)。還有,軟件評測團(tuán)隊可分為綜合管理、軟件評測、現(xiàn)場可編程門陣列(FPGA)驗證和軟件系統(tǒng)驗證。
c)技術(shù)與產(chǎn)品體系化。針對底層、共性、通用、專用的軟件技術(shù),建立技術(shù)體系、評估技術(shù)能力和技術(shù)成熟度。在此基礎(chǔ)上,建立產(chǎn)品支撐型號的理念,建設(shè)以產(chǎn)品為核心的研制體系,基于產(chǎn)品重構(gòu)隊伍組建模式,針對軟件產(chǎn)品,從系統(tǒng)級、平臺級和模塊級形成產(chǎn)品型譜,支撐系統(tǒng)解決方案、集成開放型平臺和接口開放型模塊三級需求。這三級就是面向最終用戶和業(yè)務(wù)領(lǐng)域技術(shù)、面向軟件隊伍和軟件技術(shù)、面向具體功能的三級。
d)工具與環(huán)境智慧化。以自動化和智能化手段,將最優(yōu)的軟件研制實踐經(jīng)驗?zāi)Y(jié)在包括軟件需求分析、設(shè)計開發(fā)、測試等系列支撐工具里面。運用信息技術(shù)對海量數(shù)據(jù)進(jìn)行挖掘、采集和梳理成為主流,利用這些先進(jìn)技術(shù)進(jìn)行基于云的一體化研制環(huán)境、大型軟件系統(tǒng)的驗證環(huán)境、軟件實驗室環(huán)境優(yōu)化。
e)資源與能力協(xié)同化。建立長期戰(zhàn)略合作的、強(qiáng)有力信得過的科研院所、公司、高校等外部開發(fā)力量的體系,進(jìn)行優(yōu)勢互補(bǔ)、模式共贏,獲得長期的、有規(guī)劃的資源支持,形成軟件發(fā)展的生態(tài)。
由于運載火箭型號軟件發(fā)展現(xiàn)狀和研制特點,需不斷改變和調(diào)整現(xiàn)軟件產(chǎn)品的開發(fā)和管理水平,才能降低軟件產(chǎn)品的風(fēng)險,不斷提高運載火箭型號軟件產(chǎn)品的成熟度。