ISO26262标准在SEooC软件开发中的应用

描述

  在上几篇关于瑞萨汽车功能安全技术的系列博客中,我们介绍了瑞萨电子提供的功能安全客户支持服务,以及CAR工具。博客中简单提到了ISO26262 标准提出的背景,该标准是国际标准化组织制定的关于道路汽车中电子电气系统功能安全的标准。ISO26262标准的第6部分给出了功能安全软件开发的要求以及指导方向。 瑞萨电子旨在提供优质安全的软件,以便缩短客户开发周期,让软件集成过程更高效省心,帮助客户更快更好的设计和制造整车以及相应的电子电气系统。

  这是瑞萨汽车功能安全技术系列博客的第三篇。我们在之前的博客中已经提过,大部分瑞萨电子的安全相关产品属于SEooC产品。瑞萨电子的SEooC软件主要在瑞萨开发的汽车MCU和SoC上运行,可以集成到多种不同的应用上。在这篇博客中, 我们会讨论在设计SEooC软件时需要注意的要点,所遇到的挑战,以及瑞萨电子的SEooC软件产品。

  ISO26262 对SEooC的定义为“独立安全单元”。它不是为一个特定的整车或者控制模块而设计的。SEooC通常可以被集成到各种不同用途的产品上。在设计和开发SEooC时,产品的要求通常是基于假设。当SEooC产品被集成到上级产品时,集成者需要保证这些假设能被满足。这篇博客主要讨论的是SEooC软件,但是SEooC可以是一个或一组系统或子系统,或软件模块,或硬件模块3。 以软件为例,Autosar MCAL,嵌入式操作系统,和中间件都可以是SEooC软件产品。

  ISO26262 给出的开发SEooC软件的指导方向主要分成以下三步:

  第一步:提出SEooC软件的应用范围和安全要求的假设

  第二步:基于这些假设来设计和开发符合ISO26262 ASIL等级要求的软件产品。在开发过程中,开发者需要遵守ISO26262 第6部分指定的流程。软件供应商需要提供给客户所有必须的工作成果文件,以保证客户在集成过程中能够分析这些假设,保证这些假设能被满足。工作成果文件的示例如下:

  开发接口协议/报告5 (DIA/DIR )

  软件安全要求设计书(S-SRS )

  安全应用说明书/安全手册(SAN/SM) – SAN/SM应该列出用户所有需考虑的假设,安全功能的实施,以及其他与安全相关的信息

  源代码 (source code)

  配置手册 (configuration manual)- 帮助用户理解和配置软件

  功能安全评估报告(FSA 报告), 等等。

  第三步:将软件集成到特定的应用环境中。集成者应该确保所有的假设都符合要求。如果有一些假设不能被满足,应该进行相应的影响分析,以保证安全性不被影响,或者采取相应的设计更改。

  

瑞萨电子

  (本图为SEooC软件开发流程的示例)

  在第一步中, 一个很大的挑战是合理完善地总结所有相关的假设。假设的范围可以是广泛的。这里我们列举了一些典型的例子:

  使用案例的假设: 描述假定的产品应用环境和用途

  系统级别保护措施的假设:一些安全措施需要在系统级别上实施,比如通讯中的端到端保护。这些保护措施是必须的,但它们只能由集成者来实现。因此SEooC软件开发商通常会假设系统集成者会实现这些保护措施。

  部分实施的安全机制的假设:如果某些安全机制没有被SEooC软件完全覆盖,则需要集成商完成实施。瑞萨将这些要求作为AoU(使用假定)记录在SAN(安全应用说明)中,并假定集成商将满足这些要求。

  关于集成要求的假设:SEooC软件最终会被集成到上级应用程序中。若要使集成软件达到既定目标的ASIL水平,就需要定义集成的要求并假设系统集成者能够满足这些要求。

  瑞萨的软件工程师和安全工程师都拥有多年开发软件的经验。开发团队会仔细地分析产品和所应用的系统环境,以尽可能准确完整地总结这些假设。瑞萨的开发流程保证了基于这些假设的产品安全要求能够被审阅和评估。

  

