代码质量与安全 | 什么是ISO 26262功能安全?ASIL等级如何划分?

ISO 26262,名称为“道路车辆——功能安全”,是汽车行业中使用的功能安全标准。而ASIL/ASIL级别则是确定软件开发安全要求的关键组成部分。

遵守这一标准对于汽车产品的开发来说至关重要。原始设备制造商、供应商和汽车零部件开发商们都需要遵守这一标准。

本篇文章将介绍ISO 26262、ISO 26262认证工具、ASIL(汽车安全完整性级别)以及针对软件开发团队的ISO 26262功能安全合规建议。

什么是ISO 26262功能安全?

ISO 26262是一项基于风险的安全标准,源自IEC 61508。它适用于量产车辆中的电气和/或电子系统。这包括驾驶员辅助、推进和车辆动力学控制系统。

这项功能安全标准涵盖了整个开发过程的所有功能安全方面:

  • 需求规范
  • 设计
  • 执行
  • 集成
  • 验证
  • 验证
  • 配置
为什么ISO 26262很重要?以及为什么ASIL(汽车安全完整性等级)/ASIL等级很重要?

该标准的目标是确保汽车设备和系统的整个生命周期的安全性。

在生命周期的每个阶段,需要采取具体的步骤。这将确保安全的概念贯穿始终,从早期的概念阶段到车辆退役。

通过遵守ISO 26262标准,您能够避免或控制系统性的故障,并且可以检测或控制随机硬件故障(或者您将减轻故障的影响)。

ISO 26262的十个部分
  • 第1部分:术语
  • 第2部分:功能安全管理
  • 第3部分:概念阶段
  • 第4部分:系统级别的产品开发
  • 第5部分:硬件级别的产品开发
  • 第6部分:软件级别的产品开发
  • 第7部分:生产与运营
  • 第8部分:支持流程
  • 第9部分:面向ASIL和安全性的分析
  • 第10部分:安全标准指南

安全标准的第二版曾计划增加一个部分——SOTIF,重点关注预期功能的安全性。然而,SOTIF随后已经作为一个单独的标准发布——ISO/PAS 21448。

针对软件开发人员的功能安全

第6部分对于软件开发人员来说是最重要的部分。它详细介绍了开发人员必须采取的步骤,以确保每个组件的安全性。

此外,第6部分还包括了几个表格,定义了为了达到标准合规性必须考虑的方法。

ISO 26262认证工具

在汽车开发中,使用的任何工具都需要经过合格性认证。第8部分提供了ISO 26262工具资格认证的指导。

认证工具需要有以下内容:

  • 软件工具认证计划
  • 软件工具文档
  • 软件工具分类分析
  • 软件工具认证报告

某些工具比其他工具更容易获得合格性认证。例如,Helix QAC(C和C++静态代码分析器)附带了合规证书,使认证过程更容易。

什么是ASIL(汽车安全完整性等级)?

汽车安全完整性等级(ASIL)是ISO 26262的关键组成部分,用于衡量特定系统组件的风险。系统越复杂,出现系统性故障和随机硬件故障的风险就越大。

汽车安全完整性级别(ASIL)有四个值,分别为A到D。ASIL A是最低的风险级别,ASIL D是最高的级别。从A到D,合规要求变得更加严格。

在确定汽车安全完整性级别时,还有第五个选项——QM(质量管理)。这用于表示该组件没有安全要求。(但为了提高产品质量,通常仍建议遵守)

如何确定ASIL和ASIL级别?

ASIL由三个因素决定——严重性、暴露度和可控性。

严重性

严重性衡量了系统故障造成的损害的严重程度,包括人员和财产损害。

有四个严重性等级:

  • S0没有伤害

  • S1轻度至中度伤害

  • S2严重至危及生命(可能生存)的伤害

  • S3危及生命(生存不确定)至致命伤害

暴露度

暴露度描述了在什么条件下某个特定的故障可能会引发安全隐患。

每个条件按照发生的概率,分为了以下五个等级:

  • E0完全不可能

  • E1概率极低(仅在极少数操作条件下才会发生伤害)

  • E2低概率

  • E3中等概率

  • E4高概率(在大多数操作条件下都可能发生伤害)

可控性

可控性是在发生危险情况时可以避免伤害的可能性。这种情况可能是由于驾驶员的操作或外部措施造成的。

危险情况的可控性分为四个等级:

  • C0总体可控

  • C1容易控制

  • C2一般可控(大多数司机可以采取行动防止受伤)

  • C3难以控制或无法控制

一旦您确定了严重性、暴露度和可控性,您就可以确定汽车安全完整性等级(ASIL)。第3部分的表格4提供了关于此方面的指导。

△ 使用此图表可根据严重性、暴露度和可控性来确定ASIL

ASIL级别合规指南+ISO 26262

无论您是在开发传统的汽车组件(例如集成电路)还是虚拟组件(例如汽车虚拟机管理程序),遵守安全标准都很重要。在整个汽车嵌入式软件开发生命周期中保持合规性至关重要。

但对于开发团队来说,满足合规可能很困难。系统和代码库越来越复杂,使得验证和确认软件变得困难。

您可以通过使用软件开发工具来简化这一过程。

建立可追溯性

满足合规性要求,并证明自己满足这些要求是一个非常繁琐的过程。您需要记录这些需求,并将它们与其他制品库(包括测试、问题和源代码)进行关联。

建立需求的可追溯性能够简化验证过程——尤其是在使用Helix ALM等工具的情况下。它还可以帮助您在开发的过程中管理风险。

而且,如果您为汽车开发半导体,使用Methodics IPLM等工具将有助于为您的设计建立验证可追溯性。此外,Methodics IPLM 可以帮助您管理ISO 26262功能安全认证。

将您的代码存储在Helix Core中(来自Perforce的版本控制系统)中,可以安全地管理所有数字资产的修订历史。您将获得精细的访问控制、高透明度的的审核日志、强大的密码安全性以及安全的复制。因此,您可以对自己的代码充满信心。

应用编码标准

确保代码安全、防范和可靠可能很困难。您需要满足特定的编码和设计准则。

应用编码标准,例如MISRA®或AUTOSAR,可以更轻松地根据安全标准指南来验证您的代码。特别是使用像Helix QAC这样的静态分析工具时。

通过Perforce确保ASIL级别的ISO 26262 + ASIL功能安全

如果没有合适的工具,就难以确保代码功能安全。通过使用Helix QAC,您可以轻松地应用编码标准,以验证您的代码是否符合特定的安全标准准则,如ISO 26262指南。

作者简介:

理查德·贝莱尔斯(Richard Bellairs

Perforce产品营销经理

理查德·贝莱尔斯拥有超过20年的跨行业工作经验。在90年代和21世纪初,他在制造、国防、测试和测量行业担任电子和软件工程职位,之后转向产品管理和产品营销。现在他负责Perforce市场领先的代码质量管理解决方案。理查德拥有谢菲尔德大学的电子工程学士学位和英国特许营销协会 (CIM) 的市场营销专业文凭。

立即了解使用Helix QAC确保代码功能安全是多么简单,请联系Perforce中国授权合作伙伴——龙智

官网:www.shdsd.com

电话:400-666-7732

邮箱:marketing@shdsd.com