999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

深空探測器數據管理軟件架構設計

2023-11-13 09:39:36張紅軍李佳津于俊慧楊麗君李承昊
航天器工程 2023年5期
關鍵詞:功能模塊功能設計

張紅軍 李佳津 于俊慧 楊麗君 李承昊

(北京空間飛行器總體設計部,北京 100094)

國外相關行業的科研機構也均設計了各自的軟件架構,NASA開發了核心飛行系統(cFS)軟件架構,支持其相應航天探測任務的軟件研制[1-2];ESA研究了空間電子開放式接口架構(SAVOIR),期望加強航天器電子系統的標準化水平,以提高效率并降低開發成本和進度帶來的壓力[3-4]。在航空領域,美國發布實施了《通用開放式結構(GOA)架構》標準,該模型概念主要是軟件架構的分層和接口分類[5];基于美國航空無線電通信公司ARINC653規范的軟件架構,制定了操作系統和應用軟件之間的標準接口,引入了程序分區的思想,增強了系統的安全性和可預測性。在汽車領域,由全球汽車制造商、部件供應商等聯合推出了一個開放的、標準化的汽車開發系統架構(AUTOSAR)[6-7],該架構可以實現應用程序和基礎模塊之間的分離,有利于車輛電子系統軟件的交換與升級,具有可移植、可拓展、高實時、高可靠、滿足功能安全要求的特點。國內高校、科研機構等也均開展了相關軟件架構研究,支持相關軟件研制工作[8]。

目前常用的深空探測器數據管理軟件架構的分層結構不夠清晰,存在層間耦合與任務間耦合等情況,信息流傳輸效率不高,參數類功能實現未結構化,導致大數據量參數裝訂過程中經常出現地址沖突等情況。本文提出了一種航天器軟件架構設計方法,并設計了一種深空探測器數據管理軟件通用架構,約束了架構的分層結構、信息流、任務調度方式以及組裝方式,控制深空探測器數據管理軟件技術狀態,提高軟件開發復用率,提升軟件產品化水平。

1 航天器軟件架構設計

本文提出的軟件架構設計包括以下內容:

根據軟件需求分析軟件特點,重點明確各任務通用的共性需求以及任務都有的專用需求。

設計軟件架構的分層結構,明確各層的主要功能、層間與層內通信方式等。

設計軟件架構各部分功能項的代碼生成及組裝方式,包括手動編碼與組裝、工具生成與組裝等。

根據軟件分層結構、代碼生成與組裝方式等選擇軟件架構模式。

梳理軟件架構的復用元素,包括復用方式、復用級別、復用類型等,明確各種復用元素的適用范圍。

明確任務軟件研制技術流程各階段需要具體完成的架構設計工作,將軟件架構設計工作與軟件研制技術流程相結合,明確各種工具對流程各階段的支持情況。

1.1 軟件架構的要素設計

通常軟件架構包含核心要素和輔助要素兩部分,如圖1所示。

軟件架構設計的關鍵在于設計或選擇軟件構件,明確軟件構件之間的連接關系以及軟件構件的配置約束等,明確軟件架構的層次劃分關系以及軟件各部分功能代碼的生成與組裝方式等。

軟件架構設計過程中要采用有形的方法對軟件架構進行描述和表示,包括選擇合適的軟件架構模式,應用圖、表、文字等多種方式對軟件架構的元素、功能、結構、接口、信息流等予以表示。

軟件架構設計需要考慮軟件設計中的可復用元素,采用產品化設計思想,設計通用軟件架構、可復用的構件、通用/專用功能模塊等,形成可復用元素體系,形成組織資產。

軟件架構設計時需要考慮支持軟件設計的工具鏈,支持軟件需求分析、設計實現、測試驗證等工程活動的實施。軟件研制工具鏈的建設是一個組織級系統工程,需要長期不斷地完善與維護。

1.2 軟件架構設計與航天器軟件研制流程結合

