為什么ISO26262這樣的國(guó)際標(biāo)準(zhǔn)里會(huì)頻頻提到基于模型設(shè)計(jì)?
原因非常簡(jiǎn)單——基于模型設(shè)計(jì)在汽車(chē)行業(yè)已經(jīng)被廣泛應(yīng)用了。作為國(guó)際標(biāo)準(zhǔn),ISO26262的目的之一應(yīng)該是通過(guò)標(biāo)準(zhǔn)的方式規(guī)范行業(yè)開(kāi)發(fā)行為,所以制定標(biāo)準(zhǔn)的基礎(chǔ)就是這種開(kāi)發(fā)行為在行業(yè)的廣泛應(yīng)用。這在民航領(lǐng)域的DO-178也可以得到印證,早在1992年發(fā)布的DO-178B,標(biāo)準(zhǔn)里沒(méi)有任何關(guān)于基于模型設(shè)計(jì)的討論——因?yàn)槟莻€(gè)年代沒(méi)有公司使用基于模型設(shè)計(jì)開(kāi)發(fā)民航軟件,而到2011年發(fā)布DO-178C的時(shí)候,同時(shí)發(fā)布了附件DO-331專(zhuān)門(mén)討論基于模型的設(shè)計(jì)在民航軟件開(kāi)發(fā)中的應(yīng)用,因?yàn)樵?011年,基于模型設(shè)計(jì)已經(jīng)在民航領(lǐng)域廣泛應(yīng)用了。
基于模型設(shè)計(jì)的討論在ISO26262-6里面,跟第一版一樣,除了標(biāo)準(zhǔn)正文的各種條款里提到基于模型設(shè)計(jì)模式下應(yīng)該如何要求之外,還專(zhuān)門(mén)有附錄B討論基于模型設(shè)計(jì)。本篇主要介紹附錄B的一些變化。
線下交流
ISO 26262研討會(huì)
主要介紹MathWorks工具鏈對(duì)于ISO26262和SOTIF的支持情況,涵蓋滿足ISO26262要求的模型驗(yàn)證和代碼驗(yàn)證、符合ISO26262軟件開(kāi)發(fā)過(guò)程中的工具審核問(wèn)題,以及針對(duì)無(wú)人駕駛應(yīng)用的場(chǎng)景建模仿真等方向。掃描二維碼注冊(cè)>>
跟第一版不同的是,第一版的附錄B基本上只提到了基于模型設(shè)計(jì)如何如何的好,而第二版除了保留了這些優(yōu)勢(shì)的陳述之外,還提到了在這種開(kāi)發(fā)模式下的注意事項(xiàng)。主要優(yōu)勢(shì)如標(biāo)準(zhǔn)所言,基于模型設(shè)計(jì)將“軟件生命周期的各個(gè)階段實(shí)現(xiàn)了更強(qiáng)的聚合(Strongercoalescence),并且認(rèn)為:
“Thispotentialbenefitsofthisapproach(e.g.continuity,informationsharingacrossthesoftwarelifecycle,consistency)areappealing.”
同時(shí)跟了一句:
“butthisapproachmayalsointroduceissuescausingsystematicfaults(SeeB.3).”
于是就有了B.3,下面我們就對(duì)照B.3著重看一下可能有哪些風(fēng)險(xiǎn)以及如何應(yīng)對(duì)。
一. 文本性描述
標(biāo)準(zhǔn)對(duì)單一的建模語(yǔ)言可能不足以充分描述需求、架構(gòu)以及單元設(shè)計(jì)有所顧慮。確實(shí)如此,如果你認(rèn)為既然選擇了基于模型設(shè)計(jì),所有的需求、設(shè)計(jì)都使用圖形化描述,完全沒(méi)有文字說(shuō)明的話,那的確是有問(wèn)題的。標(biāo)準(zhǔn)要求在圖形化描述不足以完整描述需求、設(shè)計(jì)的時(shí)候,增加文字性描述。
這部分內(nèi)容不僅僅在附錄里有體現(xiàn),在標(biāo)準(zhǔn)正文里也有改變,Table2中的1a,就是新增的內(nèi)容,并且針對(duì)不同的ASIL等級(jí),都給出了++的要求。

從本人的開(kāi)發(fā)經(jīng)驗(yàn),以及這些年接觸到的客戶(hù)來(lái)看,沒(méi)遇到有用戶(hù)僅依賴(lài)于模型而不使用文字描述的案例,標(biāo)準(zhǔn)里對(duì)這部分內(nèi)容的增加,或許是制定標(biāo)準(zhǔn)的人或者做標(biāo)準(zhǔn)認(rèn)證的人遇到了這種情況。
其實(shí)Simulink模塊有很幾種方式可以增加文字性的描述,比如簡(jiǎn)單的文字注釋?zhuān)蛘哒降男枨笪臋n,如下圖:

實(shí)現(xiàn)這部分要求,難度不大。
二. 背靠背(back-to-back)測(cè)試

