樹人論文發(fā)表網(wǎng)辦的非常成功,極具口碑。在這里,你可以找到最具時(shí)事性的文章和最具代表性的各類文章。當(dāng)然,因?yàn)槊赓M(fèi)和開源,大家都可以學(xué)習(xí)、借鑒和共同使用,如果你需要專屬于個(gè)人的原創(chuàng)文章,請點(diǎn)擊鏈接獲得專業(yè)文秘寫作服務(wù)。
摘要:針對彈載飛行控制軟件研制現(xiàn)狀,探討軟件重用的目的、意義及技術(shù)途徑;結(jié)合彈載飛行控制軟件的組成和設(shè)計(jì)原則,分析可重用軟件應(yīng)滿足的基本條件;提出一種基于領(lǐng)域工程的彈載飛行控制軟件重用實(shí)施方法;從軟件工程化要求、編碼要求、軟件測試要求和硬件設(shè)計(jì)要求等方面建立彈載飛行控制軟件通用構(gòu)件庫的可重用構(gòu)件選取標(biāo)準(zhǔn)。最后,用實(shí)例說明了彈載飛行控制軟件重用的可操作性。
關(guān)鍵詞:彈載飛行控制軟件;軟件重用 ;可重用構(gòu)件
0引言
我國航天事業(yè)正處于高速發(fā)展時(shí)期,型號發(fā)射任務(wù)密集,對彈載飛行控制軟件研制周期提出了更高要求。開發(fā)人員往往迫于項(xiàng)目壓力,優(yōu)先進(jìn)行軟件產(chǎn)品開發(fā),而忽視軟件重用問題。當(dāng)前彈載飛行控制軟件研制實(shí)行項(xiàng)目管理,不同項(xiàng)目團(tuán)隊(duì)開發(fā)的軟件框架不同,開發(fā)人員所使用的數(shù)據(jù)結(jié)構(gòu)也不同,軟件重用難以推廣。此外,不同型號彈載計(jì)算機(jī)硬件平臺的不同,也直接導(dǎo)致了底層驅(qū)動軟件的不可重用。
1彈載飛行控制軟件重用
1.1軟件重用的目的和意義
早期的彈載計(jì)算機(jī)電路是由模擬電路搭建而成的,隨著電子技術(shù)的發(fā)展,彈載計(jì)算機(jī)電路設(shè)計(jì)實(shí)現(xiàn)了數(shù)字化,彈載飛行控制軟件研制快速興起。但受現(xiàn)實(shí)條件的約束,每個(gè)型號彈載飛行控制軟件研制都不得不重復(fù)編碼、測試、調(diào)試、編寫文檔、系統(tǒng)聯(lián)調(diào)等工作。
當(dāng)前彈載飛行控制軟件研制工作量大、時(shí)間緊、任務(wù)重,從開發(fā)效率、企業(yè)成本,以及軟件工程化、標(biāo)準(zhǔn)化、軟件測試等角度考慮,實(shí)施彈載飛行控制軟件重用迫在眉睫。彈載飛行控制軟件不同于其它商業(yè)軟件,需要找到符合自身特點(diǎn)的重用技術(shù)途徑和實(shí)施方法。
1.2軟件重用的技術(shù)途徑
軟件重用的技術(shù)包括庫函數(shù)、模板、面向?qū)ο蟆⒃O(shè)計(jì)模式、組件、框架、構(gòu)架等。圖1為軟件重用的主要技術(shù)、實(shí)現(xiàn)途徑以及實(shí)例。
面向?qū)ο蠹夹g(shù)主要針對使用面向?qū)ο蟮恼Z言開發(fā)的軟件,彈載飛行控制軟件作為嵌入式軟件,一般采用C語言,或者C語言和匯編語言混合編程進(jìn)行開發(fā)。因此,可以綜合考慮庫函數(shù)、模板、構(gòu)件、架構(gòu)、框架等技術(shù)途徑,選取符合彈載飛行控制軟件自身特點(diǎn)的重用方法。
構(gòu)件、架構(gòu)、框架三者呈現(xiàn)層次遞進(jìn)的關(guān)系,同時(shí)又存在交集。對于彈載飛行控制軟件而言,可以將各函數(shù)單元劃分為功能構(gòu)件;架構(gòu)主要指軟件的組織結(jié)構(gòu),即邏輯時(shí)序和構(gòu)件的調(diào)用關(guān)系;框架則可理解為工程的文件目錄結(jié)構(gòu),包括頭文件的定義和引用關(guān)系等。只有正確理解上述概念,才能正確區(qū)分彈載飛行控制軟件的構(gòu)件、架構(gòu)和框架,為重用打好基礎(chǔ)。
1.3可重用軟件
重用最重要的是要有可重用的軟件。導(dǎo)彈分類方法較多,如根據(jù)作戰(zhàn)使命不同可分為戰(zhàn)略導(dǎo)彈和戰(zhàn)術(shù)導(dǎo)彈;根據(jù)發(fā)射載具不同可以分為空空導(dǎo)彈、面空導(dǎo)彈等;根據(jù)制導(dǎo)體制不同可以分為雷達(dá)制導(dǎo)導(dǎo)彈、紅外制導(dǎo)導(dǎo)彈等。不同類型導(dǎo)彈其彈載飛行控制軟件研制任務(wù)需求和彈載計(jì)算機(jī)硬件平臺不盡相同,底層驅(qū)動,接口協(xié)議,算法模型等較難重用。同一類型導(dǎo)彈彈載飛行控制軟件的研制需求和彈載計(jì)算機(jī)硬件平臺往往具有共同特性。可以從總體需求層次區(qū)分出不同的軟件系統(tǒng),新研彈載飛行控制軟件可以在同一系統(tǒng)類型的彈載飛行控制軟件的基礎(chǔ)上加以改進(jìn)。
從系統(tǒng)角度來講,可重用的彈載飛行控制軟件應(yīng)滿足以下條件:①軟件模塊劃分及其框架、架構(gòu)布局合理;②軟件運(yùn)行的硬件平臺DSP及數(shù)據(jù)接口選型標(biāo)準(zhǔn);③通信協(xié)議制定規(guī)范。以上3個(gè)條件也是對軟件控制算法功能模塊劃分、軟件運(yùn)行硬件平臺和通信協(xié)議提出的通用化要求。
除此之外,結(jié)合航天特點(diǎn),可重用的彈載飛行控制軟件相關(guān)配套文檔要齊備;軟件必須通過單元測試、確認(rèn)測試和第三方評測,所發(fā)現(xiàn)的問題都已經(jīng)改正且通過回歸測試。此外,應(yīng)經(jīng)過型號研制所有階段的飛行試驗(yàn)驗(yàn)證。
2彈載飛行控制軟件組成與設(shè)計(jì)原則
彈載飛行控制軟件通常由底層硬件驅(qū)動軟件、接口協(xié)議層軟件和應(yīng)用層軟件組成。其中,底層硬件驅(qū)動軟件主要完成硬件端口的初始化,設(shè)備自檢和數(shù)據(jù)輸入輸出控制;接口協(xié)議層軟件主要完成數(shù)據(jù)組包發(fā)送和接收解包;應(yīng)用層軟件主要完成制導(dǎo)控制計(jì)算和指令形成計(jì)算。上述3層軟件由時(shí)間驅(qū)動的事件響應(yīng)機(jī)制,即彈上時(shí)序和邏輯控制來實(shí)現(xiàn)任務(wù)調(diào)度。彈載飛行控制軟件組成如圖2所示。
彈載飛行控制軟件具有實(shí)時(shí)性高、時(shí)序和邏輯復(fù)雜,可靠性強(qiáng)的特點(diǎn)。其設(shè)計(jì)需遵守以下原則:
(1)自頂向下的原則。即在確定彈載計(jì)算機(jī)硬件平臺的前提下,首先確定軟件的基本結(jié)構(gòu),然后細(xì)化到實(shí)現(xiàn)這些功能的每一個(gè)具體的軟件模塊,形成詳細(xì)的軟件開發(fā)卷宗,直至定義某一個(gè)具體的函數(shù)、變量和指針,使設(shè)計(jì)做到有條不紊,開發(fā)過程清晰明了,從宏觀上把握軟件設(shè)計(jì)質(zhì)量。
(2)結(jié)構(gòu)化設(shè)計(jì)原則。包括程序和數(shù)據(jù)的結(jié)構(gòu)化設(shè)計(jì)。通過細(xì)化軟件模塊,形成由所有軟件模塊按照一定的接口關(guān)系和數(shù)據(jù)交換關(guān)系構(gòu)成的軟件結(jié)構(gòu),做到結(jié)構(gòu)完整,易讀、易查、易測試。
(3)針對彈載計(jì)算機(jī)的實(shí)時(shí)性應(yīng)用特點(diǎn),以導(dǎo)彈工作時(shí)序?yàn)橹骶€,進(jìn)行合理的實(shí)時(shí)任務(wù)調(diào)度,通過彈載計(jì)算機(jī)系統(tǒng)在規(guī)定時(shí)間內(nèi)可靠地完成設(shè)計(jì)任務(wù)。
3彈載飛行控制軟件重用方法
彈載飛行控制軟件與其它商業(yè)軟件不同,必須探索出一條符合航天型號軟件特點(diǎn)的重用途徑。近年來,相關(guān)研究成果豐富。2006年,北京航天自動控制研究所孟小韋、馬衛(wèi)華[1]認(rèn)為,可以從模塊級和任務(wù)級兩個(gè)方面來進(jìn)行軟件通用化設(shè)計(jì),并提出了開發(fā)飛行控制軟件集成開發(fā)工具原型。2007年,中國空間技術(shù)研究院提出了可重的星載軟件構(gòu)件應(yīng)具有的基本特性[2]。2011年,上海衛(wèi)星工程研究所提出了基于(I/O層、軟件總線層和應(yīng)用層)層次框架的星載軟件重用方法[3]。
領(lǐng)域工程強(qiáng)調(diào)為一組相似或相近系統(tǒng)的應(yīng)用建立基本能力和必備基礎(chǔ)(包括產(chǎn)品空間、構(gòu)件、體系結(jié)構(gòu))的過程,是實(shí)現(xiàn)構(gòu)件獲取和重用的有效方法[4]。相關(guān)研究表明,相似領(lǐng)域的軟件更容易重用。在彈載飛行控制軟件重用過程中,可以根據(jù)導(dǎo)彈系統(tǒng)類別從縱向領(lǐng)域確定可重用軟件系統(tǒng)框架和架構(gòu),進(jìn)而根據(jù)軟件總體研制需求從橫向領(lǐng)域選擇可重用的構(gòu)件。
因此,從領(lǐng)域工程的角度出發(fā),可以按照領(lǐng)域分析、領(lǐng)域設(shè)計(jì)、領(lǐng)域?qū)崿F(xiàn)3個(gè)活動過程來實(shí)施彈載飛行控制軟件重用,如圖3所示。具體步驟如下:
第一步:領(lǐng)域分析。分析彈載飛行控制軟件的系統(tǒng)類別,獲得領(lǐng)域模型;參照導(dǎo)彈種類劃分,如戰(zhàn)術(shù)和戰(zhàn)略、空空和面空、雷達(dá)制導(dǎo)和紅外制導(dǎo)等區(qū)分彈載飛行控制軟件;同時(shí)兼顧彈載計(jì)算機(jī)硬件平臺,確定軟件領(lǐng)域模型,即可重用軟件選型。
第二步:領(lǐng)域設(shè)計(jì)。按照軟件研制任務(wù)需求,確定軟件框架,設(shè)計(jì)軟件架構(gòu)。不同領(lǐng)域模型的軟件架構(gòu)可能有所不同,但是軟件框架基本相同。因此,可以在選擇好可重用軟件的基礎(chǔ)上進(jìn)行框架和架構(gòu)設(shè)計(jì)。
第三步:領(lǐng)域?qū)崿F(xiàn)。將滿足需求的功能構(gòu)件組成軟件系統(tǒng)。
4彈載飛行控制軟件可重用構(gòu)件標(biāo)準(zhǔn)
一套可重用軟件不一定包含所有的可重用構(gòu)件。從圖2可以看出彈載飛行控制軟件組成層次和功能模塊,可在此基礎(chǔ)上,建立可重用的彈載飛行控制軟件可重用構(gòu)件庫,該庫由彈載飛行控制軟件的功能模塊(構(gòu)件)組成。
4.1軟件工程化要求
航天系統(tǒng)從1996年開始,就已從標(biāo)準(zhǔn)化和加強(qiáng)測試入手,推行航天型號軟件的工程化開發(fā)。1998年召開的航天系統(tǒng)第四次責(zé)任人會議提出提高航天型號軟件質(zhì)量,全面加強(qiáng)航天型號軟件產(chǎn)品開發(fā),初步確立了型號軟件的管理體制,并著手確定箭(星)載計(jì)算機(jī)的選型,確定了統(tǒng)一型號軟件的運(yùn)行環(huán)境[5]。
小編推薦優(yōu)秀電子論文 電子論文代理機(jī)構(gòu)淺析對膠帶機(jī)控制系統(tǒng)
【摘 要】結(jié)合現(xiàn)場膠帶機(jī)的實(shí)際情況及經(jīng)常出現(xiàn)的設(shè)備故障,對膠帶機(jī)的控制系統(tǒng)做了改造,主要有:膠帶機(jī)啟停機(jī)控制原理的改造、膠帶機(jī)的控制中增加下游皮帶打滑保護(hù)的改造。
【關(guān)鍵詞】控制系統(tǒng) 啟停機(jī)控制 堵料 打滑
論文指導(dǎo) >
SCI期刊推薦 >
論文常見問題 >
SCI常見問題 >