国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

空間站大規(guī)模復(fù)雜控制軟件基于數(shù)據(jù)池的軟件框架設(shè)計(jì)

2024-03-07 08:33尚葳蕤黨紀(jì)紅張錦江張丹瑤李經(jīng)松
載人航天 2024年1期
關(guān)鍵詞:數(shù)據(jù)項(xiàng)艙段復(fù)雜度

尚葳蕤, 黨紀(jì)紅, 張錦江, 張丹瑤, 李經(jīng)松

(北京控制工程研究所, 北京 100094)

1 引言

隨著空間站等復(fù)雜航天任務(wù)的實(shí)施,軟件作為航天重大工程系統(tǒng)的關(guān)鍵組成部分發(fā)揮著越來越重要的作用,同時(shí)隨著航天器越來越智能化和自主化,其軟件規(guī)模和復(fù)雜度持續(xù)增長。 為滿足空間站這類載人復(fù)雜航天器長期在軌高可靠穩(wěn)定運(yùn)行的要求,軟件在緩解復(fù)雜性、提高可靠性、具有可擴(kuò)展能力[1]等方面面臨挑戰(zhàn)。 欒恩杰[2]在針對(duì)航天器軟件復(fù)雜度的問題中指出,在不可能取消其本質(zhì)復(fù)雜性的條件下,將面臨如何應(yīng)對(duì)軟件復(fù)雜性帶來的問題、風(fēng)險(xiǎn)、防護(hù)等方面的挑戰(zhàn)。

NASA 建立了一套科學(xué)、規(guī)范、有效的軟件工程和質(zhì)量保證標(biāo)準(zhǔn)體系[3?4],并對(duì)飛行軟件的規(guī)模和復(fù)雜度進(jìn)行了深入研究,于2009 年發(fā)布了《NASA 飛行軟件復(fù)雜度研究報(bào)告》[5],提出了降低和管理復(fù)雜度的建議,探索和驗(yàn)證了設(shè)計(jì)模式和架構(gòu)設(shè)計(jì)對(duì)于緩解復(fù)雜度的關(guān)鍵意義。 核心飛行軟件系統(tǒng)(core Flight software System,cFS)[6?7]是由NASA 戈達(dá)德空間飛行中心(Goddard Space Flight Center,GSFC)推出的一套飛行軟件通用框架,它是一個(gè)與硬件平臺(tái)、操作系統(tǒng)和特定型號(hào)項(xiàng)目無關(guān)的可重用軟件,其設(shè)計(jì)優(yōu)點(diǎn)中的分層架構(gòu)、基于組件的設(shè)計(jì)、動(dòng)態(tài)運(yùn)行、運(yùn)行時(shí)命令/表參數(shù)機(jī)制等對(duì)于降低復(fù)雜度有重要意義。 目前cFS 已經(jīng)推廣到NASA 的各個(gè)航天中心和研究機(jī)構(gòu)以及日本、韓國等,得到了廣泛的應(yīng)用。

歐空局也非常重視軟件框架設(shè)計(jì),很早就發(fā)布了關(guān)于AOCS(Attitude and Orbit Control Sys?tem)軟件框架設(shè)計(jì)的研究報(bào)告[8],描述了相關(guān)設(shè)計(jì)思路和最佳實(shí)踐。 報(bào)告中專門提到了數(shù)據(jù)池的應(yīng)用,指出在共享數(shù)據(jù)設(shè)計(jì)模式中應(yīng)用數(shù)據(jù)池能夠最大程度地實(shí)現(xiàn)數(shù)據(jù)產(chǎn)生者與數(shù)據(jù)消費(fèi)者之間的解耦,并描述了基于數(shù)據(jù)池的數(shù)據(jù)交換模型的實(shí)踐實(shí)例。 此外,還提出了航天航空開放接口架構(gòu)(Space Avionics Open Interface aRchitecture,SAVOIR)[9],通過使用和航天器接口服務(wù)(Space?craft Onboard Interface Service,SOIS)定義的一系列服務(wù)以及自定義服務(wù),構(gòu)成了一個(gè)通用軟件執(zhí)行平臺(tái)來支持上層應(yīng)用,形成了可配置、可即插即用、基礎(chǔ)夯實(shí)、向上開放并可不斷擴(kuò)展的體系架構(gòu)。

