對應于符合ISO26262的建模規范實踐,我們知道,僅Simulink而言,它是一個面向多域仿真并基于模型設計的模塊框圖環境,而設計者習慣風格以及配置的差異會導致模型的差別;尤其是團隊配合大的集成項目時建模規范一致性整體把握的重要性。
那么我們首先應對建模規范做個大致的通俗化了解:即什么是建模規范,建模規范的目的又是什么,建模規范的既定準則由誰來制定,建模規范中具體的應用場景又是什么?帶著這樣的問題,我們需要了解建模規范的實例,比如外觀和布局的規則;所謂的可靠語言子集是什么;如何使用樣式模板;依據規范中數據類型的有效定義;如何結合ISO26262中建模規范需要覆蓋的規則進行工程實施;然后基于這樣的原則如何去自己的建模規范。
建模規范的目的:
?避免使用上易出錯的建模方式
為了增強系統健壯性,從Simulink庫中定義驗證過得安全子集;
符合理解習慣(比如關系運算模塊,常數輸入放在第二個輸入口);
?增加效率和安全性
保證模型配置的一致性;
提高仿真效率得配置;
保證代碼生成配置的一致性和優化選項的一致性;
避免使用導致效率低下的建模模板;
?風格要求,OEM,提高供應商模型交互的可讀性、規范性、復用性等
統一的風格和感官認識;
?ISO26262、IEC61508、DO178C等行業標準要求
建模規范:專經驗的出處
?MAAB(Mathworks
Automotive
Advisory
Board)
?Mathworks:
Modelling
Guidelines
for
High-Integrity
Systems
?MISRA:MISRA_AC_SLSF
?企業專:長期的使用經驗總結
建模規范典型應用場景:
?基于模型的軟件開發,期望產品通過ISO26262認證
?注重產品質量和形象的OEM和供應商
?注重模型到代碼質量的OEM和供應商
ISO26262中涉及到對標準建模規范的要求:
無論是Simulink還是C語言,都屬于弱類型語言,當語言本身并不能體現出充分論證條件時,只能通過使用語言的規范來補充,也就是說我們需要使用一些語言規范來保證嚴格性。
在功能安全規范中,也明確說明了基于編碼規范和手寫代碼實現的差異性;比如ISO26262功能安全中軟件開發層面,對于建模和編碼規范的要求。
規范中的解釋,對應下來都是需要我們在實際建模中執行實現的。
上面ISO26262表格中的解釋在工程中可以總結為:
?模型可讀性好,如何保證模型的清晰可讀,以及風格上的一致性;
?模型在流程上的維護、變更、復用以及局部可裁剪;
?模型在仿真效率上的快速驗證,且便于分析;
?模型在除了單元端的測試和集成性;
?模型在生成代碼后,如何保證代碼的質量,代碼生成的配置,以及安全;
針對以上要求,如何企業級的建模規范:
首先,根據企業目前開發部門的開發現狀,基于模型的開發的整體水平把控,針對不同的控制器(VCU\BMS\MCU)類型去選擇建模規范。然后,根據ISO26262中對于建模和編碼的風格,除了建模規范,也要對編碼規范響應,比如MISRA C2012;同時根據已有的規范形成適合自己的規范模板,隨著企業開發經驗的不斷豐富,知道在局部模型和算法處從布局外觀到語言子集的規劃,數據定義,以終形成的企業某控制器的建模規范設計文檔。
基于此,恒潤科技也提供了基于模型的開發,均由業內具有多年工程開發經驗的工程師為大講解,涉及基礎工具使用;建模規范;模型測試與驗證;代碼生成高級;以及符合ISO26262的軟件開發與測試咨詢服務經驗。