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

?

面向需求高動(dòng)態(tài)變化的強(qiáng)適應(yīng)性可信飛行軟件設(shè)計(jì)方法

2022-08-25 10:46黃萬偉方建平

高 飛,黃萬偉,楊 威,吳 潤,方建平

(1. 北京航天自動(dòng)控制研究所,北京,100854;2. 中國運(yùn)載火箭技術(shù)研究院,北京,100076)

0 引 言

某項(xiàng)目高度融合科學(xué)與工程,以工程產(chǎn)品為基礎(chǔ)探索科學(xué)邊界為目標(biāo),要求工程產(chǎn)品需根據(jù)科學(xué)探索目標(biāo)不同進(jìn)行研制。不同于傳統(tǒng)運(yùn)載火箭、導(dǎo)彈武器圍繞特定任務(wù)開展研制,產(chǎn)品研制周期長、目標(biāo)統(tǒng)一,針對(duì)最終產(chǎn)品進(jìn)行質(zhì)量測(cè)試及鑒定等特點(diǎn),該項(xiàng)目并行目標(biāo)多、變化頻率高,階段間產(chǎn)品可繼承性弱、階段產(chǎn)品交付頻率高等。

工程產(chǎn)品的質(zhì)量對(duì)于科學(xué)探索目標(biāo)的實(shí)現(xiàn)具有“0-1”式?jīng)Q定作用,要求“萬無一失”。飛行控制軟件是航天型號(hào)的核心產(chǎn)品,它的質(zhì)量直接決定著航天飛行的成敗。此類研制過程要求飛行軟件需求隨著每一次飛行試驗(yàn)探索驗(yàn)證目標(biāo)的不同而發(fā)生較大的變化,導(dǎo)致在進(jìn)行飛行控制軟件設(shè)計(jì)時(shí),新一次飛行試驗(yàn)用的軟件對(duì)之前的軟件繼承性相對(duì)較少,需要根據(jù)探索目標(biāo)的不同不斷重新設(shè)計(jì)軟件,在快速迭代交付的要求下,工作量大且存在質(zhì)量風(fēng)險(xiǎn)。因此,在有限的時(shí)間資源條件下確保軟件能夠快速適應(yīng)新需求、確保軟件的可信性、最大程度繼承前序研制工作的成果就成了影響此類航天項(xiàng)目目標(biāo)是否能夠順利達(dá)成的關(guān)鍵問題。

針對(duì)這樣的研制特點(diǎn),從技術(shù)角度出發(fā),對(duì)傳統(tǒng)型號(hào)飛行控制軟件的設(shè)計(jì)方法進(jìn)行了比較,并從中歸納出最小化功能加接口的抽象子集模型,從而在此基礎(chǔ)上對(duì)傳統(tǒng)飛行控制軟件設(shè)計(jì)思路進(jìn)行重新整合定義,形成一套面向高動(dòng)態(tài)需求變化的強(qiáng)適應(yīng)高擴(kuò)展性飛行控制軟件架構(gòu)策略,讓飛行控制軟件的架構(gòu)更加適應(yīng)后續(xù)類似的需求高動(dòng)態(tài)變化、階段產(chǎn)品可信可交付等極限開發(fā)的要求。

1 傳統(tǒng)飛行軟件設(shè)計(jì)

傳統(tǒng)航天領(lǐng)域飛行控制軟件研制以瀑布模型為基礎(chǔ),通過定義軟件需求明確了全軟件生命周期中的統(tǒng)一功能目標(biāo),分解該功能目標(biāo)后,針對(duì)每一個(gè)需求子目標(biāo)設(shè)計(jì)模塊或?qū)嶓w對(duì)象,然后對(duì)所有模塊集合或?qū)ο蠹线M(jìn)行組裝,形成在特定環(huán)境中可以正常運(yùn)行的軟件。隨后通過獨(dú)立測(cè)試,保證軟件正確實(shí)現(xiàn)了需求定義的所有功能點(diǎn),滿足規(guī)定的性能要求,并具有一定的可靠性和安全性。