軟件需求分析階段,分析航天器軟件需求與軟件架構功能邏輯的對應關系、數據流運行結構、硬件環境接口關系等,明確軟件架構的功能模塊、可復用元素、軟件架構的裁剪情況、操作系統選擇等。軟件概要設計階段,明確軟件架構與其他模塊或者構件的接口連接關系,明確軟件架構的細化分層與主要功能,完成軟件任務劃分、任務的調度方法、任務間通信方式、軟件內外部接口等。軟件詳細設計階段,明確構件的選擇與裁剪情況、構件的連接方式、調用關系等,設計軟件架構未細化出的功能模塊,明確軟件各部分功能代碼的生成方式和組裝方式等。軟件編碼實現階段,將軟件架構的構件、通用/專用功能模塊、調用方式、配置數據等集成進入代碼,完成自動生成代碼與手工編寫代碼的組裝。軟件測試驗證階段,靜態代碼走查工作的重點確認軟件架構三要素,構件實現是否正確,連接件對應的邏輯關系是否準確清晰,配置約束是否便于功能模塊的組裝以及數據流的傳輸等;動態測試將基于軟件架構的軟件配置項裝載到目標機中進行全面測試;系統測試完成基于軟件架構的軟件配置項的航天器整器測試。具體過程如圖2所示。

圖2 與航天器軟件研制相結合的軟件架構設計過程Fig.2 Software architecture design process combined with spacecraft software development

2 深空探測器數據管理軟件架構設計

2.1 深空探測器數據管理軟件特點

數據管理軟件是深空探測器中的系統級軟件,除了完成傳統遙測、遙控等信息流傳輸與處理功能以外,其功能范圍已大幅擴展,包含了其他多個分系統的軟件功能,包括天線分系統、采樣封裝分系統等。

深空探測數據管理軟件的具體特征如下。

探測任務的未知因素多,功能需要經過多次更改才能確定狀態。探測器與地球站之間通信時延大,地球站通過遙控干預的能力有限,要求數據管理軟件的自主管理能力強。探測器多器間信息流傳輸鏈路復雜、傳輸模式多,各器間的通信模式會隨著探測器飛行階段的變化而變化。探測需要配置各種復雜機構來完成資源勘探、樣品采集等,數據管理軟件需要完成機構運動控制與自主采樣管理等功能。由于探測器的工作環境惡劣,例如火星表面的低溫環境、沙塵天氣等,通常要求數據管理軟件完成探測器系統級的、設備級的故障檢測與處置以及自主安全保護功能。

2.2 深空探測器數據管理軟件架構設計

深空探測器軟件架構設計的總體思路秉持產品化設計理念,即該軟件架構需要設計成一款深空領域通用的軟件架構,控制軟件技術狀態,提升軟件開發效率。

1)軟件架構的表示

軟件架構采用分層模型。硬件抽象層對各硬件模塊進行功能、接口描述,為上層提供訪問接口,上層通過各硬件抽象訪問底層硬件,實現底層硬件對上層應用的屏蔽。操作系統層完成任務調度、定時器管理、中斷管理等,支持上層軟件運行。構件服務層包括標準協議構件、通用功能模塊以及專用功能模塊,為上層應用提供訪問接口,支持上層應用完成相應的功能。應用層對用戶需求的直接體現,通過其下各層的支持,完成用戶的各項需求。分層結構圖主要用于軟件概要設計時,用來確認軟件的層次劃分,如圖3所示。

注:API為應用程序接口;BSP為板級支持包;UART為通用異步收發器;RAM為隨機存儲器;PROM為可編程只讀存儲器;FLASH為快閃存儲器。圖3 軟件架構的分層結構圖Fig.3 Layer structure diagram of software architecture

軟件架構的組裝接口圖主要用來表明軟件各部分的生成方式及組裝方法,指導軟件設計分別采取不同的方式完成各部分軟件設計及組裝。該圖主要用于軟件編碼實現時,用來支持完成對各種形式形成的軟件代碼的組裝,如圖4所示。

軟件功能項的主體部分由設計師設計并編碼實現,聯合軟件構件、通用功能模塊、硬件抽象、配置約束等一起編譯鏈接。軟件構件由工具自動從構件庫中提取庫文件并集成,源碼不可修改,各調用接口以頭文件形式提供。通用/專用功能模塊由工具從組織資產庫中提取源文件并集成,源碼不可修改,各調用接口以頭文件形式提供。硬件抽象由工具從組織資產庫中提取源文件并集成,進行適應性修改。配置約束由工具自動生成,包括配置參數、部分固化邏輯等,由工具自動集成。

