• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于框架的開放式機載電子戰(zhàn)嵌入式軟件設(shè)計

      2021-05-07 07:54:22洋,劉
      計算機測量與控制 2021年4期
      關(guān)鍵詞:嵌入式軟件電子戰(zhàn)消息

      楊 洋,劉 堅

      (中國電子科技集團公司 第二十九研究所,成都 610036)

      0 引言

      隨著時代的發(fā)展和技術(shù)的進步,機載電子戰(zhàn)嵌入式軟件呈現(xiàn)出下面幾個明顯的趨勢:

      1)軟件規(guī)模越來越大:隨著電子戰(zhàn)系統(tǒng)告警、偵察、定位、干擾、對抗、協(xié)同等功能的不斷拓展,作為電子戰(zhàn)系統(tǒng)靈魂的嵌入式軟件的規(guī)模也從數(shù)千行擴展到數(shù)萬行。三代機電子戰(zhàn)系統(tǒng)軟件規(guī)模只有幾萬行,四代機電子戰(zhàn)系統(tǒng)軟件的規(guī)模已達到50萬行。

      2)軟件復(fù)雜度越來越高:隨著電子戰(zhàn)業(yè)務(wù)需求的擴展和硬件功能的“軟件”化,機載嵌入式軟件往往需要由多個CSCI相互協(xié)作才能完成特定的功能,這些CSCI間的協(xié)作過程變得越來越復(fù)雜。

      3)安全性要求越來越高:軟件失效可能引起的后果也越來越嚴(yán)重,輕者導(dǎo)致無法完成任務(wù),重者導(dǎo)致設(shè)備損毀,甚至危及生命[1]。例如,2009年法航AF447航班由于測速儀結(jié)冰使得飛控軟件錯誤攀升,而軟件未設(shè)置高度上限,導(dǎo)致飛機墜毀[2]。

      當(dāng)前航空電子系統(tǒng)正向開放式、模塊化、綜合化的方向發(fā)展,需要在軟件架構(gòu)上做出改進[3]。傳統(tǒng)的結(jié)構(gòu)化的程序設(shè)計方法已不能適應(yīng)當(dāng)前機載嵌入式軟件研發(fā)的需要,基于軟件框架和構(gòu)件的軟件設(shè)計方法將成為縮短軟件研發(fā)周期、提高軟件安全性、構(gòu)建軟件產(chǎn)品平臺、實現(xiàn)軟件工業(yè)化[4]的必由之路。

      本文重點闡述了一種基于軟件框架的機載電子戰(zhàn)嵌入式軟件設(shè)計方法。第1節(jié)介紹軟件框架和構(gòu)件技術(shù)的定義,第2節(jié)介紹基于軟件框架和構(gòu)件技術(shù)的機載電子戰(zhàn)軟件體系結(jié)構(gòu),第3節(jié)介紹電子戰(zhàn)軟件框架的設(shè)計準(zhǔn)則,第4節(jié)介紹電子戰(zhàn)軟件構(gòu)件的設(shè)計準(zhǔn)則,第5節(jié)介紹基于軟件框架和構(gòu)件的機載電子戰(zhàn)嵌入式軟件應(yīng)用設(shè)計,最后一節(jié)是結(jié)論及評述。

      1 軟件框架和構(gòu)件技術(shù)

      軟件框架(software framework)通常指的是為了實現(xiàn)某個業(yè)界標(biāo)準(zhǔn)或完成特定基本任務(wù)的軟件構(gòu)件規(guī)范,也指為了實現(xiàn)某個軟件構(gòu)件規(guī)范時,提供規(guī)范所要求之基礎(chǔ)功能的軟件產(chǎn)品[5]??蚣艿墓δ茴愃朴诨A(chǔ)設(shè)施,與具體的軟件應(yīng)用無關(guān),但定義并實現(xiàn)最為基礎(chǔ)的軟件架構(gòu)和體系。

      軟件構(gòu)件(software component)是面向特定軟件體系架構(gòu)的可復(fù)用軟件模塊,是指一個對象(接口規(guī)范、或者二進制代碼),它被用于復(fù)用,接口被明確定義[6]。構(gòu)件是作為一個邏輯緊密的程序代碼包的形式出現(xiàn)的,必須遵循軟件框架的約束。構(gòu)件必須具備的屬性有:1)有用性,構(gòu)件必須提供有用的功能;2)可用性,構(gòu)件必須易于理解;3)復(fù)用性,構(gòu)件必須能被復(fù)用;4)適應(yīng)性,構(gòu)件應(yīng)該易于通過參數(shù)化等方式在不同語境中進行重配置;5)可移植性,構(gòu)件應(yīng)能在不同的硬件運行平臺和軟件應(yīng)用環(huán)境中工作。

      2 機載電子戰(zhàn)嵌入式軟件體系結(jié)構(gòu)

      機載電子戰(zhàn)嵌入式軟件的業(yè)務(wù)模式主要包括數(shù)據(jù)處理、信號處理和管理控制功能。圖1給出了基于軟件框架的機載電子戰(zhàn)嵌入式軟件體系結(jié)構(gòu),包括軟件框架和軟件構(gòu)件兩部分。軟件構(gòu)件根據(jù)用途分為驅(qū)動層、業(yè)務(wù)支持層和業(yè)務(wù)邏輯層。

      圖1 基于軟件框架的機載電子戰(zhàn)嵌入式軟件體系結(jié)構(gòu)

      1)機載電子戰(zhàn)嵌入式軟件框架:作為電子戰(zhàn)應(yīng)用軟件的基礎(chǔ)設(shè)施,提供軟件構(gòu)件定義與管理、消息通信、操作系統(tǒng)接口封裝、調(diào)試日志、看門狗管理等公共服務(wù)。

      2)驅(qū)動層:完成電子戰(zhàn)軟件對外通信、數(shù)據(jù)采集和控制接口的抽象化封裝和適配。

      3)業(yè)務(wù)支持層:承擔(dān)電子戰(zhàn)應(yīng)用軟件的對外通信(傳輸層和鏈路層)數(shù)據(jù)接口功能,調(diào)用驅(qū)動層接口,完成電子戰(zhàn)業(yè)務(wù)的硬軟件設(shè)備訪問接口轉(zhuǎn)換。可進一步分為業(yè)務(wù)支持節(jié)點和協(xié)議組件兩種,實現(xiàn)點到點數(shù)據(jù)傳遞、數(shù)據(jù)組包解包、傳輸層流量控制、傳輸層差錯控制和字節(jié)順序等。

      4)業(yè)務(wù)邏輯層:作為電子戰(zhàn)軟件應(yīng)用層,基于業(yè)務(wù)功能和需求,實現(xiàn)可復(fù)用的電子戰(zhàn)軟件構(gòu)件,分為功能節(jié)點和功能組件兩類,例如:XXX輻射源定位節(jié)點,XXX輻射源信號分選節(jié)點、XXX輻射源距離估計組件、XXX輻射源威脅等級評估組件等。

      電子戰(zhàn)軟件構(gòu)件間的通信數(shù)據(jù)按照傳輸路徑可劃分為碼元(比特、字節(jié)、雙字、四字節(jié))、數(shù)據(jù)包、報文和消息四類,相應(yīng)的通信協(xié)議也分為物理層、鏈路層、傳輸層和應(yīng)用層四層。

      1)碼元(比特、字節(jié)、雙字、四字節(jié))是驅(qū)動層軟件構(gòu)件與物理硬件間的數(shù)據(jù)交換接口,設(shè)計要點包括碼元的選擇、校驗、數(shù)據(jù)傳遞的方式(中斷、查詢)等。

      2)數(shù)據(jù)包是業(yè)務(wù)支持層構(gòu)件與驅(qū)動層構(gòu)件的數(shù)據(jù)接口。設(shè)計要點包括:(1)數(shù)據(jù)包包頭包尾識別碼、長度、格式、路由、時間戳、包校驗;(2)數(shù)據(jù)包從碼元流的提取、流量控制;(3)載荷數(shù)據(jù)的加解密;(4)邏輯鏈路的建立和維持。

      3)報文是業(yè)務(wù)支持層構(gòu)件內(nèi)部的數(shù)據(jù),是業(yè)務(wù)消息在通信軟件構(gòu)件間進行數(shù)據(jù)交換的映射。設(shè)計要點包括:(1)消息到報文編碼的映射;(2)消息的數(shù)據(jù)元素之間的位置關(guān)系;(3)消息的優(yōu)先級;(4)消息的數(shù)據(jù)元素的高級數(shù)據(jù)類型到字節(jié)組合之間的變換;(5)業(yè)務(wù)支持層報文傳遞的方式(推、拉)。

      4)消息是業(yè)務(wù)邏輯層中應(yīng)用軟件構(gòu)件間以及業(yè)務(wù)邏輯層應(yīng)用軟件構(gòu)件與業(yè)務(wù)支持層通信構(gòu)件的交互數(shù)據(jù),是帶有領(lǐng)域語義的數(shù)據(jù)結(jié)構(gòu)與標(biāo)識。

      3 機載電子戰(zhàn)嵌入式軟件框架設(shè)計

      機載電子戰(zhàn)嵌入式軟件框架的設(shè)計決策包括:

      1)消息傳遞方式:軟件構(gòu)件間的消息傳遞采用異步消息和同步調(diào)用兩種方法,適用于業(yè)務(wù)邏輯層內(nèi)、業(yè)務(wù)邏輯層與業(yè)務(wù)支持層間軟件構(gòu)件進行消息傳遞。異步消息采用基于優(yōu)先級的消息隊列方式實現(xiàn), 解決構(gòu)件間的耦合問題。同步調(diào)用采用函數(shù)調(diào)用方式,提升響應(yīng)速度。

      2)任務(wù)調(diào)度方法:任務(wù)調(diào)度采用round-robin (基于優(yōu)先級的時間片輪轉(zhuǎn))調(diào)度算法,由操作系統(tǒng)提供調(diào)度支持。

      3)通信可靠性:通信可靠性包括不丟和無錯設(shè)計兩方面?!安粊G”的設(shè)計決策為:(1)在驅(qū)動層與業(yè)務(wù)支持層之間使用消息隊列緩沖報文來應(yīng)對通信鏈路與處理速率的不匹配;(2)在業(yè)務(wù)支持層定義數(shù)據(jù)包中的包數(shù)目和包序號,檢測數(shù)據(jù)包丟失;(3)在業(yè)務(wù)支持層定義報文中的流水號,檢測報文丟失;(4)在業(yè)務(wù)邏輯層定義響應(yīng)報文,確認(rèn)消息的到達?!盁o錯”的設(shè)計決策為;(a)在業(yè)務(wù)支持層定義數(shù)據(jù)包中的包校驗碼,檢測出錯,(b)在業(yè)務(wù)邏輯層定義響應(yīng)報文,確認(rèn)消息的有效性。

      4)數(shù)據(jù)可靠性:(1)每個構(gòu)件在初始化時預(yù)分配內(nèi)存資源,包括存儲空間、信號量、消息隊列、管道和任務(wù)等系統(tǒng)資源。其中數(shù)組、消息隊列等類型變量要求預(yù)先計算最大長度進行分配;(2)接口數(shù)據(jù)必須進行驗證后才可使用;(3)CSCI的每個任務(wù)必須估算其堆棧最大使用量,并按至少2倍配置其任務(wù)堆棧區(qū);(4)使用看門狗機制周期檢查軟件的健康狀態(tài);(5)使用日志記錄軟件運行過程;(6)使用心跳消息使上一級軟件可以感知本軟件的存活性和故障情況;(7)對共性數(shù)據(jù)等臨界資源進行訪問保護。

      5)復(fù)用性:(1)軟件構(gòu)件采用抽象基類設(shè)計;(2)記錄、消息總線等公共服務(wù)組件采用服務(wù)類設(shè)計;(3)采用可配置化設(shè)計,例如:針對調(diào)試信息打印、看門狗和日志等服務(wù)設(shè)置使能標(biāo)記等。

      6)易用性:通過定義公共組件類和公共節(jié)點類,對軟件構(gòu)件進行統(tǒng)一命名。

      基于以上設(shè)計決策的電子戰(zhàn)嵌入式軟件框架組成見圖2,主要由構(gòu)件公共節(jié)點類和公共組件類、構(gòu)件管理、消息總線、調(diào)試記錄、操作系統(tǒng)隔離、工具類和看門狗構(gòu)件組成。通過可以適應(yīng)文獻[7]所描述的ARINC653、ASSAC和GOA等多種機載軟件IMA體系架構(gòu)。

      圖2 機載電子戰(zhàn)嵌入式軟件框架結(jié)構(gòu)

      1)公共節(jié)點類:作為周期任務(wù),是所有業(yè)務(wù)邏輯功能軟件構(gòu)件和業(yè)務(wù)支持軟件構(gòu)件的基類;公共節(jié)點類的通用接口見表1。節(jié)點通過加載不同的配置可實現(xiàn)軟件功能重組,例如干涉儀定位節(jié)點既可配置為采用4基線干涉儀數(shù)據(jù),也可配置為采用5基線干涉儀數(shù)據(jù)。

      表1 公共節(jié)點類公用接口

      節(jié)點運行的流程見圖3,節(jié)點初始化完成后,通過消息處理來接收其他節(jié)點或者組件發(fā)送的消息,通過周期處理來進行狀態(tài)監(jiān)控和數(shù)據(jù)刷新。

      圖3 公共節(jié)點運行主流程

      節(jié)點通過向電子戰(zhàn)嵌入式軟件框架注冊輸入和輸出消息來進行數(shù)據(jù)交換。通過消息注冊接口,可以為每個節(jié)點定義一系列的輸入輸出消息,見圖4。其中每個輸入消息需綁定一個處理函數(shù)。

      圖4 消息注冊

      2)公共組件類:作為函數(shù)調(diào)用使用,是所有功能組件、協(xié)議組件、驅(qū)動組件的基類。公共組件類的通用接口見表2。

      表2 公共組件類公用接口

      3)構(gòu)件管理組件:管理電子戰(zhàn)嵌入式軟件框架上所有的節(jié)點和組件,完成構(gòu)件初始化、構(gòu)件消息注冊和消息路由映射。

      表3 構(gòu)件管理組件公用接口

      圖5描述了消息路由映射的關(guān)系示意。通其中A_Node的輸出消息M_Out1連接到了C_Node的輸入消息M_In1;B_Node的輸出消息M_Out1連接到了A_Node的輸入消息M_In2;C_Node的輸出消息M_Out1連接到了B_Node的輸入消息M_In2。消息路由可以支持1對1,1對多,多對1等多種方式。

      圖5 消息路由映射

      4)消息總線組件:為節(jié)點間、組件間提供基于優(yōu)先級的數(shù)據(jù)交換功能,分為異步消息和同步調(diào)用兩類??刹捎梦墨I[8]所描述的DDS軟總線來實現(xiàn)。

      表4 消息總線線公用接口

      5)調(diào)試記錄組件:為節(jié)點和組件提供調(diào)試分級打印顯示和記錄的功能。其中調(diào)試等級分為錯誤,警告,優(yōu)先,普通4個等級,可通過定義不同等級的開關(guān)來選擇性的進行消息輸出。

      表5 調(diào)試記錄組件接口

      6)操作系統(tǒng)封裝類:提供操作系統(tǒng)相關(guān)操作的接口封裝,包括:內(nèi)存分配服務(wù)、任務(wù)、消息隊列、信號量、時間服務(wù)和中斷服務(wù)[9]。通過操作系統(tǒng)封裝類,可以適配文獻[10]中的多種嵌入式操作系統(tǒng),例如:VxWokrs5.5,天脈,VxWokrks6.8,Linux等,支持應(yīng)用軟件跨平臺移植的目的。

      7)工具類:為軟件框架和構(gòu)件提供數(shù)據(jù)存儲、專用算法庫和專用數(shù)據(jù)等基礎(chǔ)功能。主要實現(xiàn)的構(gòu)件包括:文件記錄、內(nèi)部消息鏈表、消息組包緩存、快速排序插件等。

      8)看門狗:為節(jié)點健康運行提供標(biāo)準(zhǔn)、統(tǒng)一的監(jiān)控和復(fù)位方法。提供了基于多節(jié)點的心跳監(jiān)測和基于節(jié)點任務(wù)狀態(tài)監(jiān)測兩種異常診斷方法。

      4 軟件構(gòu)件設(shè)計

      軟件構(gòu)件的設(shè)計決策:

      1)分層:根據(jù)構(gòu)件的用途,將構(gòu)件分為業(yè)務(wù)邏輯層、業(yè)務(wù)支持層和驅(qū)動層三層。

      2)分類:根據(jù)構(gòu)件的類型,將構(gòu)件分為節(jié)點和組件兩類。節(jié)點是可以基于框架獨立運行的任務(wù)。組件是被其他組件或者節(jié)點調(diào)用來完成特定的功能函數(shù)集。

      3)復(fù)用性:節(jié)點和組件均派生自框架中的公共構(gòu)件類(公共節(jié)點類和公共組件類),采用統(tǒng)一的接口和封裝形式。節(jié)點可以實例化多個對象進行復(fù)用。組件都按照可重入的模式進行設(shè)計。

      業(yè)務(wù)邏輯層構(gòu)件的結(jié)構(gòu)見圖6。業(yè)務(wù)邏輯層構(gòu)件完成與應(yīng)用需求和業(yè)務(wù)相關(guān)算法與邏輯處理,根據(jù)類型可以劃分為功能節(jié)點和功能組件兩種。功能節(jié)點獨立或者調(diào)用一個或者多個功能組件一起完成某項特定的業(yè)務(wù)功能。

      圖6 業(yè)務(wù)邏輯層組件的結(jié)構(gòu)

      業(yè)務(wù)支持層構(gòu)件的結(jié)構(gòu)見圖7。業(yè)務(wù)支持層構(gòu)件完成應(yīng)用軟件對外的數(shù)據(jù)接口和硬件設(shè)備訪問接口轉(zhuǎn)換。可劃分為業(yè)務(wù)支持節(jié)點和協(xié)議組件兩種。業(yè)務(wù)支持節(jié)點獨立或者調(diào)用一個或者多個驅(qū)動組件一起完成某項特定功能的接口通訊功能,并調(diào)用協(xié)議組件進行接口數(shù)據(jù)解包和組包的工作。協(xié)議組件完成碼元數(shù)據(jù)及報文的轉(zhuǎn)換工作。業(yè)務(wù)支持節(jié)點可選擇不同的適配協(xié)議組件,具有高度靈活性。例如:A課題和B課題都使用了RS422通訊,但是A課題和B課題的通訊協(xié)議不一樣,通過新開發(fā)一個B課題的通訊協(xié)議就可以完成適配工作,而不用更改RS422通信節(jié)點。

      圖7 業(yè)務(wù)支持層組件的結(jié)構(gòu)

      業(yè)務(wù)支持節(jié)點的專用接口見表6。通過協(xié)議綁定接口完成協(xié)議的綁定動作。通過物理消息接收,物理消息發(fā)送方法完成通訊接口消息的收發(fā)(通過調(diào)用驅(qū)動層的接口)。通過物理消息接收處理方法完成通訊消息的處理。

      表6 業(yè)務(wù)支持節(jié)點專用接口

      協(xié)議組件的專用接口見表7。通過節(jié)點綁定方法對業(yè)務(wù)支持節(jié)點進行綁定。通過TransOut2In ()方法進行驅(qū)動層的碼元到業(yè)務(wù)邏輯層消息的轉(zhuǎn)換。通過TransIn2Out()方法進行業(yè)務(wù)邏輯層消息到驅(qū)動層數(shù)據(jù)碼元的轉(zhuǎn)換。通過PeriodProcess()方法進行協(xié)議組件的周期狀態(tài)管理工作。

      表7 協(xié)議組件專用接口

      驅(qū)動層構(gòu)件的結(jié)構(gòu)見圖8,主要完成對外通信、數(shù)據(jù)采集和控制接口的軟件封裝和映射。根據(jù)硬件的類型和使用平臺,可以開發(fā)不同的驅(qū)動。

      圖8 驅(qū)動層構(gòu)件

      5 應(yīng)用舉例

      圖9是使用框架進行構(gòu)造某電子戰(zhàn)管理控制軟件的一個例子。圖示的管控軟件完成電子戰(zhàn)管理控制、自檢、校準(zhǔn)、日志和數(shù)據(jù)融合等功能,對外接口采用RS422和1553B總線[11]進行通訊,可分解為3個層次以及對應(yīng)軟件構(gòu)件。如需要更換對外通訊接口或交互協(xié)議,只需修改或者替換相應(yīng)的業(yè)務(wù)支持層節(jié)點和協(xié)議組件,不用改動業(yè)務(wù)邏輯;反之如需更改業(yè)務(wù)邏輯,只需增加或者更改對應(yīng)的功能節(jié)點或者組件。

      圖9 基于框架的電子戰(zhàn)管理控制軟件程序結(jié)構(gòu)

      圖10是使用框架進行構(gòu)造某項目電子戰(zhàn)信號處理軟件的一個例子。該軟件需完成定位、測向、識別、威脅計算和告警等功能,對外接口采用1553B,數(shù)據(jù)采集使用電子戰(zhàn)專用的數(shù)據(jù)采集接口,可以分解為3個層次以及對應(yīng)的軟件構(gòu)件。

      圖10 基于框架的電子戰(zhàn)信號處理軟件程序結(jié)構(gòu)

      在兩個軟件中,框架、驅(qū)動層中的1553B總線通信驅(qū)動、業(yè)務(wù)支持層中的1553B總線通信節(jié)點和1553B報文協(xié)議、業(yè)務(wù)邏輯層中的日志節(jié)點均是共用的。

      6 結(jié)束語

      本文通過引入基于框架的設(shè)計方法對機載電子戰(zhàn)嵌入式軟件進行設(shè)計,統(tǒng)一和規(guī)范了機載電子戰(zhàn)嵌入式應(yīng)用軟件的體系結(jié)構(gòu),使得電子戰(zhàn)系統(tǒng)軟件架構(gòu)具備開放式軟件架構(gòu)特征;通過軟件框架、業(yè)務(wù)邏輯層、業(yè)務(wù)支持層和驅(qū)動層軟件構(gòu)件的開放式設(shè)計與復(fù)用,在提升軟件質(zhì)量的同時使得軟件開發(fā)人員聚焦應(yīng)用開發(fā),有效提升了機載電子戰(zhàn)嵌入式軟件研發(fā)效率;通過軟件框架的隔離效應(yīng)可支持應(yīng)用軟件在不同操作系統(tǒng)間的快速部署,使得電子戰(zhàn)系統(tǒng)具備快速迭代升級能力。

      猜你喜歡
      嵌入式軟件電子戰(zhàn)消息
      殲-16D電子戰(zhàn)飛機
      電子戰(zhàn)領(lǐng)域的爭鋒
      軍事文摘(2022年17期)2022-09-24 01:10:56
      “電子戰(zhàn)大拿”殲-16D
      一張圖看5G消息
      實時嵌入式軟件的測試技術(shù)
      電子測試(2018年10期)2018-06-26 05:54:08
      全景相機遙控器嵌入式軟件V1.0 相關(guān)操作分析
      電子制作(2017年17期)2017-12-18 06:40:56
      基于Eclipse的航天嵌入式軟件集成開發(fā)環(huán)境設(shè)計與實現(xiàn)
      航天嵌入式軟件浮點運算誤差分析與控制
      消息
      消息
      武清区| 仁布县| 南昌县| 武陟县| 靖远县| 庄浪县| 蕲春县| 光泽县| 东乌珠穆沁旗| 瑞丽市| 昭苏县| 辛集市| 右玉县| 夏邑县| 新宾| 伊宁县| 东安县| 赫章县| 彭山县| 襄城县| 涪陵区| 麻栗坡县| 隆昌县| 平邑县| 江华| 江门市| 平远县| 武冈市| 舞钢市| 宁化县| 萨迦县| 濮阳县| 长寿区| 邯郸县| 义马市| 微山县| 永安市| 福安市| 广饶县| 龙岩市| 赣州市|