機(jī)載軟件的安全性是一個(gè)永不過時(shí)的話題,通常我們都會(huì)從系統(tǒng)架構(gòu)、故障保護(hù)、冗余備份等技術(shù)層面來考慮這個(gè)問題,但是當(dāng)面對民用航空特別是大型民用飛機(jī)嚴(yán)格的適航性要求時(shí),僅僅擁有技術(shù)上的保障是遠(yuǎn)遠(yuǎn)不夠的。我們需要換個(gè)角度來思考設(shè)計(jì)方法、設(shè)計(jì)流程、設(shè)計(jì)工具以及設(shè)計(jì)管理等方面的問題。我們有能力設(shè)計(jì)出優(yōu)秀的系統(tǒng)和算法,但是如果設(shè)計(jì)過程不可靠或者即使是可靠的我們卻無法證明,我們研制的飛機(jī)在國際市場的競爭中會(huì)受到極大的挑戰(zhàn)。
基于模型設(shè)計(jì)(Model Based Design,簡稱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),對MBD相關(guān)的目標(biāo)和輸出都進(jìn)行了詳細(xì)的定義,可以從適航標(biāo)準(zhǔn)的發(fā)展看到MBD必然成為機(jī)載軟件設(shè)計(jì)的行業(yè)趨勢,采用MBD對于機(jī)載軟件的適航取證也是最為有效的。
MBD設(shè)計(jì)思想
MBD總體講是一種設(shè)計(jì)思想或者設(shè)計(jì)方法,具體講就是MBD的流程、工具與平臺(tái)。顧名思義,MBD的核心是模型,也就是我們通常所說的Simulink模型,圍繞模型,MBD思想中包括以下四個(gè)關(guān)鍵要素:可執(zhí)行的需求描述、仿真環(huán)境下的設(shè)計(jì)、由模型自動(dòng)生成的代碼和貫穿始終持續(xù)性的驗(yàn)證。
MBD關(guān)鍵要素
看似非常簡單的四句話,但每一個(gè)要素都深刻反映著對傳統(tǒng)設(shè)計(jì)流程的改進(jìn)。在MBD中,傳遞信息的載體已經(jīng)不僅僅是文檔,而是可以圖形化表述并且產(chǎn)生運(yùn)行結(jié)果的模型;設(shè)計(jì)過程不再是靜態(tài)的或者依賴于眾多硬件環(huán)境的方式,而是可以通過仿真快速設(shè)計(jì)和修改的多輪次迭代設(shè)計(jì)過程;模型可以自動(dòng)生成更加標(biāo)準(zhǔn)化的源代碼,使設(shè)計(jì)師從繁瑣的手寫編碼中解脫出來;驗(yàn)證不再需要等到編碼完成之后的系統(tǒng)集成時(shí),而是在模型設(shè)計(jì)階段就開始早期的驗(yàn)證,將設(shè)計(jì)缺陷發(fā)現(xiàn)并解決于早期,有助于系統(tǒng)設(shè)計(jì)質(zhì)量的提高和成本的降低。
需要特別說明的一點(diǎn),大家有時(shí)會(huì)認(rèn)為MBD僅僅是設(shè)計(jì)層面的事情,對于軟件的實(shí)現(xiàn)和驗(yàn)證似乎還涉及不到,這主要是由于大家對MATLAB/Simulink的認(rèn)識(shí)還停留在仿真工具的層面造成的。從上述的四個(gè)關(guān)鍵點(diǎn)不難看出,我們所講的MBD,不僅僅局限于基本的設(shè)計(jì)范疇,已經(jīng)擴(kuò)展到實(shí)施甚至驗(yàn)證的范疇。也就是說完整的MATLAB/Simulink工具鏈不僅僅是仿真工具,而是涵蓋了建模、仿真、代碼生成、驗(yàn)證與確認(rèn)、項(xiàng)目管理、文檔管理、工具定制和適航認(rèn)證等多種功能的全流程綜合性系統(tǒng)設(shè)計(jì)平臺(tái)。
國內(nèi)機(jī)載軟件研制存在問題
國內(nèi)飛機(jī)設(shè)計(jì)單位大多仍在沿用傳統(tǒng)的軟件設(shè)計(jì)流程,雖然越來越多的單位正在積極嘗試MBD流程,但總體來講仍然處于MBD能力建設(shè)的初級(jí)階段,對于MATLAB/Simulink工具鏈的應(yīng)用還處于從算法仿真向自動(dòng)代碼生成和模型早期驗(yàn)證的過渡階段。工具的應(yīng)用需要與流程有效集成才能發(fā)揮其最大的效用,傳統(tǒng)的設(shè)計(jì)流程過于粗放,采用MBD需要重新構(gòu)建詳細(xì)的可執(zhí)行流程,并配合相應(yīng)的工具集成與定制,這是機(jī)載軟件研制過程改進(jìn)中的重點(diǎn)和難點(diǎn)。
對于傳統(tǒng)設(shè)計(jì)流程的改進(jìn)目前存在以下具體問題:對應(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徒换ィ胁块T將圍繞共同的模型開展工作;需要重新定義不同工程師的工作重心,如控制工程師的工作將從單純的需求定義和算法設(shè)計(jì)擴(kuò)展延伸到代碼的生成和模型驗(yàn)證,而軟件工程師的工作將重點(diǎn)關(guān)注在軟件架構(gòu)、代碼生成工具配置及代碼的生成、底層軟件開發(fā)以及系統(tǒng)集成等。
當(dāng)前國內(nèi)飛機(jī)設(shè)計(jì)單位型號(hào)多、任務(wù)緊、人員少的客觀現(xiàn)實(shí)造成流程改進(jìn)的優(yōu)先級(jí)不高,從而進(jìn)展緩慢。但是值得一提的是,越來越多的單位已經(jīng)意識(shí)到了MBD的必要性,并且已經(jīng)開始了積極的嘗試。
MBD確保設(shè)計(jì)符合適航標(biāo)準(zhǔn)
MBD可以從流程、工具和平臺(tái)三個(gè)層面來考慮,流程是靈魂,工具是骨骼,平臺(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í)等問題。
設(shè)計(jì)環(huán)節(jié)基于高層需求進(jìn)行模型的設(shè)計(jì),在模型設(shè)計(jì)過程中可以不斷通過仿真檢驗(yàn)設(shè)計(jì)結(jié)果從而反復(fù)迭代優(yōu)化設(shè)計(jì)。模型所代替的就是傳統(tǒng)設(shè)計(jì)流程中詳細(xì)設(shè)計(jì)文檔。實(shí)施環(huán)節(jié)通過自動(dòng)生成代碼實(shí)現(xiàn)從設(shè)計(jì)(Design)到實(shí)施(Implementation)的過渡。這樣極大地簡化傳統(tǒng)設(shè)計(jì)流程中多次建模的重復(fù)勞動(dòng),使工程師可以更加專注于各自的專業(yè)。驗(yàn)證環(huán)節(jié)是貫穿于項(xiàng)目始終的,這在傳統(tǒng)設(shè)計(jì)流程中是很難實(shí)現(xiàn)的,特別是在模型設(shè)計(jì)階段,就可以開展針對設(shè)計(jì)的基于需求的功能性測試,以及模型的覆蓋率測試,而且早期驗(yàn)證的測試用例可以在代碼驗(yàn)證階段得到重用。驗(yàn)證環(huán)節(jié)最為重要的是完整性,在這個(gè)環(huán)節(jié)中每一個(gè)驗(yàn)證活動(dòng)都會(huì)對應(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ǔ)是流程的存在。對應(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)
微流程
這是相對于總體流程來講的,也是國內(nèi)飛機(jī)設(shè)計(jì)單位最容易忽視的部分。我們每個(gè)管理者和工程師都可以很容易的描述出軟件開發(fā)的“V”流程,對于MBD的總體流程也比較容易理解,但是工程師真正坐在電腦前開始工作時(shí)卻往往會(huì)陷入無從下手的境地,從哪里獲取需求,創(chuàng)建模型有什么要求,完成設(shè)計(jì)后需要提交什么內(nèi)容、提交到哪里,提交前需要做那些檢查,發(fā)現(xiàn)了問題有誰來更改、在那個(gè)版本更改等等這些具體的問題都需要通過微流程定義出來。
微流程可以理解為可執(zhí)行的流程,對于項(xiàng)目中各個(gè)角色(如項(xiàng)目經(jīng)理、開發(fā)工程師、驗(yàn)證工程師等)各個(gè)環(huán)節(jié)(如模型設(shè)計(jì)、模型驗(yàn)證、問題追蹤等)的具體操作,使用的工具和配置,以及每個(gè)環(huán)節(jié)的輸入輸出都有明確的定義,所有項(xiàng)目成員都是在統(tǒng)一的微流程指導(dǎo)下進(jìn)行工作,這對于項(xiàng)目團(tuán)隊(duì)的協(xié)作至關(guān)重要,也是真正實(shí)現(xiàn)MBD的關(guān)鍵所在。
-
嵌入式系統(tǒng)
+關(guān)注
關(guān)注
41文章
3645瀏覽量
130092 -
自動(dòng)化
+關(guān)注
關(guān)注
29文章
5677瀏覽量
80146 -
模型
+關(guān)注
關(guān)注
1文章
3415瀏覽量
49476
發(fā)布評(píng)論請先 登錄
相關(guān)推薦
基于液壓系統(tǒng)模型的電機(jī)控制
IEC 60947-2用于充電樁漏電流保護(hù)標(biāo)準(zhǔn)認(rèn)證的可行性分析

AN-0974: TD-SCMA多載波系統(tǒng)可行性研究

芯片的失效性分析與應(yīng)對方法

關(guān)于電氣火災(zāi)監(jiān)控系統(tǒng)與電氣火災(zāi)防護(hù)在實(shí)際應(yīng)用中的可行性分析

服務(wù)器數(shù)據(jù)恢復(fù)—LINUX系統(tǒng)刪除/格式化的數(shù)據(jù)恢復(fù)可行性分析
基于LIBS的馬鈴薯中鉻元素定量分析方法研究

單CPU 雙項(xiàng)目開發(fā)實(shí)現(xiàn)更好的維護(hù)性和可行性應(yīng)用說明

人臉識(shí)別技術(shù)的可行性在于矛盾具有什么性
振弦采集儀在巖土工程地質(zhì)災(zāi)害監(jiān)測中的可行性研究

關(guān)于電化學(xué)儲(chǔ)能的BMS可行性方案
振弦采集儀在地下水位監(jiān)測中的可行性研究與實(shí)踐

高壓探頭測量相間電壓的可行性與注意事項(xiàng)

評(píng)論