李蘭蘭等提出一種基于構(gòu)件的運(yùn)載器控制系統(tǒng)飛行軟件設(shè)計(jì)方法,其從加大重用率的角度將常用的功能點(diǎn)定義為功能構(gòu)件,通過對(duì)功能構(gòu)件的重用來提高飛行控制軟件的研制效率。但該方法假設(shè)部分功能點(diǎn)保持不變,無法適應(yīng)功能發(fā)生變化的設(shè)計(jì)要求。薛恩對(duì)飛行軟件復(fù)雜性進(jìn)行了分析,并從降低復(fù)雜性的角度論述了采用瀑布模型和敏捷開發(fā)各自優(yōu)點(diǎn),同時(shí)指出,瀑布模型在需求改變時(shí)較難修改設(shè)計(jì)以適應(yīng)變化,而敏捷開發(fā)又會(huì)在每次迭代引入新的限制,排除一些未來功能或增加和引入新的復(fù)雜度。宋征宇提出了雙CPU 環(huán)境下飛行控制軟件的設(shè)計(jì)方法,從可靠性提升的角度提出了如何利用雙CPU 克服在飛行過程中出現(xiàn)CPU 出錯(cuò)、程序跑飛以及數(shù)據(jù)出錯(cuò)等問題,并補(bǔ)充提出了此類飛行控制軟件的可靠性設(shè)計(jì)方法。馬衛(wèi)華討論了飛行控制軟件可靠性設(shè)計(jì)的通用原則。賀彥博等從通用化的角度討論了飛行軟件的框架設(shè)計(jì)。

這些飛控軟件設(shè)計(jì)方法大部分是直接從需求出發(fā),以需求功能點(diǎn)為設(shè)計(jì)焦點(diǎn),對(duì)每個(gè)功能進(jìn)行封裝,并通過對(duì)封裝接口的設(shè)計(jì)來兼容需求功能點(diǎn)的變化。但此類設(shè)計(jì)方法的兼容能力僅局限在具體細(xì)節(jié)特征上,如時(shí)序處理的時(shí)間和類型、判據(jù)閾值的選擇、硬件端口的適配等。通過前期設(shè)計(jì)可以將這些易變的細(xì)節(jié)定義為接口參數(shù),從而通過對(duì)接口參數(shù)的調(diào)整,兼容這些變化,但對(duì)于功能需求的高頻大幅變化的問題還沒有成熟通用的解決方案。

根據(jù)以科學(xué)探索為目的的航天工程的特點(diǎn)及其對(duì)飛行控制軟件研制功能需求變化大、質(zhì)量要求高、交付頻率高的要求,從框架適應(yīng)性,功能適應(yīng)性,設(shè)計(jì)可信性的角度出發(fā),根據(jù)需求的專業(yè)類型不同對(duì)需求進(jìn)行切分分層設(shè)計(jì),著眼于需求的可調(diào)整性、高適應(yīng)性,接口的高適配性以及功能的可配置性,提出了功能數(shù)據(jù)對(duì)象化的理念,形成了一套面向高動(dòng)態(tài)需求變化的強(qiáng)適應(yīng)性高擴(kuò)展性飛行控制軟件設(shè)計(jì)方法。

與以往的設(shè)計(jì)方法不同,本文所提出的方法主要在分層解耦架構(gòu)設(shè)計(jì),并以控制邏輯數(shù)據(jù)化、控制流程配置化、功能模塊獨(dú)立化為設(shè)計(jì)思路來解決需求中的功能點(diǎn)的大幅度高頻率變化。對(duì)于需求中功能點(diǎn)的變化,通過針對(duì)性在不同層次進(jìn)行適應(yīng)性更改,同時(shí)保持其他層穩(wěn)定的方法,將變化的影響限制在最小范圍,讓軟件中已有的實(shí)現(xiàn)和質(zhì)量保證工作得到繼承,大大提高了研發(fā)的效率。為了更好的獲得層間獨(dú)立性和功能點(diǎn)解耦的目標(biāo),本文在制導(dǎo)、姿控的封裝,硬件接口定義方面做出了改進(jìn)??尚判栽O(shè)計(jì)通過逐層設(shè)計(jì)與逐層驗(yàn)證相配合的方式確保軟件的可信性,簡(jiǎn)化了軟件可信性設(shè)計(jì)的過程,在設(shè)計(jì)過程中即確保了軟件的質(zhì)量,體現(xiàn)了“設(shè)計(jì)質(zhì)量”在設(shè)計(jì)中實(shí)現(xiàn)的思想,從軟件設(shè)計(jì)本身大大提高了在高速迭代下軟件功能、質(zhì)量的適應(yīng)性,為可信性軟件設(shè)計(jì)在航天領(lǐng)域的應(yīng)用走出了探索性的一步。