現(xiàn)代航空飛行器系統(tǒng)也已將開放式系統(tǒng)架構(gòu)思想引入機(jī)載軟件開發(fā)中,如分布式綜合模塊化航空電子系統(tǒng)(Distributed Integrated Modular Avi?onics, DIMA)[10]和未來機(jī)載能力環(huán)境(Future Airborne Capability Environment,F(xiàn)ACE)標(biāo)準(zhǔn)[11],旨在航電系統(tǒng)中通過定義軟件標(biāo)準(zhǔn)接口、建立標(biāo)準(zhǔn)組件來滿足不同系統(tǒng)間軟件復(fù)用的要求。FACE 標(biāo)準(zhǔn)包含5 個(gè)組件段,通過功能分段、封裝隔離的方式實(shí)現(xiàn)了軟硬件之間的解耦。 其中,平臺(tái)特定服務(wù)、傳輸服務(wù)和IO 服務(wù)組件段都是為解決系統(tǒng)間的數(shù)據(jù)傳輸業(yè)務(wù)設(shè)計(jì)的,提供了標(biāo)準(zhǔn)化數(shù)據(jù)接口,實(shí)現(xiàn)數(shù)據(jù)的獲取和傳遞,同時(shí)還實(shí)現(xiàn)了多信息源數(shù)據(jù)融合、資源共享以及多操作面的功能分配,進(jìn)行實(shí)時(shí)動(dòng)態(tài)的數(shù)據(jù)分發(fā),為可移植單元間的數(shù)據(jù)交互提供了一種互操作方法。

制導(dǎo)、導(dǎo)航與控制(Guidance, Navigation and Control, GNC)系統(tǒng)作為空間站任務(wù)的核心分系統(tǒng),完成空間站多艙段的姿態(tài)與軌道控制任務(wù),其控制軟件規(guī)模大、功能復(fù)雜。 按照GJB8000-2013《軍用軟件研制能力等級(jí)要求》[12]的規(guī)定,超過十萬行的嵌入式軟件屬于巨型規(guī)模,空間站GNC 系統(tǒng)控制軟件已步入巨型規(guī)模的范疇。

在調(diào)研國外航天航空機(jī)構(gòu)在大規(guī)模復(fù)雜軟件框架設(shè)計(jì)和可擴(kuò)展性標(biāo)準(zhǔn)化數(shù)據(jù)設(shè)計(jì)思路和經(jīng)驗(yàn)的基礎(chǔ)上,本文針對(duì)空間站GNC 系統(tǒng)控制軟件復(fù)雜度高、可靠性和可擴(kuò)展性要求高等特點(diǎn)對(duì)軟件框架設(shè)計(jì)開展研究,提出基于數(shù)據(jù)池的軟件框架設(shè)計(jì)方法,并給出應(yīng)用效果。

2 大規(guī)模復(fù)雜控制軟件設(shè)計(jì)需求分析

空間站由多個(gè)航天器在軌組裝建造而成,是具有長壽命、高可靠、可維修等特點(diǎn)的載人航天器。 其中,GNC 系統(tǒng)作為航天器的關(guān)鍵分系統(tǒng),能夠完成空間站整個(gè)飛行和組裝建造階段的姿態(tài)軌道控制任務(wù)。 天和、問天、夢(mèng)天各艙段各自具有完整的GNC 系統(tǒng),分別作為目標(biāo)器以及追蹤器完成在軌交會(huì)對(duì)接等組裝建造,并在形成組合體之后完成不同構(gòu)型的姿態(tài)軌道控制任務(wù)。 實(shí)現(xiàn)GNC 系統(tǒng)任務(wù)的控制軟件具有如下需求特點(diǎn):

1)穿艙總線信息架構(gòu)復(fù)雜,多艙資源融合使用、冗余備份,IO 數(shù)據(jù)管理復(fù)雜。 為實(shí)現(xiàn)空間站各艙控制系統(tǒng)資源的融合使用,多艙GNC 系統(tǒng)設(shè)計(jì)了4 條超200 m 的1553 總線,交叉聯(lián)通了各艙的200 余臺(tái)套設(shè)備,構(gòu)建了基于1553B 總線的GNC 多艙段信息架構(gòu),實(shí)現(xiàn)了整站各艙所有控制系統(tǒng)資源的完全融合使用、冗余備份和動(dòng)態(tài)重構(gòu),是目前國內(nèi)在軌應(yīng)用的總線長度最長、設(shè)備數(shù)據(jù)最多、規(guī)模最為龐大的1553B 信息架構(gòu),需要軟件具有多艙段多總線資源管理的能力。 同時(shí)由于總線掛接部件多,如果采用傳統(tǒng)控制軟件針對(duì)每個(gè)部件定制式的IO 處理方式,軟件將非常復(fù)雜,要緩解復(fù)雜度需要軟件針對(duì)IO 處理進(jìn)行通用化設(shè)計(jì)。

