當前位置:
首頁 > 最新 > 基於模型的嵌入式軟體開發模式

基於模型的嵌入式軟體開發模式

近幾年來航天型號產品呈現跨越式的發展,新時期航天產品重要技術特徵之一便是產品硬體更新迭代周期太長,產品技術進步越來越依賴於系統演算法設計、軟體開發水平。

而如何能夠在硬體平台上,快速高效的開發出滿足航天系統安全性與可靠性要求的專用嵌入式軟體成為了制約嵌入式技術應用的瓶頸。

目前,在航天系統,型號嵌入式軟體研發過程中往往需要投入大量的人力、時間進行系統設計、演算法開發、建模、模擬計算、數據處理、代碼實現、產品實現及相關驗證等工作,同時控制系統演算法、電路、軟體等不同專業之間的協作也無法順暢進行。

導致上述問題有以下幾個重要原因:

1軟體設計與實現不同部門,專業協同困難

型號專業室、軟體室兩部門分別負責演算法設計、軟體編碼實現,專業設計師前期工作中論證結果、模擬結果、分析結果往往僅作為部門內部設計結果的產物而存在,無法作為後續軟體室工作環節的直接輸入;專業室將軟體研製任務書以紙質文檔形式交付給軟體室,功能、需求描述不清晰,且傳遞信息有限。此外除對自身演算法設計進行描述外還要增加許多軟體專業相關的技術要求,存在專業障礙,易造成理解錯誤,部門溝通不順暢。

2軟體編碼依賴於硬體

軟體室設計師在硬體到位前難以開展軟體編碼工作,導致軟體編碼人員只能通過「加班加點」的方式完成工作,效率不高,難以保障型號任務節點要求。

3系統問題難分解

在型號系統聯試過程中出現的問題,難以對設計和軟體編碼兩種因素進行分解,排查問題需要兩個部門相關人員共同參與,同時問題的修改周期長,效率低。

4 設計重用、自動化程度低

目前大多數型號的軟體重用庫中,可重用軟體以設計文檔、C代碼形式存在,設計文檔與C代碼一致性無法保障,設計師在進行設計重用時需要花大量時間去閱讀文檔、分析代碼,難度較大,導致重用庫未能發揮其重要作用。同時,軟體開發過程中需要編寫大量設計文檔,無工具輔助,編寫過程工作量大,自動化程度低。

基於模型的嵌入式軟體開發

在國外,一些先進的企業例如洛克希德-馬丁已經著手進行跨專業,跨部門的協同設計、模擬、實驗工作,並在飛機研製過程中建立基於產品虛擬樣機(模型)的型號數據流轉、分享、管控機制,通過圍繞基於模型的產品虛擬樣機來開展數字化的系統架構定義、方案設計、產品實現、測試、驗證與模擬等數工作,從而大幅度提升產品的研製效率。

基於模型的設計方法/流程從頂至下為項目研發的四個階段,依次為預研及項目需求、演算法設計階段、演算法實現階段和集成驗證階段。各階段說明分別如下:

項目需求階段

從項目需求階段就建立一套可執行的模型,使與紙質需求書逐項對應;模型可通過Simulink V&V工具與需求文檔進行鏈接,Simulink可自動生成模型和需求雙向追溯的報告。

演算法設計階段

在演算法設計階段,逐步細化模型,模擬驗證演算法在不同環境下的性能;

對設計模型進行模型規範檢查,保證模型符合軟體設計標準,同時也對模型的代碼生成屬性及對硬體的兼容性進行早期驗證;模型自動生成相關測試用例、測試覆蓋度報告,可搭建自動化測試流程,使模型測試和診斷自動進行並生成測試報告。

演算法實現階段

與傳統手工編碼不同,採用基於模型設計的方法,可以直接從模型中自動生成用於 FPGA/DSP的 HDL/C代碼,所生成代碼與模型具有良好的追溯關係。同時,通過Simulink Code Inspector或者軟體在環的方式,進行代碼與模型的一致性測試。

集成/驗證階段

從模型中直接生成用於 FPGA/DSP硬體在環測試的測試平台和測試用例。該過程對源碼和目標碼進行編譯、鏈接,並載入到嵌入式系統中。代碼集成可將驅動代碼封裝成Simulink模塊,使用Simulink自動集成第三方編譯器直接生成可執行文件,載入到目標嵌入式硬體中。

以基於模型的方式來設計項目,即實現以模型創建需求、以模型設計演算法、以模型自動生成代碼及以模型自動測試/驗證。

利用自動代碼生成技術可以大幅改進嵌入式系統設計和開發的流程。具體的模型和代碼雙向追溯分析可識別出手工代碼審核不能發現的問題。得到的結構一致性和可追溯性報告被歸檔以便於對符合性進行審計。

總結:

基於模型的嵌入式軟體開發模式可減少人工代碼引入的錯誤,大幅提高設計的效率與可靠性,大幅節約手工編碼時間,使系統工程師可以將精力更多的放在提高和改進演算法性能上,軟體設計師專註於軟體架構設計上,減少手工編碼和測試驗證所消耗的精力。便於規範化、標準化演算法模塊的復用,大幅降低後續項目開發的時間成本。


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 全球大搜羅 的精彩文章:

優秀二胎家長要讀哪些「乾貨」書?
最動人的情話就是:你不開心就欺負我好嘍,反正我那麼喜歡你

TAG:全球大搜羅 |