各部分的生成及組裝方式示例見表1。

2)軟件架構模式

軟件架構模式是針對特定問題的可復用解決方案,通過特定的結構組合提升某方面的質量特性。選擇合適的架構模式解決問題就不用從零開始設計架構,從而避開諸多導致麻煩的陷阱[9]。

軟件任務之間采用消息隊列、功能接口函數等方式進行通信,與其他任務之間設計了約定格式的輸入和輸出接口,每個任務就是過濾器,任務間通信就是管道,每個任務從輸入接口讀取數據,完成數據處理后通過輸出接口輸出。例如,遙測采集任務將多次采集的模擬量遙測數據進行數字濾波處理,處理之后的模擬量遙測數據輸出給數據存儲與訪問任務,如圖5所示。

圖5 軟件架構的管道-過濾器模式示例Fig.5 An example of pipe-filter pattern for software architecture

軟件構件設計采用了面向對象思想,構件的實現體是具有一定功能的源程序,封裝了數據表示和基本操作,實現對外接口所提供的服務;構件的主結構體接口規定了構件對象的結構,封裝了本構件的變量以及子構件,提供本構件所有對外公開的服務,供用戶調用;構件的初始化接口規定了構件運行之前必須完成的初始化。構件用戶能夠通過構件主結構體定義新的構件實例,如圖6所示。

圖6 軟件架構的面向對象模式示例Fig.6 An example of object-oriented pattern for software architecture

軟件各功能的運行由探測器的相應事件觸發,包括地球站上注遙控事件以及探測器自主探測事件,軟件系統在接收或檢測到這些事件后對其進行處理,不同的事件輸入對應不同的輸出結果,例如軟件接收到地球站上注的機構運動目標位置后,完成運動路徑規劃并自主控制機構運動到目標位置,如圖7所示。

圖7 軟件架構的事件驅動模式示例Fig.7 An example of event-driven pattern for software architecture

3)軟件架構的復用元素

復用方式與復用級別:軟件架構是一種有效的復用形式,采用不同形式完成各項功能開發及組裝,形成完整軟件。操作系統通常采用配置項級產品化復用,操作系統以lib文件的形式引入;軟件構件通常采用模塊級產品化復用,軟件構件的邏輯代碼固化不變,各軟件根據需求完成構件的參數配置;軟件通用功能模塊通常采用模塊級復用,各軟件完成參數配置并設計相應的調用邏輯和時序;硬件抽象通常采用模塊級復用,完成對底層硬件的抽象,實現對底層硬件的訪問。

復用類型與適用范圍:根據軟件架構的復用元素的功能特點不同,各種復用元素的適用范圍不同,操作系統軟件適用于所有應用軟件,遙測、遙控相關構件適用于所有應用軟件,健康管理模塊適用于所有應用軟件,遙測采集抽象適用于所有應用軟件,熱控管理模塊適用于包含熱控管理功能的應用軟件,機構運動管理模塊適用于包含機構運動控制管理的應用軟件等,各種復用元素的規模約29000行代碼。

深空探測器數據管理軟件架構的復用特性示例見表2。

表2 軟件架構的復用特性示例Table 2 Examples ofreuse features of software architecture

復用元素的管理:操作系統軟件入組織資產庫,各任務應用時從組織資產庫中提取lib文件,源代碼對軟件人員不可見,以控制操作系統技術狀態。軟件構件和通用/專用模塊入組織資產庫,各任務從庫中提取源代碼,但不可更改,如果需要修改,則由專人按照軟件更動的流程進行更改升級,并通知所有任務分析決策是否需要更換新版構件等。軟件通用功能以測試腳本的形式入測試用例庫,各任務應用時出庫并按照任務參數進行配置更改。

4)軟件架構配套工具鏈

本軟件架構配套工具鏈包括以下幾方面:

