電子產(chǎn)業(yè)一站式賦能平臺

PCB聯(lián)盟網(wǎng)

搜索
查看: 1440|回復: 1
收起左側(cè)

學linuz嵌入式_關(guān)于采用基于模型設(shè)計應對機載軟件設(shè)計的可行性分析和應用

[復制鏈接]

2607

主題

2607

帖子

7472

積分

高級會員

Rank: 5Rank: 5

積分
7472
跳轉(zhuǎn)到指定樓層
樓主
發(fā)表于 2020-7-23 12:10:33 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
學linuz嵌入式_關(guān)于采用基于模型設(shè)計應對機載軟件設(shè)計的可行性分析和應用,   

機載軟件的安全性是一個永不過時的話題,通常我們都會從系統(tǒng)架構(gòu)、故障保護、冗余備份等技術(shù)層面來考慮這個問題,但是當面對民用航空特別是大型民用飛機嚴格的適航性要求時,僅僅擁有技術(shù)上的保障是遠遠不夠的。我們需要換個角度來思考設(shè)計方法、設(shè)計流程、設(shè)計工具以及設(shè)計管理等方面的問題。我們有能力設(shè)計出優(yōu)秀的系統(tǒng)和算法,但是如果設(shè)計過程不可靠或者即使是可靠的我們卻無法證明,我們研制的飛機在國際市場的競爭中會受到極大的挑戰(zhàn)。

基于模型設(shè)計(Model Based Design,簡稱MBD)是開發(fā)復雜控制系統(tǒng)和嵌入式系統(tǒng)的有效途徑。邁斯沃克(MathWorks)公司為MBD提供了完整的MATLAB/Simulink工具鏈,在眾多行業(yè)特別是航空航天領(lǐng)域已經(jīng)得到了廣泛的應用,在飛行控制系統(tǒng)、發(fā)動機控制系統(tǒng)以及機載航電系統(tǒng)的設(shè)計中,已被霍尼韋爾和貝爾直升機等航空企業(yè)所采用。

在最新發(fā)布的DO-178C標準中,MBD以附件DO-331的形式出現(xiàn),對MBD相關(guān)的目標和輸出都進行了詳細的定義,可以從適航標準的發(fā)展看到MBD必然成為機載軟件設(shè)計的行業(yè)趨勢,采用MBD對于機載軟件的適航取證也是最為有效的。

MBD設(shè)計思想

MBD總體講是一種設(shè)計思想或者設(shè)計方法,具體講就是MBD的流程、工具與平臺。顧名思義,MBD的核心是模型,也就是我們通常所說的Simulink模型,圍繞模型,MBD思想中包括以下四個關(guān)鍵要素:可執(zhí)行的需求描述、仿真環(huán)境下的設(shè)計、由模型自動生成的代碼和貫穿始終持續(xù)性的驗證。

  

MBD關(guān)鍵要素

看似非常簡單的四句話,但每一個要素都深刻反映著對傳統(tǒng)設(shè)計流程的改進。在MBD中,傳遞信息的載體已經(jīng)不僅僅是文檔,而是可以圖形化表述并且產(chǎn)生運行結(jié)果的模型;設(shè)計過程不再是靜態(tài)的或者依賴于眾多硬件環(huán)境的方式,而是可以通過仿真快速設(shè)計和修改的多輪次迭代設(shè)計過程;模型可以自動生成更加標準化的源代碼,使設(shè)計師從繁瑣的手寫編碼中解脫出來;驗證不再需要等到編碼完成之后的系統(tǒng)集成時,而是在模型設(shè)計階段就開始早期的驗證,將設(shè)計缺陷發(fā)現(xiàn)并解決于早期,有助于系統(tǒng)設(shè)計質(zhì)量的提高和成本的降低。

需要特別說明的一點,大家有時會認為MBD僅僅是設(shè)計層面的事情,對于軟件的實現(xiàn)和驗證似乎還涉及不到,這主要是由于大家對MATLAB/Simulink的認識還停留在仿真工具的層面造成的。從上述的四個關(guān)鍵點不難看出,我們所講的MBD,不僅僅局限于基本的設(shè)計范疇,已經(jīng)擴展到實施甚至驗證的范疇。也就是說完整的MATLAB/Simulink工具鏈不僅僅是仿真工具,而是涵蓋了建模、仿真、代碼生成、驗證與確認、項目管理、文檔管理、工具定制和適航認證等多種功能的全流程綜合性系統(tǒng)設(shè)計平臺。

國內(nèi)機載軟件研制存在問題

國內(nèi)飛機設(shè)計單位大多仍在沿用傳統(tǒng)的軟件設(shè)計流程,雖然越來越多的單位正在積極嘗試MBD流程,但總體來講仍然處于MBD能力建設(shè)的初級階段,對于MATLAB/Simulink工具鏈的應用還處于從算法仿真向自動代碼生成和模型早期驗證的過渡階段。工具的應用需要與流程有效集成才能發(fā)揮其最大的效用,傳統(tǒng)的設(shè)計流程過于粗放,采用MBD需要重新構(gòu)建詳細的可執(zhí)行流程,并配合相應的工具集成與定制,這是機載軟件研制過程改進中的重點和難點。