2 分層抽象的軟件結(jié)構(gòu)

2.1 適應(yīng)需求高動(dòng)態(tài)變化的層次化架構(gòu)

需求的變化通常分為4 個(gè)層次:算法變化、邏輯功能變化、硬件環(huán)境變化、系統(tǒng)交互環(huán)境變化。例如由飛行軌道和氣動(dòng)外形變化引起的制導(dǎo)算法的變化、由電氣安全性變化引起的I/O 時(shí)序指令的變化、由芯片變更引起的硬件接口的變化以及由協(xié)同設(shè)備交互邏輯變化引起的系統(tǒng)輸入輸出需求發(fā)生變化。

為了應(yīng)對(duì)需求變化,將從需求到產(chǎn)品的設(shè)計(jì)實(shí)現(xiàn)過程抽象為以理論模型、實(shí)現(xiàn)模型、產(chǎn)品模型、系統(tǒng)產(chǎn)品為階段性產(chǎn)品的4 個(gè)漸進(jìn)式研制子過程。理論模型是求解問題的基本算法理論在理想化條件下運(yùn)行的實(shí)驗(yàn)?zāi)P?,其定義了產(chǎn)品的理論可行性;實(shí)現(xiàn)模型是軟件的基本功能在理想條件下運(yùn)行的實(shí)驗(yàn)?zāi)P停涠x了產(chǎn)品的實(shí)現(xiàn)可行性;產(chǎn)品模型是軟件在特定芯片環(huán)境下運(yùn)行的實(shí)驗(yàn)?zāi)P?,其定義了產(chǎn)品的工程可行性;系統(tǒng)產(chǎn)品即為最終達(dá)到交付質(zhì)量標(biāo)準(zhǔn)的產(chǎn)品。

封裝的思想源于面向?qū)ο箢I(lǐng)域,其最大的優(yōu)點(diǎn)在于:保持模塊與模塊、對(duì)象與對(duì)象、層與層之間接口不變的條件下,模塊內(nèi)部、對(duì)象內(nèi)部及層內(nèi)部的實(shí)現(xiàn)方式發(fā)生變化后不影響集成后的功能。根據(jù)4 個(gè)漸進(jìn)研制子階段的定義,將飛行軟件的模塊封裝為4 個(gè)層次,也對(duì)應(yīng)需求的4 個(gè)漸進(jìn)層次。當(dāng)不同層次的需求變化時(shí),將軟件更改限制在對(duì)應(yīng)的層次中,同時(shí)也縮小了變更的影響域,從而讓變更更有針對(duì)性、影響域更可控。

傳統(tǒng)的飛行控制軟件主要負(fù)責(zé)的功能包括:導(dǎo)航設(shè)備敏感信息獲取,導(dǎo)航計(jì)算,制導(dǎo)律計(jì)算,姿控指令計(jì)算,時(shí)序控制,自毀控制,轉(zhuǎn)級(jí)轉(zhuǎn)段等功能。通過分析傳統(tǒng)飛行軟件的實(shí)現(xiàn)方式并結(jié)合以科學(xué)探索為目標(biāo)的航天型號(hào)特點(diǎn),將飛行軟件抽象為如圖1 所示的抽象層次化模型。