2)控制器采用拜占庭四機(jī)容錯(cuò)結(jié)構(gòu)[13],四機(jī)軟件數(shù)據(jù)無容差同步運(yùn)行。 空間站四機(jī)容錯(cuò)系統(tǒng)中每個(gè)單機(jī)控制不同的總線完成不同的IO 工作,四機(jī)需要協(xié)同完成分布式數(shù)據(jù)采集和控制量輸出,而控制算法計(jì)算和控制輸出決策需要四機(jī)熱備份系統(tǒng)以無容差方式完全一致運(yùn)行,因此需要軟件實(shí)現(xiàn)四機(jī)之間IO 數(shù)據(jù)的實(shí)時(shí)交互和數(shù)據(jù)無容差同步運(yùn)行的需求。

3)空間站對(duì)擴(kuò)展能力的要求,需要在設(shè)計(jì)階段考慮可擴(kuò)展性。 空間站早期構(gòu)想階段就提出了擴(kuò)展需求,指出空間站建造完成后,應(yīng)具備良好的艙段擴(kuò)展、能源擴(kuò)展和應(yīng)用支持?jǐn)U展能力[1],需要軟件能夠適應(yīng)后續(xù)更多擴(kuò)展艙段的資源管理。因此軟件需要在架構(gòu)設(shè)計(jì)時(shí)考慮可擴(kuò)展需求,以軟件定義標(biāo)準(zhǔn)化數(shù)據(jù)接口、建立標(biāo)準(zhǔn)組件等思路開展軟件框架設(shè)計(jì)。

基于上述需求特點(diǎn)和設(shè)計(jì)難點(diǎn),空間站控制軟件需要在多艙軟件統(tǒng)一框架設(shè)計(jì)和數(shù)據(jù)設(shè)計(jì)上尋求突破,使得軟件框架具備多艙段多機(jī)多總線的資源管理能力、可靠高效的數(shù)據(jù)管理能力和可移植和可擴(kuò)展能力。

3 基于數(shù)據(jù)池的軟件框架設(shè)計(jì)

3.1 IO 數(shù)據(jù)池設(shè)計(jì)

參考FACE 標(biāo)準(zhǔn)IO 服務(wù)段和傳輸服務(wù)段關(guān)于交互數(shù)據(jù)標(biāo)準(zhǔn)化接口的設(shè)計(jì)思路,針對(duì)空間站多艙多機(jī)多總線信息融合和冗余管理的特點(diǎn),本文引入數(shù)據(jù)池的思想進(jìn)行IO 數(shù)據(jù)的獲取和傳遞,并將所有交互數(shù)據(jù)進(jìn)行抽象,設(shè)計(jì)統(tǒng)一的格式開辟數(shù)據(jù)池。 如圖1 所示,在原始通信和數(shù)據(jù)處理之間增加設(shè)計(jì)了2 個(gè)數(shù)據(jù)池,分別存放輸入交換比對(duì)數(shù)據(jù)和輸出交換比對(duì)數(shù)據(jù)。 同時(shí)該方法不局限于1553 總線體系,也適用于CAN 總線、串口、SPW 總線等各種類型的接口。

圖1 IO 數(shù)據(jù)池的開辟Fig.1 Development of IO data pool

每個(gè)數(shù)據(jù)池的數(shù)據(jù)項(xiàng)按照不同的部件分別存放,數(shù)據(jù)池中每個(gè)數(shù)據(jù)項(xiàng)有唯一標(biāo)識(shí),需明確數(shù)據(jù)的標(biāo)識(shí)符、屬性以及數(shù)據(jù)內(nèi)容等信息。 通過數(shù)據(jù)標(biāo)識(shí)與其實(shí)際部件和設(shè)備來源進(jìn)行掛接,并根據(jù)系統(tǒng)實(shí)際需求來分配數(shù)據(jù)項(xiàng)的大小。 數(shù)據(jù)池的格式示例見圖2,數(shù)據(jù)池中數(shù)據(jù)項(xiàng)格式示例見表1。

表1 IO 數(shù)據(jù)池?cái)?shù)據(jù)項(xiàng)格式定義Table 1 Definition of data item format in IO data pool

圖2 IO 數(shù)據(jù)池格式Fig.2 Format of IO data pool

3.2 四機(jī)分布式多總線IO 數(shù)據(jù)同步設(shè)計(jì)

