科世达亚洲研发中心使用基于模型的设计开发汽车软件并获得 ISO 26262 ASIL D 级认证

“使用基于模型的设计并基于最高功能安全标准来设计、实现和验证我们的软件,使得我们的团队节省了成本、提高了效率,并确保了软件质量。如果没有基于模型的设计,在相同的时限内,将需要更多的工程师才能完成项目。”

挑战

开发汽车电子转向柱锁软件并通过最高等级的功能安全标准认证

解决方案

使用基于模型的设计来设计、实现应用层软件,并通过 ISO 26262 ASIL D 级认证要求的 PIL 测试验证该软件

结果

  • 开发和认证时间缩短 30%
  • 在建模阶段发现 80% 的错误
  • 搭建起适用于 ISO 26262 的对比测试框架
Kostal’s electronic steering column lock module.

科世达电子转向柱锁模块。

中国汽车行业的快速发展刺激了对更加完善且更加成熟的汽车技术的需求。举例来说,越来越多的 OEM 厂商都在开始要求其供应商的产品必须通过 ISO 26262功能安全标准认证。

KOSTAL(科世达)亚洲研发中心是 KOSTAL(科世达)集团下属子公司,最近刚刚成为中国国内首家国内自主开发的产品获得 ISO 26262 汽车安全完整性等级 (ASIL) D 级认证的公司。虽然侧重于研发,但是该中心具有综合全面的产品开发能力,可以负责根据本地客户的需求选择并定制工具和方法。科世达的电子转向柱锁模块 (ESCL) 获得了最高等级的 ISO 26262 功能安全认证,该模块的部分应用层软件由科世达亚洲研发中心的工程师在 MathWorks 工程师的协助下,使用基于模型的设计来设计、开发和测试完成。

“MathWorks 工程师协助我们一次性一步即转换到支持 ISO 26262 认证的开发流程中,”科世达亚洲研发中心平台与流程经理程晖说。“将基于模型的设计与 MATLAB 和 Simulink 结合使用,让我们得以早期即可验证我们的设计,减少了确认、验证和认证所需的报告任务中的人为参与,从而加快了整个开发流程。”

挑战

汽车 ESCL 用于在车辆处于停泊状态时通过锁定转向轮来防止车辆被盗。鉴于这类系统如果在车辆行驶过程中被误锁定可能导致的危险性,ESCL 软件必须按照最高功能安全等级 ISO 26262 ASIL D 级进行开发。

要实现这一目标,科世达必须满足 ISO 26262 ASIL D 级认证的所有要求,在应用层软件方面需要对自动生成的代码进行对比测试来验证软件。这包括软件在环 (SIL) 和处理器在环测试 (PIL),科世达工程师们需要获得快速建立必需的框架方面的协助。

解决方案

科世达将使用基于模型的设计与 MATLAB® 和 Simulink® 结合使用来开发 ESCL 应用层软件并通过 ISO 26262 ASIL D 级认证。

该公司在 MathWorks 工程师们的协助下,共同搭建起 PIL 测试框架,并为初次使用基于模型的设计的软件开发团队提供培训。

借助 Simulink 和 Stateflow®,科世达工程师开发出 ESCL 软件应用层的模型,其中包括一个有限状态机,用于定义时序决策逻辑。

该团队根据 MathWorks Automotive Advisory Board (MAAB) 指导原则制定了建模标准,并使用 Simulink Check™ 确保该模型符合标准。

然后他们在 Simulink 中运行仿真,以验证设计的功能性,并使用 Simulink Coverage™ 来测量功能测试的模型覆盖率。

借助 Simulink Design Verifier™,使用形式化方法来识别模型中的死逻辑和其他设计错误。

工程师们使用 Embedded Coder® 从 ESCL 模型生成 C 代码,使用 Polyspace Code Prover™ 和 Polyspace Bug Finder™ 检查生成的代码和手写的代码是否有运行时错误。

然后使用生成的代码运行对比 PIL 测试,并在 MATLAB 中对比测试结果。

为了简化认证流程,工程师们使用了适用于 ISO 26262 和 IEC 61508 的 IEC Certification Kit。他们确定了几款适用于该认证的工具,包括 Embedded Coder、Simulink Design Verifier,Simulink Coverage、Polyspace Bug Finder 和 Polyspace Code Prover。

ESCL 已通过 ISO 26262 ASIL D 级认证,且已被批准由中国最大的汽车厂商之一投产。基于模型的设计现已成为科世达内部需要功能安全认证的项目的首选方法。

结果

  • 开发和认证时间缩短 30%. “没有基于模型的设计,我们至少需要多投入 30% 的时间才能完成 ESCL 应用层软件的开发和认证。”程晖说。“生成符合我们所有速度和内存要求的高效代码,让我们节省了不少的时间和人力。”
  • 在建模阶段发现 80% 的错误. “使用基于模型的设计,我们在模型开发和仿真阶段就发现并解决了 80% 的应用层逻辑和功能错误。”程晖说。“这种早期验证与 Polyspace 静态分析相结合,节省了大量的验证和测试投入。”
  • 搭建起适用于 ISO 26262 的对比测试框架. “我们使用了基于模型设计开发应用层软件,按照ISO 26262要求,这需要对自动生成的代码做PIL测试,在我们搭建对比PIL测试框架的过程中,MathWorks 的工程师向我们提供了出色的协助。”程晖说。“我们能够按时完成了 ISO 26262 认证,该框架起到了重要作用。”