圖1 飛行軟件抽象層次模型Fig. 1 Abstraction Hierarchy of Flight Software

為了能夠靈活、快速適應(yīng)不同專業(yè)、不同層次的需求變更,將需求按照運(yùn)行層次,即下層為上層的運(yùn)行環(huán)境,上層為下層的任務(wù)輸入和運(yùn)行對(duì)象,進(jìn)行抽象化分類。在抽象層次化模型中,算法層對(duì)應(yīng)制導(dǎo)、姿控和導(dǎo)航3 個(gè)專業(yè)的技術(shù)需求,綜合控制層對(duì)應(yīng)著電氣綜合專業(yè)的技術(shù)需求,硬件層對(duì)應(yīng)著芯片及模塊技術(shù)手冊(cè)規(guī)范。接口封裝層的部分功能實(shí)現(xiàn)了軟件間通信數(shù)據(jù)幀的封裝和解包功能。通過需求專業(yè)分類和層次化抽象結(jié)構(gòu)的封裝,就實(shí)現(xiàn)了各專業(yè)、各層次的需求可以進(jìn)行獨(dú)立更改,同時(shí)對(duì)其他專業(yè)需求實(shí)現(xiàn)部分影響最小化的要求。

根據(jù)以科學(xué)探索為目標(biāo)的航天型號(hào)算法變化較大,芯片及硬件運(yùn)行環(huán)境變化較小的特點(diǎn),用接口封裝層將上層的技術(shù)要求與底層的運(yùn)行環(huán)境分離開來,從而獲得了需求與硬件環(huán)境的獨(dú)立性;將算法層與綜合控制層分離開來,從而獲得了軟件邏輯架構(gòu)和制導(dǎo)姿控算法的獨(dú)立性;將導(dǎo)航計(jì)算、制導(dǎo)計(jì)算以及姿控計(jì)算分離開來,獲得了導(dǎo)航、制導(dǎo)及姿控3 個(gè)專業(yè)功能的獨(dú)立性。

2.2 制導(dǎo)功能的封裝設(shè)計(jì)

由于導(dǎo)航計(jì)算和制導(dǎo)計(jì)算關(guān)系較為緊密,邏輯耦合度較高,因此,為了減少運(yùn)行過程中的通信開銷,將導(dǎo)航和制導(dǎo)兩部分功能封裝為1 個(gè)模塊——制導(dǎo)模塊。制導(dǎo)功能主要封裝為慣性數(shù)據(jù)解算模塊、導(dǎo)航計(jì)算模塊、運(yùn)動(dòng)參數(shù)計(jì)算模塊、制導(dǎo)率計(jì)算模塊、轉(zhuǎn)段控制計(jì)算模塊。各模塊接口如圖2 所示。

圖2 制導(dǎo)模塊封裝Fig. 2 Encapsulation of Guidance Module

其中慣性數(shù)據(jù)解算對(duì)應(yīng)慣性敏感器件,若慣性敏感器件不發(fā)生變化,則該模塊亦無須發(fā)生變化;導(dǎo)航計(jì)算通常會(huì)根據(jù)解算的慣性數(shù)據(jù)計(jì)算各個(gè)通用飛行坐標(biāo)系下的位置、速度、姿態(tài)等基礎(chǔ)參數(shù),該模塊屬于基本理論范疇,當(dāng)輸入慣性器件增量接口保持不變時(shí),本部分通常不會(huì)變化;運(yùn)動(dòng)參數(shù)計(jì)算模塊對(duì)應(yīng)于航天飛行器專用定義的一些坐標(biāo)系參數(shù)計(jì)算、氣動(dòng)參數(shù)以及控制參數(shù)計(jì)算,該模塊根據(jù)不同的控制需求計(jì)算不同的參數(shù)。因此該模塊屬于需求適應(yīng)模塊,在軌道、控制方式等發(fā)生變化后,該模塊容易發(fā)生相應(yīng)的變化;制導(dǎo)律計(jì)算用于計(jì)算制導(dǎo)指令,該部分會(huì)隨制導(dǎo)控制方法的變化而變化;轉(zhuǎn)段控制計(jì)算模塊通常會(huì)根據(jù)飛行軌道的不同段所采用的不同控制方法而進(jìn)行變化,通常計(jì)算結(jié)果為軌道上的分段點(diǎn)信息。這些模塊整合后形成制導(dǎo)功能模塊的封裝包,輸出制導(dǎo)指令作為姿控模塊的輸入部分。