基于空間站GNC 系統(tǒng)多艙段多機(jī)多總線容錯(cuò)系統(tǒng)的信息融合及冗余管理架構(gòu),需要將四機(jī)分布式獲取的數(shù)據(jù)進(jìn)行交互、融合和同步。 針對(duì)該問題軟件提出了拜占庭四機(jī)容錯(cuò)結(jié)構(gòu)的實(shí)時(shí)無容差同步運(yùn)行技術(shù)方案,設(shè)計(jì)了四機(jī)數(shù)據(jù)交換比對(duì)同步方法,通過對(duì)數(shù)據(jù)池中的數(shù)據(jù)進(jìn)行多輪交換實(shí)現(xiàn)了多機(jī)信息共享,設(shè)計(jì)了多策略綜合選舉算法,實(shí)現(xiàn)了多機(jī)數(shù)據(jù)的實(shí)時(shí)融合對(duì)齊,實(shí)現(xiàn)了四機(jī)之間單源數(shù)據(jù)、多源同步數(shù)據(jù)、多源異步數(shù)據(jù)等不同類型且大數(shù)據(jù)量交互IO 數(shù)據(jù)的無容差精確同步。 IO 數(shù)據(jù)同步設(shè)計(jì)方法示意圖如圖3 所示。

圖3 IO 數(shù)據(jù)同步設(shè)計(jì)Fig.3 IO data synchronous design

3.3 數(shù)據(jù)池中數(shù)據(jù)項(xiàng)的快速訪問機(jī)制設(shè)計(jì)

由于空間站數(shù)據(jù)池中數(shù)據(jù)項(xiàng)非常多,且每個(gè)控制周期的采集、處理和輸出等多個(gè)環(huán)節(jié)需要多次訪問,如果采用遍歷查詢,將嚴(yán)重影響實(shí)時(shí)控制軟件的性能。 軟件設(shè)計(jì)了如圖4 所示的快速訪問機(jī)制,通過對(duì)多艙、多機(jī)、多總線和數(shù)據(jù)之間的關(guān)系進(jìn)行建模,建立了數(shù)據(jù)標(biāo)識(shí)、數(shù)據(jù)屬性和數(shù)據(jù)內(nèi)容之間復(fù)雜的分層關(guān)聯(lián)關(guān)系和相互映射的多層緩沖機(jī)制。 同時(shí)為確保數(shù)據(jù)訪問性能最壞情況可確定,建立了2 級(jí)靜態(tài)索引表訪問和動(dòng)態(tài)查詢關(guān)系表相結(jié)合的方法,實(shí)現(xiàn)了在數(shù)據(jù)采集、輸入交換比對(duì)、控制算法計(jì)算、輸出交換比對(duì)、控制輸出等數(shù)據(jù)實(shí)時(shí)處理全過程的高效、可靠訪問管理。

圖4 數(shù)據(jù)項(xiàng)快速訪問機(jī)制設(shè)計(jì)Fig.4 Design of fast access mechanism for data items

3.4 基于數(shù)據(jù)池的軟件框架設(shè)計(jì)

進(jìn)行基于數(shù)據(jù)池的空間站多艙軟件統(tǒng)一框架整體設(shè)計(jì),主要原則包括:

1)分層設(shè)計(jì)。 將功能分為接口層、通用服務(wù)層和應(yīng)用層,層間通過通用接口訪問,實(shí)現(xiàn)通用功能和可變功能分離;同時(shí)解除頂層應(yīng)用算法與IO數(shù)據(jù)耦合,解除IO 數(shù)據(jù)與硬件、協(xié)議的耦合;

2)功能模塊化。 將每層劃分為多個(gè)功能單元,針對(duì)功能單元通過代碼模板明確接口形式,確保功能單元之間僅有較少的、清晰且穩(wěn)定的接口;

3)數(shù)據(jù)接口標(biāo)準(zhǔn)化。 通過提供IO 數(shù)據(jù)獲取、傳遞、融合、同步和管理的標(biāo)準(zhǔn)化數(shù)據(jù)接口和組件,緩解軟件復(fù)雜度,提高可移植性和擴(kuò)展性。

空間站大規(guī)模復(fù)雜控制軟件基于數(shù)據(jù)池的軟件框架設(shè)計(jì)如圖5 所示。

圖5 基于數(shù)據(jù)池的軟件框架設(shè)計(jì)Fig.5 Design of software framework based on data pool

4 應(yīng)用