瑞萨电子

  在第二步中,一个很大的挑战是由软件的可配置性导致的。由于很多SEooC软件产品需要被应用到不同的上级产品中,通常这些SEooC软件会提供可配置选项,供用户设置。SEooC软件被配置后集成到上级产品时,这个配置就需要被测试和验证。如果配置参数的数量增加,这些参数组合到一起最终产生的软件配置的数量就会呈指数级增长。如果需要对每一个可能的配置都进行测试是不可能的。那么SEooC软件供应商怎样保证所作的测试能够提供足够的把握呢?ISO26262 提供了两种可供选择的建议:

  简化流程一:测试和验证配置好的软件。软件集成者可以测试配置好的软件,或者可以选择供应商提供的售后服务:把配置数据提供给SEooC软件供应商, 由供应商来测试配置好的软件。当客户数量和项目数量增加时,供应商需要测试的配置数量会大大增加。在这种情况下, 供应商需要保证测试服务的质量和效率。如何做到呢?通常这两种解决方案是很有利的:

  自动测试系统。瑞萨电子有很完善的自动测试系统,可以大规模高效率地帮助客户测试配置完成的SEooC软件。在软件开发过程中或是发布后我们都会应用这些自动测试系统。

  清晰完善的软件要求。瑞萨电子的工程师会详细分析和记录SEooC软件的要求。瑞萨电子多年来的经验积累了完善的开发流程,开发指南,各种文件模板,以及清晰地界定各部门的职责。瑞萨电子还使用新的需求管理软件来更好地记录和追踪软件要求,确保必须的软件要求能被实现以及测试。这也能在测试客户的软件配置时大大提高软件要求的测试覆盖率。

  简化流程二:在软件发布前测试一系列(大量的)软件配置;而在软件发布后,客户可以分析和证明客户使用的设置已经通过了发布前所作的测试。软件发布前测试的目标是尽可能多地涵括软件配置。瑞萨电子使用了很多最前沿的测试方法: N-wise测试6,功能组合测试,随机测试等等。这些测试方法旨在优化测试的软件配置数量,用最少的测试涵盖最多的配置范围。应用这些测试方法,用户使用的终端配置更有可能已经在发布前被测试过,可以减少额外的测试工作和开销。

  

瑞萨电子

  在第三步中,SEooC软件最终发布到客户手中时,客户所需做的是验证供应商提出的假设,以及将SEooC软件集成到客户系统中。这有时很有难度,因为如果要验证所有的假设,可能需要花很多时间。而且这也要求客户对这些假设有正确的理解。在验证过程中,难免会遇到有些假设并不能完全被满足。在这种情况下,就需要客户或者供应商来更改SEooC软件的设计,或从系统层面上修改设计来保证安全性。这会产生额外的努力和开销。在瑞萨电子,我们会向客户开放所有在SEooC软件开发中考虑的假设。这些假设都被记录在安全应用说明书(SAN)当中。SAN的起草和审核是很严谨的,用户可以借助它来更好地理解以及验证这些假设。瑞萨电子还提供功能安全客户支持项目,如果客户有任何关于SEooC软件的问题,瑞萨的支持工程师会提供详细的解答。

  

瑞萨电子

  瑞萨电子的工程师非常了解开发SEooC软件的难度。瑞萨一直致力于提高产品质量。我们的目标是提供给客户符合相关ISO26262要求的软件,以及客户所需要的集成和开发的信息,以保证最终集成的终端软件和电子产品能达到所需要的安全级别。瑞萨电子的安全相关部门由三大部分组成:开发部门,质量部门,以及独立的技术评估部门。瑞萨的开发部门有多年遵照ISO26262标准开发功能安全产品的经验。质量部门会负责评估和审核软件开发阶段的功能安全流程。技术评估部门则会负责对安全相关的产品进行技术评估,以保证产品能达到相应的安全目标。瑞萨电子也会邀请第三方评估公司来对软件产品进行安全评估。瑞萨的高素质团队和企业内部的安全文化保证了向客户提供优质的软件产品:

  由经验丰富的开发团队开发

  经过I3级别(最高独立性)的质量和评估部门认真检验和全面评估

  方便集成到客户的安全系统中

  综上所述,我们在这篇博客中介绍了 ISO26262 对开发SEooC软件的指导方向。我们也讨论了在设计开发过程中可能遇到的问题。瑞萨电子旨在为客户提供更好的解决方案:

  瑞萨电子的技术部门拥有经验丰富的工程师,以及完善的技术流程,能开发和评估高质量的软件产品

  运用最前沿的测试方法和自动测试系统来保证测试覆盖率

  提供人性化的客户服务,支持客户解决在集成过程中可能遇到的问题

  瑞萨电子有许多SEooC软件产品。基于RH850系列微处理器的安全软件产品有:MCAL和CST(CPU自测软件)。基于R-CAR系列SoC的安全软件有:CPU RTT(CPU自测软件),图像处理软件,信息安全软件等。瑞萨与多家第三方公司合作提供操作系统, 编译器等其他软件来提供给客户完整的系统解决方案。

  审核编辑:郭婷

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分