2.3 姿控功能的封裝設(shè)計(jì)

姿控模塊根據(jù)制導(dǎo)輸入的制導(dǎo)指令完成計(jì)算飛行器姿態(tài)控制設(shè)備動(dòng)作指令的功能。該部分根據(jù)控制機(jī)構(gòu)不同,根據(jù)輸入處理的過程分為:偏差計(jì)算,控制段計(jì)算、控制指令計(jì)算、設(shè)備動(dòng)作指令計(jì)算、執(zhí)行機(jī)構(gòu)輸出限制幾個(gè)模塊。具體的流程如圖3 所示。

圖3 姿控模塊封裝Fig.3 Encapsulation of Attitude Control Module

其中偏差計(jì)算部分主要通過計(jì)算當(dāng)前運(yùn)動(dòng)參數(shù)與制導(dǎo)指令之間的差異來供后續(xù)姿態(tài)控制指令計(jì)算模塊使用。該模塊通常對(duì)制導(dǎo)輸入做一定的預(yù)處理,在飛行軌道不發(fā)生巨大變化的情況下,該模塊不發(fā)生變化??刂贫斡?jì)算模塊主要考慮姿態(tài)控制能夠兼容的控制方法類別,通過該模塊來進(jìn)行切換,通常與不同的飛行方式相關(guān)。當(dāng)飛行軌道確定后,姿控控制段計(jì)算模塊通常不發(fā)生變化。執(zhí)行機(jī)構(gòu)指令計(jì)算模塊將根據(jù)不同的姿態(tài)控制硬件設(shè)備的驅(qū)動(dòng)和接口進(jìn)行封裝,僅僅根據(jù)硬件設(shè)備不同會(huì)有少許變化。

2.4 硬件接口封裝式設(shè)計(jì)

硬件接口是和底層運(yùn)行的芯片特征關(guān)系較為緊密,為了保證上層算法邏輯功能層的穩(wěn)定性,在硬件層上面插入一層邏輯硬件層,從而向上屏蔽芯片、總線等硬件具體細(xì)節(jié),維持上層的獨(dú)立性。圖4 說明了硬件邏輯層的設(shè)計(jì)狀態(tài)。

圖4 從軟件設(shè)計(jì)層架構(gòu)到軟件實(shí)施層架構(gòu)Fig.4 From Design Architecture to Implementation Architecture

其中,硬件描述層對(duì)芯片的細(xì)節(jié)進(jìn)行描述,邏輯硬件層將其封裝起來,將功能層與硬件層獨(dú)立開來,并使功能層能夠“看到”的硬件控制接口保持不變,從而就解放了功能層以上的部分,使其具有更大的設(shè)計(jì)獨(dú)立性,與底層的硬件細(xì)節(jié)變化實(shí)現(xiàn)了完全解耦。

2.5 具有可信性的質(zhì)量結(jié)構(gòu)

對(duì)于以飛行理論探索為目的的航天工程設(shè)計(jì)飛行軟件來說,快速迭代是一個(gè)顯著的特點(diǎn)。在這種快速迭代的情況下,無法提供按照傳統(tǒng)的軟件開發(fā)設(shè)計(jì)流程完成工作所要求的時(shí)間,這給產(chǎn)品的質(zhì)量保證提出了嚴(yán)峻的挑戰(zhàn)?;谇笆鲕浖軜?gòu)的層次化結(jié)構(gòu),可以容易確認(rèn)更改的影響層范圍,從而通過層次化增量測(cè)試的策略,將測(cè)試范圍限定在測(cè)試層內(nèi),有效提升軟件的可測(cè)試性以及測(cè)試的效率和效果。