對于傳統(tǒng)設(shè)計流程的改進目前存在以下具體問題:對應DO-178B要求,傳統(tǒng)設(shè)計流程多項驗證環(huán)節(jié)缺失,想要實現(xiàn)全部環(huán)節(jié)需要巨大的工作量。如若采用MBD流程,設(shè)計單位需要提高工程師的能力,如需求定義能力、建模能力、代碼生成能力等;需要改變部門間的工作接口,由傳統(tǒng)的文檔交互變?yōu)槟P徒换,所有部門將圍繞共同的模型開展工作;需要重新定義不同工程師的工作重心,如控制工程師的工作將從單純的需求定義和算法設(shè)計擴展延伸到代碼的生成和模型驗證,而軟件工程師的工作將重點關(guān)注在軟件架構(gòu)、代碼生成工具配置及代碼的生成、底層軟件開發(fā)以及系統(tǒng)集成等。

當前國內(nèi)飛機設(shè)計單位型號多、任務緊、人員少的客觀現(xiàn)實造成流程改進的優(yōu)先級不高,從而進展緩慢。但是值得一提的是,越來越多的單位已經(jīng)意識到了MBD的必要性,并且已經(jīng)開始了積極的嘗試。

MBD確保設(shè)計符合適航標準

MBD可以從流程、工具和平臺三個層面來考慮,流程是靈魂,工具是骨骼,平臺是軀干,三者融為一體才能發(fā)揮最大的效用。首先需要建立基于模型的設(shè)計開發(fā)和驗證流程,然后選用合適的工具輔助流程的實現(xiàn),最后進行工具和流程的集成從而構(gòu)建組織統(tǒng)一的工作平臺。

  

MBD設(shè)計技術(shù)路線

總體流程

相比傳統(tǒng)的控制系統(tǒng)開發(fā)流程,MBD流程在完整性上得到很大的提升,包含了設(shè)計環(huán)節(jié)、實施環(huán)節(jié)、驗證環(huán)節(jié)等,解決了傳統(tǒng)設(shè)計流程中需求理解差異、早期驗證困難、代碼編寫耗時等問題。

設(shè)計環(huán)節(jié)基于高層需求進行模型的設(shè)計,在模型設(shè)計過程中可以不斷通過仿真檢驗設(shè)計結(jié)果從而反復迭代優(yōu)化設(shè)計。模型所代替的就是傳統(tǒng)設(shè)計流程中詳細設(shè)計文檔。實施環(huán)節(jié)通過自動生成代碼實現(xiàn)從設(shè)計(Design)到實施(Implementation)的過渡。這樣極大地簡化傳統(tǒng)設(shè)計流程中多次建模的重復勞動,使工程師可以更加專注于各自的專業(yè)。驗證環(huán)節(jié)是貫穿于項目始終的,這在傳統(tǒng)設(shè)計流程中是很難實現(xiàn)的,特別是在模型設(shè)計階段,就可以開展針對設(shè)計的基于需求的功能性測試,以及模型的覆蓋率測試,而且早期驗證的測試用例可以在代碼驗證階段得到重用。驗證環(huán)節(jié)最為重要的是完整性,在這個環(huán)節(jié)中每一個驗證活動都會對應DO-178B中的具體條款,保證符合標準的前提下滿足系統(tǒng)的安全性要求。

  

MBD符合DO-178B/C流程

(注:粗實線代表設(shè)計環(huán)節(jié);細實線代表實施環(huán)節(jié);虛線代表驗證環(huán)節(jié))

工具平臺

工具的價值在于實現(xiàn)工作流程,減少手工勞動,提高工作效率,工具應用的基礎(chǔ)是流程的存在。對應MBD符合DO-178B/C的流程,MATLAB/Simulink完整的工具鏈在每個環(huán)節(jié)都有相應的工具輔助實現(xiàn)這個流程,并且產(chǎn)生DO-178B/C要求的各類輸出結(jié)果。

MATLAB/Simulink本身也是一個開放的工具開發(fā)環(huán)境,提供了各類工具以及其它外部工具(如DOORS、LDRA、SVN等)的接口。在MATLAB/Simulink的平臺下,結(jié)合用戶定義的詳細流程,可以方便的將各類設(shè)計、仿真、開發(fā)和驗證工具集成在一起,也可以定制開發(fā)相關(guān)的自動化腳本、規(guī)范檢查項以及標準報告模版等,構(gòu)建統(tǒng)一的MBD工作平臺。

  

MBD符合DO-178B/CMATLAB/Simulink工具平臺

(注:SLVNV代表工具Simulink Verification and Validation)

微流程

這是相對于總體流程來講的,也是國內(nèi)飛機設(shè)計單位最容易忽視的部分。我們每個管理者和工程師都可以很容易的描述出軟件開發(fā)的“V”流程,對于MBD的總體流程也比較容易理解,但是工程師真正坐在電腦前開始工作時卻往往會陷入無從下手的境地,從哪里獲取需求,創(chuàng)建模型有什么要求,完成設(shè)計后需要提交什么內(nèi)容、提交到哪里,提交前需要做那些檢查,發(fā)現(xiàn)了問題有誰來更改、在那個版本更改等等這些具體的問題都需要通過微流程定義出來。

微流程可以理解為可執(zhí)行的流程,對于項目中各個角色(如項目經(jīng)理、開發(fā)工程師、驗證工程師等)各個環(huán)節(jié)(如模型設(shè)計、模型驗證、問題追蹤等)的具體操作,使用的工具和配置,以及每個環(huán)節(jié)的輸入輸出都有明確的定義,所有項目成員都是在統(tǒng)一的微流程指導下進行工作,這對于項目團隊的協(xié)作至關(guān)重要,也是真正實現(xiàn)MBD的關(guān)鍵所在。
回復

使用道具 舉報

發(fā)表回復

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則


聯(lián)系客服 關(guān)注微信 下載APP 返回頂部 返回列表