对应于符合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的软件开发与测试咨询服务经验。