• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    基于中標麒麟的測發(fā)控類軟件一體化設(shè)計

    2021-12-22 13:18:46孫寶亮紀祖赑
    計算機測量與控制 2021年12期
    關(guān)鍵詞:信息流研制組件

    孫寶亮,王 毅,薛 凱,紀祖赑

    (空間物理重點實驗室,北京 100071)

    0 引言

    隨著技術(shù)的發(fā)展,航天器作為我國航天技術(shù)的集中體現(xiàn),有著系統(tǒng)復(fù)雜、研制難度高、測試檢驗流程多、質(zhì)量要求高的特點[1-2]。當(dāng)前形勢下,對航天器軟件系統(tǒng)的研制提出了更高的要求,如何實現(xiàn)航天器的快速裝備已成為當(dāng)前工作的重點。面向裝備使用的航天器軟件系統(tǒng)的研制、生產(chǎn)相較傳統(tǒng)航天型號的研制,除具有更高質(zhì)量要求外,還有面向使用、兼顧平時訓(xùn)練、國產(chǎn)化的使用需求。航天軟件系統(tǒng)的研制側(cè)重測試數(shù)據(jù)的有效性、完整性,用戶多為工程研究人員;而面向裝備的航天器軟件系統(tǒng)研制則更側(cè)重可靠性、易用性以及使用的長期性,用戶多為一線操作人員。在當(dāng)前形勢下,航天軟件研制模式已不能適應(yīng)裝備自動化程度高、使用狀態(tài)多、長期值守的要求。如何實現(xiàn)航天研究研制向裝備型號研制的快速轉(zhuǎn)變,成為當(dāng)下亟待解決的問題。

    針對國產(chǎn)操作系統(tǒng)下,軟件產(chǎn)品化研制要求,本文提出一種面向測試流程自動化的軟件系統(tǒng)一體化設(shè)計方法,實現(xiàn)了在中標麒麟環(huán)境下基于QT的測發(fā)控流程自動控制軟件設(shè)計與實現(xiàn)。方法以兼顧頂層設(shè)計與底層實現(xiàn)、提高系統(tǒng)自動化程度為原則,開展軟件系統(tǒng)設(shè)計工作,通過系統(tǒng)頂層設(shè)計、信息流設(shè)計,逐層下沉到軟件配置項設(shè)計,識別配置項級功能點,確保軟件更改影響域最小化;通過軟件接口模塊化、通用化設(shè)計,降低軟件測試、維護成本,有效縮短軟件研制周期、提高軟件質(zhì)量。此外,通過信息流設(shè)計識別關(guān)鍵控制節(jié)點、提取流程控制判據(jù),實現(xiàn)了基于信息流的測發(fā)控系統(tǒng)自動控制技術(shù),有效提高了測發(fā)控系統(tǒng)的自動化程度,降低了人員操作與判讀的介入程度,保障了系統(tǒng)運行的實時性、可靠性。本文以航天器某監(jiān)控類軟件研制過程為例詳細說明本文所提出方法的實施過程。

    1 軟件系統(tǒng)架構(gòu)設(shè)計

    1.1 軟件系統(tǒng)功能劃分

    傳統(tǒng)航天器軟件設(shè)計方法往往在電氣系統(tǒng)方案確定后,以電氣系統(tǒng)功能需求為輸入,反復(fù)迭代軟件配置項功能,該方法的缺點在于系統(tǒng)接口不明確、軟件功能不明晰,軟件功能設(shè)計強烈依賴系統(tǒng)方案設(shè)計,導(dǎo)致軟件設(shè)計滯后、設(shè)計反復(fù)。本文所提出方法,通過從系統(tǒng)級到配置項級、再到功能模塊級逐級多維統(tǒng)一化設(shè)計方式,實現(xiàn)了軟件系統(tǒng)各功能點的解耦,降低了由于系統(tǒng)變更引起的軟件維護成本。同時,由于采用統(tǒng)一化設(shè)計,保證了軟件系統(tǒng)研制質(zhì)量,降低了軟件系統(tǒng)研制成本。本文以系統(tǒng)頂層需求為輸入、兼顧電氣系統(tǒng)方案,通過軟件系統(tǒng)功能需求開發(fā)、配置項功能劃分、靜態(tài)信息流設(shè)計、動態(tài)信息流設(shè)計,明確了軟件系統(tǒng)中各軟件配置項的功能要求,同時,依據(jù)變更影響最小化原則,指導(dǎo)軟件配置項設(shè)計,以某監(jiān)控軟件為例,說明設(shè)計過程。

    某監(jiān)控軟件主要實現(xiàn)多個下位目標設(shè)備的監(jiān)控,同時與多個外系統(tǒng)設(shè)備通過網(wǎng)絡(luò)實現(xiàn)通信。軟件通過接收外部設(shè)備指令并按指令要求自動控制下位目標設(shè)備完成指令動作,同時周期性將監(jiān)測信息反饋給外部監(jiān)控設(shè)備以圖表化方式實時輸出。軟件功能分解如圖1所示。

    圖1 某監(jiān)控軟件功能框圖

    本文所設(shè)計軟件架構(gòu)為“平臺+數(shù)據(jù)總線+組件”架構(gòu)。其中,平臺完成軟件初始化、總線初始化、組件初始化、數(shù)據(jù)記錄、日志記錄以及其它公共基礎(chǔ)功能初始工作;數(shù)據(jù)總線為全軟件共享數(shù)據(jù)接口,設(shè)計了標準的數(shù)據(jù)交互接口;組件為具體業(yè)務(wù)模塊。軟件中,各功能模塊以標準接口接入總線,完成模塊間的數(shù)據(jù)交互的同時避免了模塊間資源的競爭與調(diào)用,避免了軟件跨線程調(diào)用和線程競爭的風(fēng)險。軟件結(jié)構(gòu)如圖2所示。

    圖2 軟件結(jié)構(gòu)框圖

    1.2 軟件系統(tǒng)功能劃分

    軟件系統(tǒng)接口設(shè)計工作依據(jù)軟件配置項功能分解和控測一體化系統(tǒng)的要求,對軟件系統(tǒng)內(nèi)各個配置項之間的通信接口進行了設(shè)計。

    依據(jù)軟件系統(tǒng)功能劃分,基于接口統(tǒng)一化、標準化設(shè)計原則,設(shè)計了系統(tǒng)間、子系統(tǒng)內(nèi)接口關(guān)系,實現(xiàn)了軟件配置項級的接口與實現(xiàn)分離,確保了軟件配置項的松耦合,同時針對各子系統(tǒng)設(shè)計了配置項級的邏輯架構(gòu)圖。某監(jiān)控軟件靜態(tài)信息流如圖3所示。

    圖3 監(jiān)控軟件靜態(tài)信息流設(shè)計

    其中,靜態(tài)信息流說明如表1所示。

    表1 某監(jiān)控軟件靜態(tài)信息流說明

    1.3 自動化流程控制設(shè)計

    針對測控系統(tǒng)自動測試及控制需求,進一步的,梳理系統(tǒng)關(guān)鍵動作時序關(guān)系,開展軟件系統(tǒng)動態(tài)信息流設(shè)計,進一步細化軟件功能點與系統(tǒng)時序關(guān)系,本文針對系統(tǒng)間的邏輯關(guān)系、時序動態(tài)、數(shù)據(jù)判讀設(shè)計了子系統(tǒng)動態(tài)信息流如圖4所示。

    圖4 某子系統(tǒng)自動化控制信息流

    依據(jù)系統(tǒng)信息流設(shè)計流程判據(jù)文件,判據(jù)文件為系統(tǒng)自動化執(zhí)行的依據(jù),考慮到系統(tǒng)通用性和使用需求,本文設(shè)計了適用于測發(fā)控系統(tǒng)自動控制流程的判據(jù)管理模塊、流程配置模塊、分支執(zhí)行模塊、消息通知模塊,軟件能夠根據(jù)測發(fā)控需求靈活配置,實現(xiàn)跨型號測發(fā)控系統(tǒng)流程自動控制技術(shù),提升測發(fā)控系統(tǒng)的自動化程度。其中,流程配置模塊針對測控系統(tǒng)常用判讀邏輯—與、或、非、大于、等于、小于等基礎(chǔ)邏輯及其組合形成通用化流程控制邏輯配置文件,能夠適應(yīng)大部分測控系統(tǒng)流程控制需求。

    經(jīng)過以上軟件系統(tǒng)功能分解、時序設(shè)計、功能點拆解,明確了軟件系統(tǒng)的工作模式和運行狀態(tài),實現(xiàn)了系統(tǒng)數(shù)據(jù)流控制流動態(tài)設(shè)計,確保了接口設(shè)計匹配性,保證了系統(tǒng)設(shè)計無死角、無歧義,進而為系統(tǒng)的自動化控制技術(shù)提供了技術(shù)和方案支撐。在此基礎(chǔ)上進一步開展測發(fā)控自動控制技術(shù)研究。本項目通過梳理系統(tǒng)信息流間的關(guān)系結(jié)合電氣系統(tǒng)方案,設(shè)計了基于信息流的自動化控制方案,軟件自動控制流程如圖5所示。

    圖5 某監(jiān)控子系統(tǒng)自動化控制流程

    其中,流程中主要包含外部指令、執(zhí)行機構(gòu)、數(shù)據(jù)判讀等關(guān)鍵動作外部指令為系統(tǒng)輸入,結(jié)合外系統(tǒng)使用及系統(tǒng)設(shè)計方案完成關(guān)鍵檢查點控制;執(zhí)行機構(gòu)為系統(tǒng)內(nèi)部控制單元,根據(jù)指令執(zhí)行相應(yīng)動作;數(shù)據(jù)判讀為流程關(guān)鍵數(shù)據(jù)、指標的判讀,只有符合預(yù)置數(shù)據(jù)包絡(luò)范圍內(nèi),方可自動執(zhí)行控制流程。測控系統(tǒng)自動控制需求源自系統(tǒng)方案設(shè)計,其中數(shù)據(jù)判讀結(jié)合系統(tǒng)信息流開展設(shè)計,綜合系統(tǒng)時許設(shè)置合理的判據(jù)包絡(luò)支撐后續(xù)控制流程的自動化。

    2 研制流程

    軟件研制過程中,打破了系統(tǒng)、配置項的界限,建立以系統(tǒng)信息流、控制流為導(dǎo)向的設(shè)計模式。然而,方法的效率提升離不開軟件產(chǎn)品化設(shè)計,反過來細粒度軟件產(chǎn)品化設(shè)計能夠拓展方法的靈活性和標的性。以可重用構(gòu)件為原材料,以自主研發(fā)的通用化平臺框架為基輔,實現(xiàn)型號軟件的快速研發(fā)和生產(chǎn)范式。在軟件項目管理方面,軟件采用集成項目管理模式開展統(tǒng)一管理,充分優(yōu)化管理成本。

    2.1 軟件平臺

    在軟件研制階段,軟件以功能組件為基本單位,進行“積木式”開發(fā)。軟件通過平臺功能擴展,實現(xiàn)軟件應(yīng)用層功能。平臺提供標準公共接口,可靈活加載/卸載功能組件,且不影響軟件主體功能實現(xiàn)。該技術(shù)能極大程度地提高軟件產(chǎn)品黑盒復(fù)用率,提高代碼質(zhì)量,同時能夠有效配合本文所提出方法的設(shè)計思想,實現(xiàn)對成熟構(gòu)件的可靠性和安全性的繼承。

    2.2 數(shù)據(jù)總線

    數(shù)據(jù)總線為軟件內(nèi)部各功能組件進行數(shù)據(jù)交互的共用數(shù)據(jù)訪問模塊。該模塊設(shè)計有標準數(shù)據(jù)訪問接口,各功能組件按需訪問總線數(shù)據(jù),同時與其它組件實現(xiàn)隔離,避免數(shù)據(jù)讀寫操作造成的錯誤。同時,數(shù)據(jù)總線維護總線數(shù)據(jù)結(jié)構(gòu),各組件可根據(jù)實際需要完成對數(shù)據(jù)的新建、刪除、修改等操作,總線維護數(shù)據(jù)的介入保護,避免不同線程訪問數(shù)據(jù)時造成的不穩(wěn)定問題。

    2.3 功能組件劃分

    功能組件在軟件系統(tǒng)功能設(shè)計階段完成后,各軟件配置項功能既定的情況下,開展各軟件配置項需求分析,進而實現(xiàn)功能劃分,識別其中可重用功能,通過組件標準化實現(xiàn)并擴充至組織資產(chǎn)。可重用構(gòu)件應(yīng)盡可能地只規(guī)定所需的功能和性能指標,詳細描述構(gòu)建的接口、配置參數(shù)、功能范圍等,允許開發(fā)者決定操作上和實現(xiàn)上的細節(jié),提高構(gòu)件的可重用性。

    2.4 功能組件實現(xiàn)

    構(gòu)件實現(xiàn)需以設(shè)計階段輸出為標的,對標功能、性能指標開展實現(xiàn),并考慮提高每個構(gòu)件的可復(fù)用性。重用構(gòu)件的質(zhì)量是開展過程中的重要一環(huán),每個構(gòu)件作為獨立的產(chǎn)品進行測試。對構(gòu)件的測試也作為構(gòu)件的一部分來管理??芍赜脴?gòu)件實現(xiàn)完成后必須進行較通常軟件開發(fā)更加嚴格的代碼審查、單元測試、組裝測試和確認測試,必要時開展第三方測試。

    其中,新研構(gòu)件開發(fā)流程,如圖6所示。

    圖6 新研構(gòu)件開發(fā)流程

    重用構(gòu)件研制流程,如圖7所示。

    圖7 重用構(gòu)件研制流程

    2.5 功能組件集成

    在軟件各功能組件研制完成后,軟件進入集成封裝階段。組件完成所有研制流程后進行入庫,入庫前需準備詳細的構(gòu)件配套文檔。如果構(gòu)建研制隨項目進行,那么在項目結(jié)束時從項目工程文檔中提取構(gòu)件相關(guān)內(nèi)容,完成構(gòu)件配套文檔編寫,構(gòu)件需根據(jù)接口規(guī)范,生成標準文件。其中構(gòu)件需維護標準接口如圖8所示。

    圖8 構(gòu)件標準接口

    3 實驗結(jié)果與分析

    3.1 開發(fā)環(huán)境

    當(dāng)前,主流國產(chǎn)操作系統(tǒng)以中標麒麟[3-5]、銀河麒麟為代表。其中,中標麒麟是國內(nèi)首款支持龍芯64位平臺的高安全等級可信的、自主可控的操作系統(tǒng)操作系統(tǒng),兼容主流的軟硬件和自主CPU平臺,如飛騰、龍芯、申威[6-7]。與Vxworks[8-9]等操作系統(tǒng)不同,中標麒麟兼容主流的軟硬件和自主CPU平臺,如飛騰、龍芯、申威[10]。

    目前中標麒麟可安裝的應(yīng)用開發(fā)環(huán)境有Qt、Eclipse、GCC和腳本語言[11-13]。其中,Qt是由TrollTech公司出品的可跨平臺圖形用戶界面應(yīng)用程序開發(fā)框架[13]。其基于C++語言的面向?qū)ο蟮目蚣?,既可以開發(fā)GUI程序,也可用于開發(fā)非GUI程序,目前被廣泛應(yīng)用于桌面應(yīng)用、嵌入式、軍工系統(tǒng)等有跨平臺需求的、要與硬件交互的軟件系統(tǒng)中[14]。

    本文采用中標麒麟5.0版、Qt5.6.2版完成案例開發(fā)。

    3.2 軟件編譯

    軟件開發(fā)過程中,應(yīng)完成需求分析,設(shè)計功能組件組成,區(qū)分可重用組件、新研組件;可重用組件移植,再識別軟件可重用功能組件后,需要將基于windows平臺下編寫的功能組件,編寫適用于QT環(huán)境的.pro文件,在目標平臺上重新編譯,實現(xiàn)組件的移植??偨Y(jié)如下:

    1)需求分析,完成軟件功能劃分,如有需要開發(fā)驅(qū)動加載至系統(tǒng)內(nèi)核;

    2)使用Qt Creator等開發(fā)環(huán)境開發(fā)軟件界面及邏輯代碼實現(xiàn),由于中標麒麟目前支持集成開發(fā)環(huán)境較少,當(dāng)前主流集成開發(fā)環(huán)境為Qt Creator;

    3)可執(zhí)行文件或動態(tài)鏈接庫(.so)文件,軟件完成開發(fā)后,需將各功能組件編譯生成可調(diào)用執(zhí)行的文件,同時生成軟件的可執(zhí)行文件,打包發(fā)布軟件。

    3.4 軟件發(fā)布

    軟件發(fā)布階段,需將用戶程序編譯后與所依賴的動態(tài)鏈接庫、配置文件等文件一起打包生成可安裝程序,由于中標麒麟在X86平臺、龍芯平臺下編譯生成的程序具備廣泛通用性,因此,需分別在不同目標平臺重新編譯并分別發(fā)布軟件安裝包,其主要工作內(nèi)容y有:

    1)release文件文件生成,復(fù)制release文件內(nèi)所有文件至新建文件夾,重命名,并建立pack.sh腳本文件和.h文件。

    2)編寫pack.sh文件,主要為需要發(fā)布的程序名稱和創(chuàng)建文件夾位置等信息,例如:

    !/bin/sh

    Exe=“mynewName”

    Des=/mypath/mynewName

    Deplist=(lddexe|awk’{if(match(3,”/”)){printf(“%s”),3}}’)

    cp deplist des

    3)在終端中運行pack.sh指令,執(zhí)行文件所依賴的鏈接庫會自動復(fù)制到項目文件夾中。在其他龍芯平臺上運行項目.h腳本文件即可啟動軟件。

    3.3 效果分析

    本文所述一體化軟件設(shè)計方法,能夠在系統(tǒng)設(shè)計之初考慮軟件配置項功能分配、接口定義,在縮短系統(tǒng)設(shè)計反復(fù)、避免冗余迭代的同時,縮短系統(tǒng)軟件研制周期降低軟件成本,本方法在某項目中已成功應(yīng)用,相比WPS軟件設(shè)計方法,在相同功能點的情況下,本項目中統(tǒng)計數(shù)據(jù)如表2所示。數(shù)據(jù)來源于其它型號類似軟件研制過程數(shù)據(jù),其中,代碼缺陷率以第三方測試檢出問題數(shù)量統(tǒng)計。

    表2 本項目相關(guān)數(shù)據(jù)統(tǒng)計情況

    4 結(jié)束語

    本文所提出方法以系統(tǒng)需求為輸入依據(jù),開展頂層需求分解,實現(xiàn)了軟件系統(tǒng)的功能劃分,通過接口設(shè)計、信息流設(shè)計進一步細化了軟件功能點與系統(tǒng)的關(guān)系,解耦各功能點的耦合關(guān)系,實現(xiàn)了變更影響最小化設(shè)計,提高了軟件系統(tǒng)質(zhì)量。從頂層設(shè)計到底層實現(xiàn)的設(shè)計思路,解決了由于系統(tǒng)需求傳遞不準確導(dǎo)致的設(shè)計反復(fù)問題,有效提升了型號軟件研制效率。此外,采用多維逐級分解的設(shè)計思路,在進行系統(tǒng)設(shè)計的同時,形成了軟件系統(tǒng)自動化控制依據(jù),通過軟件接口模塊化、通用化設(shè)計解耦了不同流程判據(jù)不同的問題,實現(xiàn)了測發(fā)控系統(tǒng)的自動化控制技術(shù),同時為豐富自主可控軟件生態(tài)環(huán)境提供技術(shù)儲備,為未來基于國產(chǎn)軟硬件平臺的軟件研制提供可借鑒案例。

    猜你喜歡
    信息流研制組件
    無人機智能巡檢在光伏電站組件診斷中的應(yīng)用
    能源工程(2022年2期)2022-05-23 13:51:50
    基于信息流的作戰(zhàn)體系網(wǎng)絡(luò)效能仿真與優(yōu)化
    新型碎邊剪刀盤組件
    重型機械(2020年2期)2020-07-24 08:16:16
    U盾外殼組件注塑模具設(shè)計
    基于信息流的RBC系統(tǒng)外部通信網(wǎng)絡(luò)故障分析
    戰(zhàn)區(qū)聯(lián)合作戰(zhàn)指揮信息流評價模型
    一種輕型手搖絞磨的研制及應(yīng)用
    廣西電力(2016年5期)2016-07-10 09:16:44
    基于任務(wù)空間的體系作戰(zhàn)信息流圖構(gòu)建方法
    風(fēng)起新一代光伏組件膜層:SSG納米自清潔膜層
    太陽能(2015年11期)2015-04-10 12:53:04
    接地線通用接地端的研制
    同江市| 河南省| 黎城县| 洪江市| 三亚市| 黔西县| 株洲县| 工布江达县| 谢通门县| 克什克腾旗| 保德县| 双柏县| 桃江县| 庄浪县| 宜兰市| 贞丰县| 灵石县| 石首市| 丹棱县| 泰安市| 佛坪县| 牟定县| 石泉县| 灵丘县| 当雄县| 邓州市| 徐州市| 宿松县| 久治县| 乌海市| 宁明县| 罗城| 新田县| 六安市| 彩票| 武定县| 额济纳旗| 吉首市| 开原市| 长沙县| 若羌县|