空間站3 個(gè)艙的GNC 系統(tǒng)控制軟件使用上述基于數(shù)據(jù)池的軟件框架設(shè)計(jì)方法進(jìn)行了分層、功能模塊化和數(shù)據(jù)接口標(biāo)準(zhǔn)化的統(tǒng)一設(shè)計(jì),使得多艙軟件的底層接口層和通用服務(wù)層框架代碼完全一致。 同時(shí)設(shè)計(jì)了多個(gè)包含總線配置、單機(jī)設(shè)備配置、通信狀態(tài)設(shè)置等眾多信息的配置參數(shù)表來區(qū)分?jǐn)?shù)據(jù)池?cái)?shù)據(jù)的屬性,實(shí)現(xiàn)了約300 個(gè)輸入數(shù)據(jù)項(xiàng)、200 個(gè)輸出數(shù)據(jù)項(xiàng),共超過32 KBytes 采集數(shù)據(jù)和8 KBytes 輸出數(shù)據(jù)的高效存儲(chǔ)、訪問和同步,以輸入交換比對(duì)數(shù)據(jù)池為例,相關(guān)設(shè)計(jì)及應(yīng)用結(jié)果如表2 所示。

表2 輸入交換比對(duì)數(shù)據(jù)池設(shè)計(jì)結(jié)果Table 2 Design results of input exchange comparison data pool

該框架解決了空間站大規(guī)模復(fù)雜控制軟件多艙段多機(jī)多總線資源管理和具備可擴(kuò)展性的難題,實(shí)現(xiàn)了軟件復(fù)雜的底層通信與上層應(yīng)用處理之間的數(shù)據(jù)隔離和解耦,使得多艙軟件復(fù)用率達(dá)到70%,并具備后續(xù)可擴(kuò)展能力。 相比國外先進(jìn)航天航空機(jī)構(gòu)的成熟軟件架構(gòu),本文設(shè)計(jì)方法重點(diǎn)在嵌入式軟件框架的數(shù)據(jù)標(biāo)準(zhǔn)化設(shè)計(jì)方面取得了研究成果,還未能形成如cFS、FACE 等的行業(yè)軟件標(biāo)準(zhǔn)架構(gòu)。 后續(xù)可以進(jìn)一步抽象提煉航天器軟件的基本系統(tǒng)組織,包含構(gòu)件、構(gòu)件之間、構(gòu)件與環(huán)境之間的關(guān)系,建立開放、動(dòng)態(tài)和可擴(kuò)展的構(gòu)件運(yùn)行環(huán)境,通過文檔化和模型化不斷提高構(gòu)件接口成熟等級(jí),形成模型化的軟件復(fù)用能力。

5 結(jié)論

空間站GNC 系統(tǒng)控制軟件在研制過程中應(yīng)用了本文提出的基于數(shù)據(jù)池的軟件框架設(shè)計(jì)方法,形成了層次化、模塊化和數(shù)據(jù)標(biāo)準(zhǔn)化的統(tǒng)一框架,有效解決了軟件復(fù)雜性問題,提高了軟件復(fù)用率和可擴(kuò)展能力。

為了有效保證空間站GNC 系統(tǒng)控制軟件這類大規(guī)模復(fù)雜軟件的質(zhì)量和研制進(jìn)度需求,還應(yīng)形成以軟件架構(gòu)為核心的軟件開發(fā)過程,即以軟件架構(gòu)描述為系統(tǒng)藍(lán)圖,以共性點(diǎn)、差異點(diǎn)和關(guān)注點(diǎn)等特征模型為設(shè)計(jì)起點(diǎn),基于中間件技術(shù)通過組裝、部署和維護(hù)的方式進(jìn)行開發(fā)。

后續(xù)將進(jìn)一步貫徹“硬件標(biāo)準(zhǔn)通用,軟件定義系統(tǒng)”的系統(tǒng)設(shè)計(jì)理念,在建立航天器軟件行業(yè)通用架構(gòu)模型,形成跨組織的軟件復(fù)用標(biāo)準(zhǔn)和資產(chǎn)方面繼續(xù)開展研究。

猜你喜歡
數(shù)據(jù)項(xiàng)艙段復(fù)雜度
空間站艙段運(yùn)輸專列
一種多功能抽簽選擇器軟件系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
非完整數(shù)據(jù)庫Skyline-join查詢*
基于Python的Asterix Cat 021數(shù)據(jù)格式解析分析與實(shí)現(xiàn)
基于TwinCAT的艙段數(shù)字化柔性自動(dòng)對(duì)接平臺(tái)控制系統(tǒng)設(shè)計(jì)
一種低復(fù)雜度的慣性/GNSS矢量深組合方法
求圖上廣探樹的時(shí)間復(fù)雜度
某雷達(dá)導(dǎo)51 頭中心控制軟件圈復(fù)雜度分析與改進(jìn)
水下航行器電池艙段溫度場數(shù)值模擬
出口技術(shù)復(fù)雜度研究回顧與評(píng)述