根據(jù)從理論模型到實(shí)現(xiàn)模型,到產(chǎn)品模型和系統(tǒng)產(chǎn)品的設(shè)計(jì)層次,將可信性驗(yàn)證架構(gòu)定義為算法層、功能匹配層、芯片層以及系統(tǒng)接口層,通過在不同層次針對(duì)性對(duì)軟件進(jìn)行可信性、可測(cè)試性設(shè)計(jì),使軟件在相應(yīng)層次上達(dá)到可被驗(yàn)證的最小子集,從而分層實(shí)現(xiàn)對(duì)軟件可信性的驗(yàn)證。

可信性層次化設(shè)計(jì)及驗(yàn)證結(jié)構(gòu)如圖5 所示。

圖5 可信性層次化設(shè)計(jì)及驗(yàn)證結(jié)構(gòu)Fig.5 Validation Hierarchy of Software Trustworthiness

算法層是一個(gè)僅包括導(dǎo)航、制導(dǎo)和姿控算法的模塊子集,其對(duì)應(yīng)的輸入和輸出僅為算法運(yùn)算的結(jié)果。算法層可信性驗(yàn)證要求對(duì)算法相關(guān)模塊進(jìn)行高內(nèi)聚,與功能層間定義清晰的接口,方便易于從產(chǎn)品模塊中單獨(dú)剝離出來,嵌入到以PC 機(jī)+VS 仿真其功能層接口的數(shù)學(xué)仿真驗(yàn)證環(huán)境中,從而針對(duì)算法來定義的輸入輸出來驗(yàn)證算法的有效性和適應(yīng)性。輸入輸出可以直接定義存儲(chǔ)到外部存儲(chǔ)(如文件)中,用以將算法層的執(zhí)行結(jié)果與各專業(yè)的理論結(jié)果進(jìn)行對(duì)比。通過此層的驗(yàn)證,確保軟件中的算法層具有可信級(jí)實(shí)現(xiàn)質(zhì)量。在此層,所有算法運(yùn)行的平臺(tái)均為PC 機(jī)等于軟件實(shí)際運(yùn)行的目標(biāo)環(huán)境獨(dú)立的驗(yàn)證,因此其不涉及和硬件相關(guān)的任何接口及細(xì)節(jié),聚焦了驗(yàn)證的范圍,提高了驗(yàn)證的效率。

功能匹配層可信性是通過補(bǔ)充綜合控制功能如通信控制、時(shí)序控制、邏輯控制、自毀管理等功能,讓算法層的輸出結(jié)果更接近產(chǎn)品的輸出結(jié)果,讓產(chǎn)品實(shí)現(xiàn)完成從理論模型到實(shí)現(xiàn)模型的轉(zhuǎn)化。該層基于功能層和邏輯硬件層的范圍,定義清晰的接口,從而便于“算法層+功能層”可以從軟件產(chǎn)品中剝離出來,對(duì)軟件產(chǎn)品中功能層及其以上的部分進(jìn)行仿真驗(yàn)證。本層同樣在虛擬驗(yàn)證環(huán)境中,如PC 機(jī)環(huán)境中,對(duì)邏輯硬件層進(jìn)行等效,以邏輯硬件層的輸出形式定義針對(duì)功能層的輸入輸出(如將算法層可信性驗(yàn)證所需的輸入輸出的變量集合形式變?yōu)闀r(shí)序邏輯定義、高層總線協(xié)議等形式),對(duì)實(shí)現(xiàn)模型的程序結(jié)果進(jìn)行驗(yàn)證。在驗(yàn)證過程中,可以通過確認(rèn)算法層輸出的正確性對(duì)問題的范圍進(jìn)行確認(rèn),從而縮小驗(yàn)證的范圍,提高驗(yàn)證的效率。

