作者:JEREMY VANDOMELEN,BENJAMIN BROSGOL
預(yù)計國防平臺的使用壽命長達(dá)數(shù)十年。開發(fā)經(jīng)久耐用的高可靠性、安全關(guān)鍵型軟件需要來自值得信賴的行業(yè)合作伙伴的綜合工具。強(qiáng)大的軟件開發(fā)解決方案可以幫助工程師設(shè)計和開發(fā)新的長壽命無人系統(tǒng),并可以在當(dāng)前部署的無人平臺上升級系統(tǒng),以延長其生命周期。
國防和航空航天平臺一直是“經(jīng)久耐用”的,但在當(dāng)今時代,各種此類車輛 - 陸地,海洋,空中和太空 - 預(yù)計將在長達(dá)數(shù)十年的使用壽命內(nèi)運(yùn)行。例如,波音B-52同溫層堡壘軍用飛機(jī)自1952年首飛以來,已經(jīng)在美國空軍服役了半個多世紀(jì)。波音公司于1962年停止生產(chǎn)亞音速噴氣動力轟炸機(jī),但2013年和2015年進(jìn)行的升級預(yù)計將延長B-52的使用壽命至2045年或2050年。
設(shè)計、開發(fā)、制造、測試和認(rèn)證新平臺的時間和成本密集型過程通常可以盡可能長時間地避免。因此,我們的注意力集中在確保系統(tǒng)(無論是正在開發(fā)的還是已經(jīng)部署的)能夠在更長的使用壽命內(nèi)運(yùn)行。
無人駕駛飛行器——包括無人駕駛飛機(jī)系統(tǒng)(UAS)、無人地面飛行器(UGV)和無人水下航行器(UUV)——現(xiàn)在正保持與載人飛行器相同的壽命標(biāo)準(zhǔn)。美國宇航局的旅行者1號和2號無人航天器在1977年發(fā)射到惡劣,富含輻射的太空環(huán)境整整40年后,仍然每天運(yùn)行,探索和通信。回到地球上的無人駕駛車輛遭受著不同的命運(yùn)。
無人過期
兩個對美國軍方很重要的早期UAS平臺現(xiàn)在已經(jīng)接近二十年的服役 - 以色列航空航天工業(yè)公司(IAI)的RQ-5獵人以及諾斯羅普格魯曼公司以及通用原子公司的MQ-1捕食者。RQ-5于1995年投入使用,于2015年與美國陸軍進(jìn)行了最后一次飛行,但據(jù)說國防承包商正在海外運(yùn)營退役部隊。
MQ-1是過去20年的主力,將于2018年退役于美國空軍服役。退役原定于2015-2017年,但由于中東需要其監(jiān)視技能而被推遲。
軟件和硬件工程師已經(jīng)對MQ-1進(jìn)行了多次更新,以延長其使用壽命并增加其功能,以跟上軍事任務(wù)的需求和要求。MQ-9 Reaper在1995年首次推出時嚴(yán)格來說是一種監(jiān)視無人機(jī),同樣由通用原子公司制造,此后通過軟件和硬件升級演變?yōu)槲溲b機(jī)載武器。
政府和軍方領(lǐng)導(dǎo)人表示希望從MQ-1平臺中獲得更多收益,但他們認(rèn)識到從軟件和硬件的角度來看,它不再可行。退役后,預(yù)計這些無人機(jī)將被剝奪其可用組件,然后填充飛機(jī)骨頭。然而,其軟件DNA將在后續(xù)無人駕駛車輛中繼續(xù)存在,所吸取的經(jīng)驗教訓(xùn)有助于制定設(shè)計靈活,功能強(qiáng)大,長壽命無人系統(tǒng)的最佳實踐。
軟件審查
軟件是長壽命拼圖的重要組成部分,因為軍隊正在努力延長無人平臺的能力和壽命。軟件開發(fā)環(huán)境、編程語言和驗證/測試/分析工具都是確保無人系統(tǒng)在較長的使用壽命內(nèi)跟上不斷變化的威脅環(huán)境、不斷發(fā)展的認(rèn)證和任務(wù)要求以及用戶需求的關(guān)鍵組件。
強(qiáng)大的軟件解決方案可以幫助工程師設(shè)計和開發(fā)新的長壽命無人系統(tǒng),以及升級當(dāng)前現(xiàn)場或改裝無人平臺上的系統(tǒng),以延長其生命周期。軟件代碼的使用壽命遠(yuǎn)遠(yuǎn)超過無人駕駛車輛本身。在軍用車輛退役很久之后,其軟件代碼可以繼續(xù)為后續(xù)平臺奠定基礎(chǔ)并投入使用——就像MQ-1“捕食者”一樣。因此,選擇最佳軟件工具至關(guān)重要,但不一定具有挑戰(zhàn)性,尤其是在選擇過程中首先考慮幾個因素的情況下。
長壽命無人系統(tǒng)的軟件開發(fā)和驗證工具注意事項包括:
可擴(kuò)展性,以適應(yīng)可以處理附加功能、多任務(wù)有效載荷、不斷變化的認(rèn)證要求和新威脅的增量軟件/硬件更新;
定期更新以保持相關(guān)性,與用戶需求和行業(yè)/應(yīng)用程序需求保持同步,并提高效率和生產(chǎn)力;
在過去的高保證計劃方面取得了成功的記錄;和
全面的功能,包括完整的軟件開發(fā)套件和集成開發(fā)環(huán)境 (IDE),提供編譯器、調(diào)試器、靜態(tài)分析和測試工具等元素,并支持基于模型的開發(fā)和形式化方法。
靈活開發(fā)
長壽命無人系統(tǒng)必須保持最新和相關(guān)性。隨著任務(wù)要求的變化,它們的特性和功能也必須改變。軍事領(lǐng)導(dǎo)人——他們專注于準(zhǔn)備——必須部署能夠滿足當(dāng)前和未來需求的靈活、多任務(wù)系統(tǒng)。軟件開發(fā)環(huán)境和工具集應(yīng)有助于確保無人系統(tǒng)能夠跟上不斷發(fā)展的戰(zhàn)斗空間環(huán)境的步伐。
模塊化和可擴(kuò)展性是當(dāng)今幾乎所有軟件和硬件解決方案的關(guān)鍵屬性。最終用戶、項目經(jīng)理和工程師都非常重視系統(tǒng)適應(yīng)增量更新的能力,以增加功能、更改有效載荷、修復(fù)問題、解決安全漏洞和集成最新的技術(shù)創(chuàng)新 - 所有這些都是以延長使用壽命的名義。
無人系統(tǒng)設(shè)計可以通過重用前代車輛的軟件代碼啟用的特定功能來節(jié)省開發(fā)時間和資金。軟件開發(fā)環(huán)境應(yīng)有助于保持和保護(hù)對軟件的大量投資,同時保持當(dāng)前和未來增長所需的靈活性和可擴(kuò)展性。語言功能在這里可以提供幫助(例如,一種面向?qū)ο蟮姆椒ǎ渲锌梢詫⑿陆M件添加為現(xiàn)有組件的擴(kuò)展,而無需修改甚至重新編譯舊代碼)。工具支持也很有用,例如瀏覽器和代碼分析工具。
新舊
將舊系統(tǒng)與新系統(tǒng)混合總是有點挑戰(zhàn),但正確的軟件開發(fā)流程和工具可以提供幫助。
一個問題:舊代碼可能存在潛在的錯誤或漏洞,這些錯誤或漏洞可能會在添加新功能或更改操作環(huán)境時觸發(fā)。例如,一個最初被認(rèn)為是獨立的應(yīng)用程序,幾年前設(shè)計時安全性不那么重要,現(xiàn)在可能是遠(yuǎn)程訪問的,因此成為對手的潛在目標(biāo)。檢測潛在問題的靜態(tài)分析工具是一項值得的投資;例如,靜態(tài)分析工具可以標(biāo)記在常見弱點枚舉 (CWE) 中表現(xiàn)出弱點的構(gòu)造。
現(xiàn)實世界的軟件是用多種語言編寫的:它可以是用于安全關(guān)鍵組件的Ada,用于低級例程的C,以及用于用戶界面的Java或C++。軟件開發(fā)環(huán)境應(yīng)支持多種語言的組件的無縫互操作性,并在可能的情況下在組件接口上進(jìn)行檢查和實用檢查。
系統(tǒng)升級通常需要更改目標(biāo)平臺。編寫代碼應(yīng)簡化可移植性,編寫舊版軟件所使用的語言可能會影響此過程的難易程度。例如,Ada 包括對并發(fā)(任務(wù))的標(biāo)準(zhǔn)支持,因此可以可移植地編寫用戶代碼,而不是直接訪問操作系統(tǒng)的線程服務(wù)。
新組件和現(xiàn)有組件之間的交互可能會對安全性和可行性產(chǎn)生影響,但軟件開發(fā)環(huán)境可以幫助檢測和避免這種不受歡迎的副作用和不兼容問題。有效的驗證、測試和靜態(tài)分析工具可以幫助發(fā)現(xiàn)和消除不準(zhǔn)確的屬性、驗證和保留所需的屬性、確定升級有意失效的過時屬性以及驗證更新的屬性,從而簡化升級。隨著軟件和系統(tǒng)的規(guī)模和復(fù)雜性隨著時間的推移而增長,工具和流程應(yīng)具有良好的擴(kuò)展性并集成新組件。
處理過時問題
軟件過時可能有多種原因,包括硬件不兼容或供應(yīng)商停止支持或推進(jìn)其產(chǎn)品。為了幫助解決過時問題和更好的面向未來的無人系統(tǒng),開發(fā)團(tuán)隊?wèi)?yīng)該投資由長期行業(yè)合作伙伴和全球用戶社區(qū)支持的軟件工具,所有這些都致力于繼續(xù)使用和增強(qiáng)軟件語言、開發(fā)框架和工具集。如果供應(yīng)商不支持項目中使用的語言的最新版本,那么這可能是一個警告信號,表明他們的長期承諾是值得懷疑的。
為了促進(jìn)面向未來的軟件開發(fā),所使用的編程語言應(yīng)該具有長期和經(jīng)過驗證的成功使用記錄,同時還應(yīng)表現(xiàn)出穩(wěn)定和可控的發(fā)展 - 即穩(wěn)定性/兼容性但不是停滯不前。此外,編譯器同樣應(yīng)該具有成功的使用歷史,并在功能和代碼質(zhì)量方面定期升級。
如果特定的嵌入式電子元件(如處理器)升級、過時或不再受支持,借助開放、可移植、可互操作的軟件解決方案,可以避免昂貴的端口或重寫。為了促進(jìn)變革,軟件開發(fā)框架(包括編程語言)應(yīng)該可以在一系列硬件選項中移植,包括尖端和專用嵌入式處理器。開放、模塊化、可擴(kuò)展且全面的開發(fā)平臺有助于而不是阻礙硬件/軟件集成和互操作性。
悠久的遺產(chǎn)
過去的經(jīng)驗通常是未來行為的最大預(yù)測指標(biāo),因此選擇長期表現(xiàn)良好且可靠的軟件解決方案是有利的。
從事UAS項目的設(shè)計人員應(yīng)投資于專門為需要高完整性和保證的安全和任務(wù)關(guān)鍵型應(yīng)用而設(shè)計和使用的語言和工具。尋找行業(yè)領(lǐng)導(dǎo)者在國防、航空航天和其他重視安全性和可靠性的市場中備受矚目、復(fù)雜甚至類似的項目中成功采用的軟件開發(fā)和驗證工具非常有用。
軟件開發(fā)框架的強(qiáng)大程度取決于其背后的提供商,因此請尋找值得信賴的行業(yè)合作伙伴,該合作伙伴在生產(chǎn)、支持和增強(qiáng)強(qiáng)大、功能強(qiáng)大、功能齊全的工具方面有著悠久的傳統(tǒng)。
軟件開發(fā)和驗證工具,以及不斷增強(qiáng)和支持的編程語言通常更面向未來。
整套
軟件開發(fā)環(huán)境和工具集的質(zhì)量和有效性會對最終的軟件產(chǎn)生深遠(yuǎn)的影響,進(jìn)而影響整個無人系統(tǒng)。無人駕駛車輛開發(fā)的整體方法需要一個強(qiáng)大、直觀的集成開發(fā)環(huán)境 (IDE),以支持從設(shè)計和編碼到系統(tǒng)集成、測試、調(diào)試和代碼分析的完整開發(fā)工作流程。
軟件問題可能會導(dǎo)致生產(chǎn)計劃出現(xiàn)重大延遲,從而導(dǎo)致已部署環(huán)境中出現(xiàn)大量不必要的停機(jī)。對于程序進(jìn)度和軟件質(zhì)量而言,必須在開發(fā)周期的早期發(fā)現(xiàn)錯誤,而糾正這些錯誤的成本最低。對于最關(guān)鍵的組件,通過形式化方法實現(xiàn)的保證 - 基于數(shù)學(xué)的確信已滿足部分程序?qū)傩裕ɡ鐩]有運(yùn)行時錯誤) - 非常值得投資。
語言和工具技術(shù)可以幫助無人系統(tǒng)開發(fā)人員應(yīng)對這些挑戰(zhàn)。一個例子是 Ada 語言及其相關(guān)的工具支持。Ada 提供廣泛的檢查,甚至在程序運(yùn)行之前幫助檢測錯誤,并發(fā)功能可有效地映射到現(xiàn)代實時操作系統(tǒng) (RTOS) 和目標(biāo)硬件,完整的面向?qū)ο蟮木幊坦δ芎投嗾Z言互操作性。
Ada 自成立以來不斷發(fā)展,以反映用戶體驗和要求以及技術(shù)趨勢。該標(biāo)準(zhǔn)的當(dāng)前版本(Ada 2012)包括對基于合約的編程(前置和后置條件)的支持,這有助于驗證,并實際上將需求嵌入到源代碼中,可以靜態(tài)或動態(tài)地檢查它們。Ada目前部署在各種現(xiàn)代防御平臺和設(shè)備上,包括陸地,海上,空中和太空的軍事嵌入式系統(tǒng)。
支持 Ada 語言的是各種工具和開發(fā)環(huán)境,這些工具和開發(fā)環(huán)境已用于生成最高安全關(guān)鍵級別的軟件(DO-178B/C 中的設(shè)計保證級別 A)。AdaCore提供了兩個這樣的工具:GNAT Pro開發(fā)環(huán)境,其版本特別適用于需要繼續(xù)使用特定維護(hù)技術(shù)分支的長期系統(tǒng);以及 CodePeer 靜態(tài)分析工具,該工具可以發(fā)現(xiàn)新代碼或現(xiàn)有代碼中的漏洞(包括檢測 CWE 中的各種弱點)。
審核編輯:郭婷
-
無人駕駛
+關(guān)注
關(guān)注
98文章
4074瀏覽量
120623 -
無人系統(tǒng)
+關(guān)注
關(guān)注
0文章
35瀏覽量
3217
發(fā)布評論請先 登錄
相關(guān)推薦
評論