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

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

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

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

[復(fù)制鏈接]

2607

主題

2607

帖子

7472

積分

高級(jí)會(huì)員

Rank: 5Rank: 5

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

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

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

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

MBD設(shè)計(jì)思想

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

  

MBD關(guān)鍵要素

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

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

國(guó)內(nèi)機(jī)載軟件研制存在問(wèn)題

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

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

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

MBD確保設(shè)計(jì)符合適航標(biāo)準(zhǔn)

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

  

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

總體流程

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

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

  

MBD符合DO-178B/C流程

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

工具平臺(tái)

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

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

  

MBD符合DO-178B/CMATLAB/Simulink工具平臺(tái)

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

微流程

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

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

發(fā)表回復(fù)

本版積分規(guī)則


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