芯片層可信性則是將集成算法層后的功能層“放到”虛擬芯片中運(yùn)行,來檢查產(chǎn)品模型的實(shí)現(xiàn)有效性。該可信性驗(yàn)證要求邏輯硬件層與真實(shí)硬件層間接口清晰,能夠?qū)⑿酒瑢右陨系牟糠謴能浖袆冸x出來,嵌入到等效硬件環(huán)境和芯片的虛擬環(huán)境中進(jìn)行驗(yàn)證。該層虛擬驗(yàn)證環(huán)境通過模擬硬件描述層的輸出(如將功能匹配層可信性驗(yàn)證所需的時(shí)序邏輯定義、高層總線協(xié)議等形式的輸入變?yōu)橐杂布壿嫳硎镜腎/O 變量形式、總線通信層協(xié)議等),來驗(yàn)證軟件在芯片上的邏輯行為與預(yù)期的一致性,從而保證該層的可信性。在出現(xiàn)超預(yù)期偏差時(shí),通過確認(rèn)功能匹配層的輸出正確性,縮小化問題定位的范圍,提高驗(yàn)證效率。

系統(tǒng)接口層可信性則是將上述產(chǎn)品模型的軟件變?yōu)檐浖a(chǎn)品,放入真實(shí)的硬件環(huán)境中進(jìn)行驗(yàn)證。其主要針對(duì)軟件實(shí)現(xiàn)的最下層——硬件描述層進(jìn)行驗(yàn)證,確保軟件在真實(shí)環(huán)境中的硬件接口匹配性、響應(yīng)性能、與系統(tǒng)中其他軟件的功能匹配性等進(jìn)行驗(yàn)證。同樣可以通過芯片層的輸出正確性,來縮小定位問題的范圍,從而提高軟件的驗(yàn)證效率。

從上述各層次的實(shí)現(xiàn)過程可以看出,后一層只需在前一層的基礎(chǔ)上通過增加新的驗(yàn)證層內(nèi)容、代替前一層輔助部分就可以得到。因此,在設(shè)計(jì)的過程中,需要對(duì)上下兩層的替換內(nèi)容和增加內(nèi)容進(jìn)行設(shè)計(jì)即可逐層確認(rèn)每層設(shè)計(jì)的可信性,最終實(shí)現(xiàn)飛行控制軟件的可信性。

3 實(shí)施效果及應(yīng)用前景分析

軟件缺陷密度(千行代碼缺陷率),是一個(gè)評(píng)價(jià)軟件產(chǎn)品質(zhì)量的重要指標(biāo)。缺陷率越低,則軟件研制質(zhì)量越高。以軟件第三方測(cè)評(píng)中統(tǒng)計(jì)的千行代碼缺陷率為測(cè)量指標(biāo),可以對(duì)軟件的研制質(zhì)量及其在整個(gè)型號(hào)的多次交付過程中的變化趨勢(shì)進(jìn)行分析。

本文提出的飛行軟件層次化架構(gòu)在某項(xiàng)目中得到應(yīng)用,在每次飛行方案的變化過程中,涉及軟件代碼更改量高達(dá)70%以上,其中包括了制導(dǎo)、姿控的算法變化,綜合控制時(shí)序的變化等,圖6 說明了軟件在歷次產(chǎn)品交付過程的缺陷密度的變化情況。從圖6 中可以看出,在最初一次變更后交付后,本文所述的軟件架構(gòu)逐步成熟起來,從千行代碼缺陷率4.64,下降至2.96 左右,相對(duì)于行業(yè)內(nèi)典型型號(hào),缺陷率下降非常明顯。軟件很好地適應(yīng)了這些狀態(tài)變化,保證了較高的質(zhì)量。

圖6 某實(shí)踐項(xiàng)目軟件缺陷率統(tǒng)計(jì)Fig.6 Defect Rate of Some Aerospace Software System