電子信息接口數據管理系統(EDS),完成航天器系統信息流設計,包括遙測信息、遙控信息、總線通信信息等,作為數據管理軟件研制的輸入。數據管理軟件需求結構化工具(Ereq),支持EDS信息流數據的輸入,完成數據管理軟件需求的結構化描述,并基于結構化需求實現軟件功能的代碼生成。向導式軟件集成開發環境(EIDE),完成軟件工程向導式創建與編譯調試、軟件功能代碼自動組裝等。數字化仿真平臺(Esim),為軟件開發、測試提供航天器數據管理計算機的軟件模擬,支持多樣故障模擬。軟件單元測試工具(Eunit),具備測試用例自動生成、執行以及判讀比對能力。軟件通用自動化測試平臺(Etest),具備基于模板的測試用例批量自動生成、執行以及判讀比對能力,支持數據管理軟件確認測試與分系統測試。工具鏈對軟件研制流程各階段的支持情況如圖8所示。

圖8 軟件研制的工具鏈Fig.8 Tool chain of software development

3 應用驗證

我國某深空探測器系統由多器組成,在研制過程中各器數據管理軟件均應用本文研究的深空探測器數據管理軟件架構,實現各器數據管理軟件架構統一、軟件任務劃分與調度時序統一、相同功能的設計實現與組裝方式統一,有效控制各器數據管理軟件技術狀態,實現軟件缺陷率下降15%。基于該通用軟件架構的軟件研制過程中,應用工具鏈自動生成、組裝部分功能,實現軟件配置項復用率由以往類似軟件的27%提升到56%。

隨著數據管理軟件功能越來越復雜、規模越來越大,軟件架構的作用越來越重要,適當的軟件架構能夠較好地適應不同任務的需求變化,具有較好地可擴展性和可移植性。軟件架構的概念比較抽象,國內外尚沒有比較權威的理論說明軟件架構應該詳細包含什么內容以及各項內容的顆粒度,軟件架構設計是軟件研制流程中基于軟件系統需求分析結果的頂層設計,由于不同的軟件功能與配置環境等均存在細節差異,如果軟件架構過于深入到軟件功能的實現細節層面,那么該軟件架構的適用范圍將被限制在較小的范圍里,因此,軟件架構設計通常表征分層結構、層內業務模塊以及層間、模塊間的訪問關系、訪問模式,不同的軟件通過修改、更換業務模塊或模塊接口等形式來適應,從國內外相關行業軟件架構也能看出這一點。

本軟件架構具有以下幾方面設計特征。

(1)深空探測數據管理軟件的特征功能獨立封裝,具有較強的適用性。從底層硬件抽象到上層應用,均進行了獨立封裝,便于不同任務進行擴展、移植或刪除,不影響軟件架構的適用性。

(2)可行的軟件功能生成與組裝方式。軟件功能項、通用功能模塊、軟件構件、硬件抽象等均明確了相應代碼的生成與組裝方式,包括傳統人工編碼方式、工具自動生成代碼并組裝等,對不同任務的軟件開發人員具有較強的指導性。

(3)全面復用組織資產的軟件產品。軟件架構設計很重要的一項作用是協助組織提升軟件研制能力。本軟件架構的軟件構件、通用功能模塊等均復用組織資產庫中的產品化產品,有效控制任務軟件技術狀態。

本軟件架構的不足之處,在于構件服務層的構件化率還不夠高,還存在較多非構件設計約束的傳統功能模塊,后續軟件架構還需要繼續擴大構件覆蓋范圍并提升構件化率。

4 討論與展望

隨著深空探測器智能自主管理需求以及宇航級計算能力的不斷提升,軟件架構將迎來兩方面大的發展。首先,支持在地球站極少遙控干預的情況下,探測器在地外天體更加自主的完成探測任務,智能化程度更高,這就要求軟件架構本身需要擴展智能自主管理功能,包括頂層智能自主管理功能、中間智能自主管理構件以及底層高性能計算單元抽象等;其次,隨著軟件功能更加復雜、規模更大,甚至巨型軟件成為常態,需要切實提升軟件開發配套工具的支持力度,不僅要求工具能夠自動生成更多的軟件代碼,也要能夠自動完成對軟件的深度缺陷與故障檢測、軟件安全性分析與驗證等,工具能力的提升需要軟件架構的適當調整,軟件架構設計之初就需要考慮與工具的銜接與匹配。