上圖就是一種背靠背測(cè)試的實(shí)現(xiàn)方式,這里的目標(biāo)代碼運(yùn)行在MCU上,我們稱(chēng)之為PIL。PIL之外,SIL測(cè)試也是一種背靠背測(cè)試,前面也有介紹(為什么一定要做SIL測(cè)試)。
顯然上述圖中的PIL測(cè)試是為了檢查模型生成的代碼在MCU上運(yùn)行,從行為上講,跟模型是否一致。
如果同樣的測(cè)試向量(TestVectors)在兩邊運(yùn)行的結(jié)果一致,那么我們可以認(rèn)為代碼和模型在行為上一致。注意,需要有個(gè)前提,那就是測(cè)試數(shù)據(jù)足夠多,可以覆蓋所有軟件結(jié)構(gòu)以及信號(hào)范圍,那是最好的。通常,我們?cè)谶@個(gè)時(shí)候除了重用功能測(cè)試的測(cè)試用例之外,還可以通過(guò)工具自動(dòng)生成一些測(cè)試用例,以便可以達(dá)到更高的覆蓋要求。SimulinkDesignVerifier提供測(cè)試數(shù)據(jù)自動(dòng)生成功能可以用于這個(gè)階段。
代碼和模型之間的背靠背測(cè)試,主要是為了防止模型到代碼的轉(zhuǎn)換過(guò)程中出現(xiàn)錯(cuò)誤,標(biāo)準(zhǔn)還提到了其他兩種轉(zhuǎn)化的過(guò)程中也可能出錯(cuò):
一是從連續(xù)模型往離散模型轉(zhuǎn)換的過(guò)程(離散化)中引入錯(cuò)誤;
二是從浮點(diǎn)模型往定點(diǎn)模型轉(zhuǎn)換過(guò)程(定點(diǎn)化)中可能出現(xiàn)的錯(cuò)誤。
這種擔(dān)心是有必要的,在這兩種轉(zhuǎn)換過(guò)程中確實(shí)可能引入錯(cuò)誤,實(shí)踐中,建議對(duì)離散化、定點(diǎn)化前后的模型做一個(gè)背靠背測(cè)試。
對(duì)于定點(diǎn)化,除了明顯的定點(diǎn)錯(cuò)誤會(huì)導(dǎo)致出錯(cuò)之外,還可能會(huì)隱藏一些測(cè)試數(shù)據(jù)或者測(cè)試場(chǎng)景覆蓋不到的溢出。所以,定點(diǎn)化之后的模型建議通過(guò)SimulinkDesignVerifier檢查一下是否有溢出問(wèn)題。
另外,標(biāo)準(zhǔn)提到了仿真或者驗(yàn)證的工具依賴(lài)問(wèn)題,其實(shí)從SIL和PIL測(cè)試中,算法的運(yùn)行平臺(tái)已經(jīng)是完全不同的了,模型仿真的時(shí)候,是Simulink引擎解析模型運(yùn)行,SIL測(cè)試的時(shí)候,運(yùn)行的是生成代碼編譯之后的動(dòng)態(tài)鏈接庫(kù),PIL更是運(yùn)行到了目標(biāo)處理器之上。
三. 安全相關(guān)的代碼設(shè)置
代碼的安全相關(guān)設(shè)置,可以通過(guò)代碼生成設(shè)置和建模實(shí)現(xiàn),比如,標(biāo)準(zhǔn)提到的溢出問(wèn)題,在生成代碼的設(shè)置里,就有默認(rèn)的優(yōu)化設(shè)置如下:

當(dāng)然,如果你非常關(guān)心代碼效率,并且能夠確保數(shù)據(jù)不會(huì)發(fā)生溢出,也可以通過(guò)勾選上述選項(xiàng)達(dá)到代碼優(yōu)化的目的,切記,前提是確保數(shù)據(jù)不會(huì)發(fā)生溢出!
如何確保?人工確保非常困難,可以通過(guò)形式化工具SimulinkDesignVerifier實(shí)現(xiàn)。
另外,還有一些對(duì)代碼的保護(hù)要求,比如,有安全要求的代碼要放到專(zhuān)屬的Flash區(qū)域。通常,代碼上可以通過(guò)在這段代碼前后增加#pragma的方式實(shí)現(xiàn),這可以通過(guò)自定義存儲(chǔ)類(lèi)的方式實(shí)現(xiàn)。
還有一類(lèi)要求,比如在運(yùn)行某段代碼的時(shí)候不響應(yīng)中斷:

這可以通過(guò)建模實(shí)現(xiàn),比如,模型中增加SystemOutputs模塊,設(shè)置相關(guān)參數(shù)得以實(shí)現(xiàn)。

如果還有其他的安全要求,也可以跟我們交流。
四. 代碼優(yōu)化問(wèn)題
針對(duì)不同的優(yōu)化目標(biāo),代碼可以做不同的優(yōu)化,比如說(shuō),在新能源汽車(chē)領(lǐng)域,BMS開(kāi)發(fā)中可能更關(guān)心代碼的RAM占用,而電機(jī)控制器開(kāi)發(fā)中更關(guān)心代碼的執(zhí)行速度。對(duì)于這兩種情況,顯然優(yōu)化目標(biāo)不同,選擇的優(yōu)化設(shè)置也會(huì)有所區(qū)別。

