王小輝 張 濤 呂殿君 詹景坤
1.中國運(yùn)載火箭技術(shù)研究院研究發(fā)展中心,北京 100076 2.西北工業(yè)大學(xué)軟件與微電子學(xué)院,西安 710072
目前飛行器相關(guān)裝備的研制仍采用傳統(tǒng)的軟硬件一體化研發(fā)方式,即關(guān)于飛行器軟件系統(tǒng)的開發(fā)高度依賴于硬件系統(tǒng)的設(shè)計(jì)。隨著飛行器工作需求的多樣化,傳統(tǒng)軟硬件一體化的研發(fā)方式已無法滿足更靈活的飛行器功能擴(kuò)展需求,各型號(hào)飛行器研制無法做到大規(guī)模的技術(shù)復(fù)用并因軟硬件的緊耦合導(dǎo)致系統(tǒng)的升級(jí)維護(hù)困難。因此,針對(duì)上述問題,一種新的軟件定義飛行器技術(shù)被提出。
軟件定義技術(shù)是一種通過特殊的軟硬件架構(gòu)設(shè)計(jì),實(shí)現(xiàn)將控制層面從底層硬件抽象出來,并由軟件統(tǒng)一完成對(duì)硬件管理和調(diào)度的技術(shù)。目前軟件定義技術(shù)已在無線電、雷達(dá)和衛(wèi)星等裝備上具有一定的研究成果,充分實(shí)現(xiàn)了軟件與硬件的解耦,并通過軟件靈活控制和定義硬件功能[1-2]。然而,因飛行器設(shè)備的特殊性,軟件定義技術(shù)在飛行器設(shè)備上的應(yīng)用仍存在如下技術(shù)需求及挑戰(zhàn):
1)飛行器軟件系統(tǒng)的跨平臺(tái)應(yīng)用。飛行器因作用目標(biāo)及使用需求的不同,致使飛行器型號(hào)眾多。不同型號(hào)飛行器采用的硬件平臺(tái)及編程方式均存在一定的差異性,因此針對(duì)軟件定義技術(shù)的應(yīng)用首先需要解決飛行器硬件平臺(tái)的通用化抽象管理,以支持飛行器軟件系統(tǒng)的跨平臺(tái)應(yīng)用;
2)飛行器軟件系統(tǒng)規(guī)模的進(jìn)一步復(fù)雜化?,F(xiàn)代戰(zhàn)場(chǎng)已逐漸轉(zhuǎn)換為信息化對(duì)抗作戰(zhàn),在飛行器的技術(shù)及功能需求上提出了更多要求,使得飛行器軟件系統(tǒng)的研制規(guī)模及復(fù)雜度急劇增大。因此在飛行器新型技術(shù)及功能的研制及普及方面,有必要尋求一種面向大規(guī)模、高難度軟件快速開發(fā)及維護(hù)的研發(fā)方式;
3)飛行器軟件系統(tǒng)研制的高質(zhì)量保證。飛行器屬于一種技術(shù)密集型的高端精密裝備,而且飛行器通常運(yùn)行于復(fù)雜惡劣的工作環(huán)境,在軟件定義技術(shù)下,軟件系統(tǒng)安全性和可靠性將決定飛行器的整體運(yùn)行質(zhì)量。因此,在當(dāng)前飛行器型號(hào)任務(wù)多,軟件研發(fā)周期短的條件下,須同時(shí)保證飛行器軟件系統(tǒng)研發(fā)的效率及質(zhì)量。
針對(duì)上述問題,借鑒美國軍方提出的未來機(jī)載能力環(huán)境(FACE:Future Airborne Capability Environment)標(biāo)準(zhǔn)[3],設(shè)計(jì)并提出一種面向軟件定義技術(shù)的開放式、可移植飛行器軟件體系架構(gòu),并給出基于該體系架構(gòu)的飛行器軟件系統(tǒng)快速開發(fā)方法,有效解決飛行器軟件系統(tǒng)在軟件定義技術(shù)下的功能快速集成及軟件技術(shù)的大規(guī)模復(fù)用。
FACE技術(shù)標(biāo)準(zhǔn)是由美海軍航空作戰(zhàn)電子項(xiàng)目辦公室提出,并由國際公開標(biāo)準(zhǔn)組織FACE聯(lián)合會(huì)維護(hù)管理的一套用于軍事航空系統(tǒng)的軟件通用運(yùn)行環(huán)境開發(fā)的技術(shù)標(biāo)準(zhǔn)。FACE允許將一些軟件功能以組件的形式開發(fā),并通過定義好的接口向其它組件提供這些功能調(diào)用,同時(shí)保證軟件在不同硬件環(huán)境下的移植和復(fù)用。
FACE技術(shù)標(biāo)準(zhǔn)定義了用于開發(fā)應(yīng)用的軟件計(jì)算環(huán)境框架和接口,秉承關(guān)注點(diǎn)分離的理念,采用分層設(shè)計(jì)的思想將航電系統(tǒng)中眾多與特定硬件平臺(tái)相關(guān)的接口控制文件(ICD:Interface Control Document)處理封裝到FACE計(jì)算平臺(tái),并在計(jì)算平臺(tái)內(nèi)通過一系列的適配模式將特定平臺(tái)相關(guān)的ICD適配到FACE定義的標(biāo)準(zhǔn)ICD,F(xiàn)ACE上層定義的可移植組件通過處理FACE定義的標(biāo)準(zhǔn)ICD和特定硬件平臺(tái)實(shí)現(xiàn)解耦,實(shí)現(xiàn)一套軟件系統(tǒng)可以運(yùn)行于多個(gè)平臺(tái)的目的,圖1為FACE技術(shù)標(biāo)準(zhǔn)示意圖。
圖1 FACE標(biāo)準(zhǔn)示意圖
FACE標(biāo)準(zhǔn)目前已逐漸面向美國和歐洲未來的商業(yè)、軍事和通用航空飛行領(lǐng)域,產(chǎn)生關(guān)鍵技術(shù)作用和影響,2015年美國空軍已開始推廣標(biāo)準(zhǔn)。此外,美國海軍防空系統(tǒng)未來也將向FACE架構(gòu)進(jìn)行演變;美國國防技術(shù)Elbit系統(tǒng)公司整合機(jī)載環(huán)境任務(wù)處理器和駕駛艙升級(jí)解決方案,正在將FACE納入新的軟件開發(fā)計(jì)劃;美國陸軍國防部也逐步將FACE系統(tǒng)納入包括在直升機(jī)平臺(tái)等陸軍裝備上的研究與應(yīng)用中[4-5]。
因FACE標(biāo)準(zhǔn)具備較高的航天適用性,本文在該標(biāo)準(zhǔn)基礎(chǔ)上針對(duì)當(dāng)前飛行器的研制特性及發(fā)展需求,通過建立一種開放式的飛行器軟件系統(tǒng)參考架構(gòu),制定通用化、標(biāo)準(zhǔn)化的組件互聯(lián)接口,支持可移植的特定能力軟件應(yīng)用,實(shí)現(xiàn)具備通用目標(biāo)、安全和保密性的可移植組件組成的應(yīng)用開發(fā),有效解決飛行器載荷的快速識(shí)別、集成及功能組件的動(dòng)態(tài)集成、以及飛行器軟件體系架構(gòu)和功能組件的復(fù)用等軟件定義飛行器技術(shù)的難題。
本文設(shè)計(jì)的開放式、可移植飛行器軟件體系架構(gòu)如圖2所示,該架構(gòu)采用分段的設(shè)計(jì)方式,各分段主要包括操作系統(tǒng)段(OSS)、I/O服務(wù)段(IOSS)、特定平臺(tái)服務(wù)段(PSSS)、傳輸服務(wù)段(TSS)及可移植組件段(PCS)共5個(gè)部分。并通過標(biāo)準(zhǔn)化各分段之間的傳輸服務(wù)接口以及統(tǒng)一分段之間的消息傳輸格式,將外部硬件設(shè)備環(huán)境與軟件系統(tǒng)架構(gòu)相隔離,進(jìn)而提高軟件應(yīng)用功能的可移植性。此外,各分段通過定義的操作系統(tǒng)接口(OS)、輸入/輸出服務(wù)接口(IO)以及傳輸服務(wù)接口(TS)共3種標(biāo)準(zhǔn)化接口完成相互間的數(shù)據(jù)通信傳輸。
圖2 開放式、可移植飛行器軟件體系架構(gòu)
1)操作系統(tǒng)段
操作系統(tǒng)段位于體系架構(gòu)底層,是其它分段的運(yùn)行基礎(chǔ),用于承載各型號(hào)的飛行器操作系統(tǒng)、編程語言運(yùn)行時(shí)以及應(yīng)用程序框架,為飛行器的軟件應(yīng)用程序提供一個(gè)可執(zhí)行運(yùn)行環(huán)境,并負(fù)責(zé)對(duì)計(jì)算平臺(tái)的訪問控制。
2)I/O服務(wù)段
I/O服務(wù)段實(shí)現(xiàn)飛行器軟件系統(tǒng)與各型號(hào)飛行器硬件設(shè)備驅(qū)動(dòng)程序的對(duì)接, I/O服務(wù)段將對(duì)接硬件和設(shè)備驅(qū)動(dòng)程序抽象為I/O服務(wù),實(shí)現(xiàn)通過特定平臺(tái)服務(wù)段和I/O設(shè)備之間的IOS接口進(jìn)行通信。I/O服務(wù)段為各型號(hào)飛行器使用的每一種總線通信方式定義一個(gè)專門的I/O服務(wù),并采用適配器的設(shè)計(jì)模式完成對(duì)對(duì)應(yīng)設(shè)備的訪問。I/O服務(wù)負(fù)責(zé)解析和組裝標(biāo)準(zhǔn)格式的I/O數(shù)據(jù)塊,獲取總線傳輸所需的參數(shù)與特殊機(jī)制,從而完成與平臺(tái)特定服務(wù)段服務(wù)間的數(shù)據(jù)交互。
3)特定平臺(tái)服務(wù)段
特定平臺(tái)服務(wù)段可對(duì)外部設(shè)備數(shù)據(jù)的生成邏輯進(jìn)行抽象建模。針對(duì)各型號(hào)飛行器外部硬件設(shè)備定義了一組通用的應(yīng)用數(shù)據(jù)格式。特定平臺(tái)服務(wù)可被視為外部硬件設(shè)備的抽象代理,其實(shí)現(xiàn)方式與其抽象的外部硬件設(shè)備緊密相關(guān)。特定平臺(tái)服務(wù)能理解對(duì)應(yīng)設(shè)備總線接口控制文件的數(shù)據(jù)組成,并完成應(yīng)用數(shù)據(jù)塊和接口定義數(shù)據(jù)塊之間的格式轉(zhuǎn)換,從而實(shí)現(xiàn)了應(yīng)用數(shù)據(jù)與總線接口數(shù)據(jù)的解耦。
4)傳輸服務(wù)段
傳輸服務(wù)段主要為可移植應(yīng)用軟件和特定平臺(tái)服務(wù)提供應(yīng)用數(shù)據(jù)塊的分發(fā)傳遞和格式轉(zhuǎn)換功能。通過傳輸服務(wù),飛行器應(yīng)用軟件和特定平臺(tái)服務(wù)只需關(guān)注與自身相關(guān)的應(yīng)用數(shù)據(jù)的通用處理方式,無需關(guān)注數(shù)據(jù)交互時(shí)的具體傳遞細(xì)節(jié),從而實(shí)現(xiàn)了應(yīng)用數(shù)據(jù)處理邏輯與應(yīng)用數(shù)據(jù)傳輸過程的解耦。
5)可移植組件段
可移植組件段由一系列的可移植的標(biāo)準(zhǔn)化飛行器系統(tǒng)功能組件和通用服務(wù)組成,用于提供平臺(tái)級(jí)的能力。與傳統(tǒng)的飛行器應(yīng)用軟件相比,這部分軟件只包含純業(yè)務(wù)邏輯部分,可在任意不同的飛行器硬件計(jì)算平臺(tái)和飛行器系統(tǒng)運(yùn)行環(huán)境上進(jìn)行部署,且至多只需進(jìn)行重新編譯,或者運(yùn)行軟件庫、編程語言時(shí)需對(duì)庫以及應(yīng)用框架進(jìn)行重新鏈接,充分體現(xiàn)標(biāo)準(zhǔn)組件化方式飛行器系統(tǒng)功能的移植靈活性。
6)操作系統(tǒng)接口
操作系統(tǒng)接口在整個(gè)體系架構(gòu)中,為其它服務(wù)段中的組件提供了使用操作系統(tǒng)內(nèi)部服務(wù)及操作系統(tǒng)段相關(guān)功能的標(biāo)準(zhǔn)化手段,該接口支持實(shí)時(shí)分區(qū)操作系統(tǒng)及健康管理等應(yīng)用程序接口(API)。操作系統(tǒng)接口完成飛行器軟件系統(tǒng)與操作系統(tǒng)的解耦,實(shí)現(xiàn)跨操作系統(tǒng)可移植。
7)I/O服務(wù)接口
I/O服務(wù)接口在整個(gè)體系架構(gòu)中,為特定平臺(tái)服務(wù)段中的組件提供了與接口硬件設(shè)備驅(qū)動(dòng)程序通信的標(biāo)準(zhǔn)方法,該接口采用針對(duì)各型號(hào)飛行器標(biāo)準(zhǔn)化定義的I/O消息模型進(jìn)行傳輸。I/O服務(wù)接口完成飛行器軟件系統(tǒng)與飛行器硬件平臺(tái)一定程度的解耦,實(shí)現(xiàn)特定I/O服務(wù)的可移植。
8)傳輸服務(wù)接口
傳輸服務(wù)接口在整個(gè)體系架構(gòu)中,為特定平臺(tái)服務(wù)段與可移植組件段提供了一個(gè)標(biāo)準(zhǔn)化的手段來使用傳輸服務(wù)段提供的通信服務(wù),該接口采用針對(duì)各類型飛行器標(biāo)準(zhǔn)化的消息數(shù)據(jù)格式進(jìn)行通信。傳輸服務(wù)接口完成飛行器軟件系統(tǒng)架構(gòu)組成的解耦,實(shí)現(xiàn)組件可移植、系統(tǒng)架構(gòu)復(fù)用及組件的快速集成。
通過上述分段的系統(tǒng)設(shè)計(jì)方式,采用針對(duì)飛行器硬件平臺(tái)、硬件設(shè)備、操作系統(tǒng)、軟件系統(tǒng)及功能組件的通用化、標(biāo)準(zhǔn)化處理,實(shí)現(xiàn)飛行器軟件系統(tǒng)各層級(jí)的全面解耦,構(gòu)建一種開放式、可移植的飛行器軟件系統(tǒng)架構(gòu)。利用該系統(tǒng)架構(gòu)可以通過對(duì)飛行器關(guān)鍵功能的可移植組件化,實(shí)現(xiàn)跨型號(hào)飛行器平臺(tái)間的關(guān)鍵功能的快速集成與復(fù)用,有效促進(jìn)飛行器功能及技術(shù)的快速研制及大規(guī)模復(fù)用。
為進(jìn)一步完善面向軟件定義的開放式、可移植的飛行器軟件體系架構(gòu)技術(shù),以及隨著飛行器工作需求的多樣化,各型號(hào)飛行器研制無法做到大規(guī)模的技術(shù)復(fù)用,因軟硬件的緊耦合導(dǎo)致系統(tǒng)升級(jí)維護(hù)的困難。本文結(jié)合飛行器軟件系統(tǒng)實(shí)際研制需求,圍繞軟定義技術(shù)開發(fā)思想,提出一種基于開放式、可移植體系架構(gòu)面向軟件定義的飛行器軟件系統(tǒng)及功能快速集成的開發(fā)方法。該套開發(fā)方法的整體設(shè)計(jì)如圖3所示。
該方法首先依據(jù)開放式、可移植飛行器軟件系統(tǒng)體系架構(gòu)進(jìn)一步制定各項(xiàng)研制規(guī)范及標(biāo)準(zhǔn),規(guī)范化面向軟件定義技術(shù)的飛行器軟件系統(tǒng)開發(fā)過程;其次,針對(duì)傳統(tǒng)飛行器軟件系統(tǒng)研制,參與角色重新劃分為飛行器軟件集成單位和承研單位,引入飛行器體系架構(gòu)認(rèn)證專家;最后,構(gòu)建用于標(biāo)準(zhǔn)通用功能服務(wù)收集和復(fù)用的開放式可移植飛行器軟件系統(tǒng)模型組件庫。
面向軟件定義的快速集成開發(fā)規(guī)范及標(biāo)準(zhǔn)包括如下幾項(xiàng)內(nèi)容:
1)業(yè)務(wù)指南。用于說明開放式、可移植飛行器軟件系統(tǒng)體系架構(gòu)的設(shè)計(jì)及開發(fā)原理,并向軟件承研單位提供飛行器軟件開發(fā)指引;
2)共享數(shù)據(jù)模型。用于收集并定義飛行器技術(shù)領(lǐng)域的各類型數(shù)據(jù)元素,形成一個(gè)完整的共享數(shù)據(jù)模型字典,有利于功能軟件的標(biāo)準(zhǔn)化開發(fā);
3)技術(shù)標(biāo)準(zhǔn)。面向開放式、可移植飛行器軟件系統(tǒng)體系架構(gòu)的技術(shù)開發(fā)細(xì)節(jié)描述,規(guī)范軟件承研單位的標(biāo)準(zhǔn)化功能組件開發(fā);
圖3 整體設(shè)計(jì)圖
4)參考實(shí)現(xiàn)指南。該指南建立一套標(biāo)準(zhǔn)的飛行器軟件系統(tǒng)體系架構(gòu),便于軟件承研單位參考;
5)符合性策略。詳細(xì)描述了開放式、可移植飛行器軟件系統(tǒng)體系架構(gòu)軟件開發(fā)的約束規(guī)范,用于測(cè)試認(rèn)證標(biāo)準(zhǔn)功能組件;
6)庫策略。模型組件庫策略充分定義了符合標(biāo)準(zhǔn)的可移植功能組件的入庫要求及發(fā)布、保存標(biāo)準(zhǔn);
7)約定指南。明確了開放式可移植飛行器軟件系統(tǒng)體系架構(gòu)模型組件的使用標(biāo)準(zhǔn)和指引。
1)軟件集成單位通過向飛行器工作功能需求方了解研制需求后,首先可以直接通過開放式、可移植飛行器軟件系統(tǒng)模型組件庫檢索是否有滿足需求的通用可移植標(biāo)準(zhǔn)服務(wù)組件,若有則提取該組件并向目標(biāo)型號(hào)飛行器進(jìn)行集成,即快速完成產(chǎn)品研發(fā);
2)若模型組件庫中沒有符合需求的服務(wù)組件,則啟動(dòng)組件開發(fā)流程。軟件集成單位向承研單位提供研制需求,由承研單位依據(jù)技術(shù)標(biāo)準(zhǔn)實(shí)施標(biāo)準(zhǔn)功能組件的開發(fā);
3)軟件承研單位完成標(biāo)準(zhǔn)功能組件的開發(fā)后,一方面提供給軟件集成單位,完成型號(hào)飛行器產(chǎn)品的研發(fā);另一方面,向體系架構(gòu)認(rèn)證專家提交該標(biāo)準(zhǔn)功能組件,由專家完成符合性測(cè)試驗(yàn)證后,將該標(biāo)準(zhǔn)組件完成入庫保存處理,隨后發(fā)布該功能組件,便于后續(xù)類似需求飛行器型號(hào)產(chǎn)品的快速研制。
通過構(gòu)建開放式、可移植的標(biāo)準(zhǔn)功能組件,可以實(shí)現(xiàn)飛行器系統(tǒng)功能模塊在不同型號(hào)飛行器平臺(tái)間的大規(guī)模復(fù)用。此外,通過構(gòu)建模型組件庫,逐步積累標(biāo)準(zhǔn)組件,極大促進(jìn)后續(xù)型號(hào)飛行器研制的技術(shù)復(fù)用,提升飛行器研制效率并保證飛行器研制質(zhì)量。
雷達(dá)探測(cè)系統(tǒng)是飛行器的重要組成部分,本文以其為對(duì)象,開展開放式、可移植軟件架構(gòu)的應(yīng)用驗(yàn)證。飛行器雷達(dá)針對(duì)不同探測(cè)目的,具備多樣性,如地面探測(cè)、目標(biāo)探測(cè)等;此外,同一類型雷達(dá)下仍具備多種型號(hào),以適配不同型號(hào)的飛行器及飛行任務(wù)。
一套雷達(dá)軟件系統(tǒng)主要包含如下功能:通信協(xié)議的指令解析、雷達(dá)工作狀態(tài)配置、中斷處理響應(yīng)、數(shù)據(jù)打包存儲(chǔ)及傳輸、數(shù)據(jù)處理等。對(duì)于雷達(dá)系統(tǒng)的軟件部分而言,其處理過程具有相似性。但因雷達(dá)硬件組成及探測(cè)方式不同,處理的信號(hào)數(shù)據(jù)類型及算法具備差異性。
因此,在開放式、可移植軟件架構(gòu)下以2種不同類型毫米波雷達(dá)控制軟件的研制進(jìn)行驗(yàn)證,其中A型毫米波雷達(dá)采用脈沖體制,B型毫米波雷達(dá)采用連續(xù)波體制。
如圖4所示,首先在開放式、可移植軟件架構(gòu)下,針對(duì)A型毫米波雷達(dá),經(jīng)過標(biāo)準(zhǔn)化組件開發(fā),完成測(cè)試后保存至標(biāo)準(zhǔn)化組件庫;其次,在B型毫米波雷達(dá)的軟件研制過程中,優(yōu)先在標(biāo)準(zhǔn)化組件庫中尋找可復(fù)用組件,如指令解析、狀態(tài)配置、中斷響應(yīng)等,利用架構(gòu)優(yōu)勢(shì)實(shí)現(xiàn)可移植功能組件的復(fù)用;最后,因脈沖體制與連續(xù)波體制的不同以及兩型雷達(dá)探測(cè)目的的不同,針對(duì)B型雷達(dá)的信號(hào)處理及探測(cè)數(shù)據(jù)處理方面進(jìn)行組件新研,完成研制后標(biāo)準(zhǔn)化入庫,以備后續(xù)復(fù)用。
圖4 兩型號(hào)毫米波雷達(dá)軟件研制圖
在完成雷達(dá)控制軟件研制后,分別對(duì)研制過程從代碼量、研制時(shí)間及測(cè)試質(zhì)量等方面進(jìn)行統(tǒng)計(jì)分析。B型毫米波雷達(dá)軟件因?qū)崿F(xiàn)了部分組件的復(fù)用,與傳統(tǒng)完全新研軟件相比,在相同人力投入下研制時(shí)間縮短了約30%,且測(cè)試階段發(fā)現(xiàn)的軟件bug率降低約50%。
上述實(shí)驗(yàn)驗(yàn)證了將毫米波雷達(dá)的軟件組件進(jìn)行標(biāo)準(zhǔn)化統(tǒng)一后在開放式、可移植架構(gòu)下的可復(fù)用性開發(fā),將有效支持飛行器軟件系統(tǒng)的高質(zhì)量快速集成。
提出一種開放式、可移植的飛行器軟件系統(tǒng)體系架構(gòu)及一套基于該架構(gòu)體系的軟件快速集成開發(fā)方法,以推進(jìn)軟件定義技術(shù)在當(dāng)前飛行器系統(tǒng)研制上的應(yīng)用,實(shí)現(xiàn)飛行器軟件系統(tǒng)及功能組件的標(biāo)準(zhǔn)通用化開發(fā)及大規(guī)模復(fù)用,提升了飛行器軟件系統(tǒng)的研制效率。在下一步的研究中,將細(xì)化提出的體系架構(gòu)技術(shù),并開展集成開發(fā)環(huán)境的研制。