5 結束語

本文針對深空探測數據管理軟件特點,設計了一種深空探測數據管理軟件架構,規定了軟件架構的分層結構、各部分業務功能的生成及組裝方式等,采用了多種不同的模式來更恰當的表示軟件架構,有效控制了深空探測器數據管理軟件技術狀態,提升了軟件各部分功能的復用率,在軟件技術狀態約束、多種復用方式與復用元素支持前提下,通過配套工具鏈的應用有效提升了軟件開發效率。

猜你喜歡
功能模塊功能設計
也談詩的“功能”
中華詩詞(2022年6期)2022-12-31 06:41:24
瞞天過海——仿生設計萌到家
藝術啟蒙(2018年7期)2018-08-23 09:14:18
設計秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
關于非首都功能疏解的幾點思考
有種設計叫而專
Coco薇(2017年5期)2017-06-05 08:53:16
基于ASP.NET標準的采購管理系統研究
軟件導刊(2016年9期)2016-11-07 21:35:42
輸電線路附著物測算系統測算功能模塊的研究
M市石油裝備公服平臺網站主要功能模塊設計與實現
石油知識(2016年2期)2016-02-28 16:20:16
功能模塊的設計與應用研究
中西醫結合治療甲狀腺功能亢進癥31例
主站蜘蛛池模板: 欧美性爱精品一区二区三区| 在线视频亚洲色图| 性做久久久久久久免费看| 四虎影视国产精品| 欧美成人二区| 亚洲丝袜中文字幕| 国产精品一区不卡| 91精品啪在线观看国产60岁 | 亚洲精品欧美日本中文字幕| 在线观看无码av五月花| 欧美精品亚洲精品日韩专区| 免费a级毛片18以上观看精品| 试看120秒男女啪啪免费| 亚洲日韩在线满18点击进入| 午夜欧美理论2019理论| 欧美精品成人| 天天综合网色中文字幕| 亚洲色图综合在线| 黄色网页在线播放| 99re在线视频观看| 国产一区在线视频观看| 亚洲香蕉伊综合在人在线| 亚洲精品你懂的| 午夜国产精品视频| 黄色网在线免费观看| 一级毛片无毒不卡直接观看| 99国产在线视频| 免费大黄网站在线观看| 在线播放91| 91久草视频| 在线亚洲天堂| 免费99精品国产自在现线| 国产精品福利导航| 中文字幕无码中文字幕有码在线 | 亚洲人免费视频| 全部毛片免费看| 国产一区二区三区精品欧美日韩| 日韩视频精品在线| 网久久综合| 国产精品无码AⅤ在线观看播放| AV老司机AV天堂| 国产迷奸在线看| 亚洲第一黄色网址| 天堂av综合网| 亚洲成人黄色在线| 国产成人h在线观看网站站| 欧美另类第一页| 久久久久亚洲AV成人网站软件| 色噜噜在线观看| 99在线观看免费视频| 欧美日韩va| 成人日韩欧美| www成人国产在线观看网站| 亚洲精品va| 92午夜福利影院一区二区三区| 精品国产成人高清在线| 久久伊人操| 91色在线观看| 热九九精品| 精品视频福利| 免费xxxxx在线观看网站| 国产精品私拍在线爆乳| 国产乱子伦手机在线| 亚洲午夜国产精品无卡| 波多野结衣无码中文字幕在线观看一区二区 | 国产麻豆91网在线看| 一本大道在线一本久道| av在线无码浏览| 青草91视频免费观看| 久久99国产乱子伦精品免| 露脸真实国语乱在线观看| 中文字幕第4页| 欧美国产精品不卡在线观看| 欧美激情伊人| 91外围女在线观看| 波多野结衣第一页| 亚洲日韩第九十九页| 又黄又湿又爽的视频| 国产麻豆精品久久一二三| 成人综合久久综合| 天堂岛国av无码免费无禁网站 | 夜夜操狠狠操|