對(duì)應(yīng)不同的目標(biāo),會(huì)有很多相關(guān)的優(yōu)化選項(xiàng)需要設(shè)置。幸運(yùn)的是,代碼生成工具提供了上圖的功能,用戶(hù)只需設(shè)置目標(biāo),工具會(huì)根據(jù)你設(shè)定的目標(biāo)給出相應(yīng)的建議。
五. 組件模型代碼生成問(wèn)題
到底在單元模型級(jí)別還是集成模型級(jí)別(包括組件級(jí)集成和系統(tǒng)級(jí)集成)上做代碼生成這樣的問(wèn)題,我一直認(rèn)為要慎重,基礎(chǔ)軟件對(duì)于應(yīng)用軟件的調(diào)度應(yīng)該是我們要考慮的。對(duì)于簡(jiǎn)單的調(diào)度,不同任務(wù)之間不存在搶占,不存在中斷,在集成模型上做代碼生成會(huì)更加方便,而如果任務(wù)之間可能存在搶占或者中斷,那么就要仔細(xì)評(píng)估了,因?yàn)?,Simulink目前并不能仿真搶占或者中斷行為。
六. 被控對(duì)象模型的精度問(wèn)題
這個(gè)問(wèn)題會(huì)出現(xiàn)在MIL和HIL測(cè)試中,通過(guò)被控對(duì)象模型實(shí)現(xiàn)模型級(jí)閉環(huán)測(cè)試。理論上講,精度越高越好,但實(shí)踐上,我們可能很難有高精度并且非常完善的模型。這不影響我們利用MIL和HIL測(cè)試給我們帶來(lái)的便利。如果有理想中的高精度模型,我們完全可以在模型階段把標(biāo)定做完,而事實(shí)上,我們沒(méi)有那樣的模型,我們也不期望這個(gè)階段完成標(biāo)定工作。我們希望可以通過(guò)這些模型實(shí)現(xiàn)驗(yàn)證算法,這已經(jīng)給我們帶來(lái)很大便利了。
當(dāng)然,也有辦法讓被控對(duì)象模型變得精度更高,比如可以通過(guò)臺(tái)架測(cè)試數(shù)據(jù)或者實(shí)車(chē)數(shù)據(jù)去優(yōu)化模型參數(shù),還可以通過(guò)基于模型的標(biāo)定(Model-BasedCalibration)技術(shù)實(shí)現(xiàn)部分參數(shù)的標(biāo)定工作。
-
處理器
+關(guān)注
關(guān)注
68文章
20264瀏覽量
252694 -
代碼
+關(guān)注
關(guān)注
30文章
4971瀏覽量
74035
發(fā)布評(píng)論請(qǐng)先 登錄
深度解析:主流功能安全標(biāo)準(zhǔn)(ISO 26262/IEC 61508)及其軟件合規(guī)全流程
SGS為地平線"智駕安全基座"產(chǎn)品頒發(fā)ISO 26262功能安全證書(shū)
海康汽車(chē)與森思泰克通過(guò)ISO 26262汽車(chē)功能安全ASIL D流程認(rèn)證
SGS為江蘇智馭轉(zhuǎn)向PPU平臺(tái)產(chǎn)品頒發(fā)ISO 26262功能安全證書(shū)
資料] 汽車(chē)軟件質(zhì)量躍遷的系統(tǒng)性路徑:基于ISO 26262標(biāo)準(zhǔn)的單元測(cè)試體系重構(gòu)與中日實(shí)踐深度對(duì)比(2026學(xué)術(shù)研究報(bào)告)
汽車(chē)軟件質(zhì)量躍遷的系統(tǒng)性路徑:基于ISO 26262標(biāo)準(zhǔn)的單元測(cè)試體系重構(gòu)與中日實(shí)踐深度對(duì)比(2026學(xué)術(shù)研究報(bào)告)
ISO 18000-6:2013標(biāo)準(zhǔn)正式撤回,新版(2025)支持無(wú)源傳感器
汽車(chē)軟件團(tuán)隊(duì)必看:基于靜態(tài)代碼分析工具Perforce QAC的ISO 26262合規(guī)實(shí)踐
格見(jiàn)半導(dǎo)體榮獲ISO 26262 ASIL-D功能安全流程認(rèn)證證書(shū)
小鵬汽車(chē)斬獲兩項(xiàng)國(guó)際頂級(jí)安全認(rèn)證 ISO 26262功能安全流程認(rèn)證和ISO 21448預(yù)期功能安全(SOTIF)流程認(rèn)證
美芯晟獲得ISO 26262功能安全管理體系A(chǔ)SIL D認(rèn)證證書(shū)
關(guān)于新版 ISO 26262-6 之基于模型的設(shè)計(jì)的分析和應(yīng)用
評(píng)論