在軟件質(zhì)量要求不變的情況下,軟件交付頻率高,對(duì)軟件開發(fā)人員的生產(chǎn)率要求較高。軟件生產(chǎn)率指的是交付達(dá)到質(zhì)量標(biāo)準(zhǔn)的軟件產(chǎn)品代碼行的效率。本文所述的結(jié)構(gòu)化設(shè)計(jì)方法通過分層設(shè)計(jì)、分層影響分析以及分層實(shí)現(xiàn)和可信性驗(yàn)證保證,大大提升了軟件人員的編碼效率。圖7 展示了本文架構(gòu)在多輪高頻次交付過程中生產(chǎn)率的變化情況。從圖7 中可以看出,軟件在最初幾次交付后,軟件的生產(chǎn)率很快有了明顯的提升,甚至在軟件規(guī)模增大的情況,生產(chǎn)率依然保持了較高水平。

圖7 某實(shí)踐項(xiàng)目軟件研制效率統(tǒng)計(jì)Fig.7 Development Efficiency of Some Aerospace Software System

分層設(shè)計(jì)的理念也讓軟件具有更好的可重用性。型號(hào)中的其他軟件如綜合測(cè)試軟件、各種等效器軟件、仿真環(huán)境軟件等,也可以直接移植重用對(duì)應(yīng)層的程序。實(shí)現(xiàn)了一處驗(yàn)證,多處重用,從而提高了軟件研制的效率。

隨著中國后續(xù)具有重大技術(shù)革新意義的航天型號(hào)的研制工作的不斷發(fā)展,對(duì)航天飛行、空天運(yùn)輸?shù)刃吕碚摗⑿录夹g(shù)的探索需求日益增加。航天型號(hào)的不斷增多,同型號(hào)不同衍生狀態(tài)數(shù)量的快速增長要求飛行軟件的研制過程具有更高的適應(yīng)性。本文提出的方法基于軟件設(shè)計(jì)的層次化對(duì)架構(gòu)進(jìn)行分層,將軟件需求的變化限制在較小的范圍內(nèi),從變更影響的范圍內(nèi)控制了軟件的質(zhì)量風(fēng)險(xiǎn),有效繼承了原有代碼的質(zhì)量成果,從而幫助軟件生產(chǎn)者提升了高頻交付的能力和有效有質(zhì)的代碼生產(chǎn)率。因此,本項(xiàng)目的實(shí)踐成果具有較大的推廣意義。

4 結(jié)束語

本文針對(duì)功能需求高動(dòng)態(tài)變化、高頻率交付的研制要求提出了一種層次化的飛控軟件設(shè)計(jì)架構(gòu),其將飛控軟件分為算法層、功能層、邏輯硬件層、硬件描述層,通過保持各層接口的穩(wěn)定性,將各層功能解耦,使其能夠應(yīng)對(duì)對(duì)應(yīng)各層的需求點(diǎn)變更。在驗(yàn)證方面,方便將各層程序剝離出來,采用更適合的驗(yàn)證環(huán)境對(duì)其進(jìn)行獨(dú)立驗(yàn)證,提高了驗(yàn)證效率??傮w上新飛行軟件可以最大程度繼承原有軟件的程序?qū)崿F(xiàn)成果和質(zhì)量工作成果,從而提高了產(chǎn)品交付效率。

本文提出的方法也可以用于傳統(tǒng)航天型號(hào)的研制過程中,有效縮小軟件更改的影響范圍,提高軟件的結(jié)構(gòu)級(jí)重用效率,促進(jìn)代碼生產(chǎn)率和質(zhì)量水平的提升。對(duì)其他諸如小型無人機(jī)等飛行器的飛行軟件的設(shè)計(jì)與實(shí)現(xiàn)也具有很強(qiáng)可借鑒意義。

宜章县| 康平县| 沐川县| 石渠县| 汝阳县| 乌兰浩特市| 锡林郭勒盟| 阿合奇县| 潮州市| 阜新市| 宁强县| 乌拉特后旗| 南投县| 葫芦岛市| 惠安县| 慈利县| 新化县| 钟山县| 平度市| 尉氏县| 芜湖县| 抚顺市| 怀仁县| 日土县| 小金县| 天长市| 油尖旺区| 商城县| 阜阳市| 财经| 万山特区| 宿松县| 大理市| 元氏县| 庐江县| 瓮安县| 保定市| 垫江县| 商南县| 南丹县| 师宗县|