1. 引言
汽車(chē)行業(yè)正經(jīng)歷著與系統(tǒng)復(fù)雜性和部署速度相關(guān)的大規(guī)模變革蔚鸥。軟件設(shè)計(jì)的重要性因生產(chǎn)車(chē)輛功能集的指數(shù)級(jí)增長(zhǎng)而增加。為了應(yīng)對(duì)軟件和電子系統(tǒng)的復(fù)雜性许赃,需要一種結(jié)構(gòu)化的方法來(lái)管理和設(shè)計(jì)這些系統(tǒng)止喷。
2. AUTOSAR和ISO 26262的重要性
許多汽車(chē)OEM和供應(yīng)商選擇ASPICE用于質(zhì)量管理組件,ISO 26262用于ASIL組件混聊。ISO 26262包含12個(gè)部分弹谁,涵蓋從安全風(fēng)險(xiǎn)分析到硬件/軟件設(shè)計(jì)考慮的多個(gè)主題。
3. AUTOSAR 助力 ISO 26262合規(guī)性最佳實(shí)踐
AUTOSAR在設(shè)計(jì)時(shí)考慮了功能安全句喜。通過(guò)AUTOSAR聯(lián)盟發(fā)布的文件预愤,描述了適用于安全相關(guān)應(yīng)用的關(guān)鍵概念和結(jié)構(gòu)。
AUTOSAR工具鏈和工作流程考慮
使用Simulink和Stateflow來(lái)模擬故障檢測(cè)和軟件診斷功能咳胃。AUTOSAR Blockset提供了標(biāo)準(zhǔn)塊植康,可以實(shí)施與AUTOSAR兼容的診斷事件管理器(Dem)交互。如使用 DiagnosticMonitorCaller模塊模擬并生成與符合AUTOSAR標(biāo)準(zhǔn)的診斷事件管理器兼容的代碼展懈。
圖 1.用于故障檢測(cè)的 Simulink 算法示例
使用標(biāo)準(zhǔn)的AUTOSAR服務(wù)
AUTOSAR定義了幾個(gè)汽車(chē)ECU常用的軟件服務(wù)销睁,如Dem、FiM和NvM存崖。通過(guò)AUTOSAR Blockset簡(jiǎn)化這些服務(wù)的使用榄攀。
Dem、FiM和NvM的應(yīng)用
利用預(yù)認(rèn)證/認(rèn)證的ISO 26262工具
如果在創(chuàng)建ISO 26262兼容算法時(shí)使用了自動(dòng)化工具金句,則可能需要對(duì)這些工具進(jìn)行認(rèn)證。
利用增量測(cè)試策略
推薦使用增量的吕嘀、自下而上的測(cè)試方法违寞,從單元級(jí)別開(kāi)始贞瞒,逐步向上進(jìn)行集成測(cè)試。
通用的集成測(cè)試策略包括:
對(duì)每個(gè)AUTOSAR軟件組件進(jìn)行單元級(jí)MIL和SIL測(cè)試
在 Simulink 中對(duì) AUTOSAR 組合物進(jìn)行初始集成測(cè)試趁曼,并進(jìn)行迭代仿真
RTE 生成和完整的軟件構(gòu)建集成*
AUTOSAR架構(gòu)構(gòu)件
軟件組件作為單元邊界
使用軟件組件作為單元邊界军浆,與ISO 26262的語(yǔ)言兼容。將類(lèi)似ASIL組件分組到組件的組合中挡闰,以便清晰地看到每個(gè)ASIL的組件乒融。
原子軟件組件作為 ISO 26262 軟件單元定義原因如下:
原子軟件組件元素和接口可在模型級(jí)別進(jìn)行映射。
Simulink 模型邊界非常適合創(chuàng)建測(cè)試工具和測(cè)試用例摄悯。
模型中以圖形方式呈現(xiàn)的內(nèi)容將生成到一組封裝的 .c 和 .h 文件中赞季。
組件中的可運(yùn)行實(shí)體應(yīng)高度耦合,最好作為一個(gè)單元進(jìn)行測(cè)試奢驯。
劃分 ASIL 組合的軟件架構(gòu)如下:
軟件地址映射方法
使用不同的內(nèi)存部分來(lái)緩解內(nèi)存和信息交換故障申钩,AUTOSAR的軟件地址方法可以作為實(shí)現(xiàn)這一點(diǎn)的一種方法。
現(xiàn)有代碼基礎(chǔ)的重構(gòu)
當(dāng)組織決定采用AUTOSAR架構(gòu)時(shí)瘪阁,通常需要從先前的非AUTOSAR代碼基礎(chǔ)遷移撒遣。對(duì)軟件架構(gòu)進(jìn)行審查,并考慮可用的AUTOSAR結(jié)構(gòu)和結(jié)構(gòu)管跺,以幫助您的組織實(shí)現(xiàn)功能安全目標(biāo)义黎。
定義數(shù)據(jù)管理策略
針對(duì)AUTOSAR構(gòu)件使用AUTOSAR Blockset有助于縮小數(shù)據(jù)管理策略的范圍。將模型工作空間配置為引用外部 M-file 或 MAT 文件作為數(shù)據(jù)源豁跑,以便獨(dú)立于模型文件管理值集廉涕。每個(gè)組件都應(yīng)將它們引用的全局對(duì)象(例如數(shù)據(jù)和數(shù)據(jù)類(lèi)型(如別名、總線))存儲(chǔ)在特定于組件的數(shù)據(jù)字典中贩绕。Simulink 中的 AUTOSAR 數(shù)據(jù)層次結(jié)構(gòu)示例:
AUTOSAR數(shù)據(jù)傳輸機(jī)制
使用 RTE 傳遞安全關(guān)鍵數(shù)據(jù)
所有AUTOSAR端口數(shù)據(jù)都通過(guò)RTE傳遞并由RTE管理火的。這允許 RTE 添加額外的保護(hù)層,例如管理數(shù)據(jù)和錯(cuò)誤狀態(tài)的特定內(nèi)存部分以檢測(cè)傳輸錯(cuò)誤淑倾。
對(duì)高完整性信號(hào)使用隱式數(shù)據(jù)傳輸
使用RTE傳遞安全關(guān)鍵數(shù)據(jù)馏鹤。對(duì)于需要高完整性的信號(hào),推薦使用隱式數(shù)據(jù)傳輸娇哆。這確保了使用者在執(zhí)行計(jì)算時(shí)將擁有數(shù)據(jù)的非易失性副本進(jìn)行操作湃累。
在 Simulink 中,可以通過(guò)將傳輸模式從顯式更改為隱式碍讨,在單個(gè)數(shù)據(jù)元素級(jí)別進(jìn)行配置治力。
在不同ASIL組件之間傳輸數(shù)據(jù)時(shí)使用端口錯(cuò)誤狀態(tài)
在不同ASIL組件之間傳輸數(shù)據(jù)時(shí)使用端口錯(cuò)誤狀態(tài)。使用端到端保護(hù)來(lái)檢測(cè)一個(gè)軟件組件到另一個(gè)組件的數(shù)據(jù)傳輸錯(cuò)誤勃黍。
使用端到端保護(hù)
端到端保護(hù)可以在AUTOSAR架構(gòu)工具中定義宵统。此設(shè)置也可以在 Simulink 模型中管理和查看。如下圖例說(shuō)明了如何在 Simulink 中使用端到端保護(hù)來(lái)標(biāo)記數(shù)據(jù)元素覆获。
總結(jié)
AUTOSAR補(bǔ)充ISO 26262马澈,Simulink Autosar提供有助于遵守ISO 26262的結(jié)構(gòu)性建模技術(shù)方案瓢省。
資料來(lái)源:
1.Mathworks 面向AUTOSAR Classic和ISO 26262標(biāo)準(zhǔn)的Simulink建模最佳實(shí)踐