0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

SEooC:在安全关键系统中重用嵌入式软件的行之有效的方法

星星科技指导员 来源:嵌入式计算设计 作者:Dave Hughes 2022-12-01 16:28 次阅读

避免重新发明轮子是高效产品开发的关键部分。在嵌入式编程中,这个概念始于可信库,并已通过面向对象编程和Java等概念得到增强,这使我们能够创建当今的复杂系统。

安全标准还促进了经过验证的软件元素的重用,尽管这带来了复杂的挑战。在项目中引入没有同样严格程度的元素将不可避免地导致弱点。因此,安全标准规定了验证这些组件以用于安全项目的方法。

但是,对效率的追求可能会导致在安全关键系统中不起作用的概念。定制现货 (COTS) 软件是许多行业以多种方式使用的术语,尽管它在工业安全中具有非常具体的含义,但它可能成为走捷径的借口,这在安全项目中是不可接受的。一个系统的强度取决于它最薄弱的地方。医疗标准IEC 62304中使用了未知血统/出处(SOUP)的软件,但是有充分的理由在安全项目中没有“未知”的东西。你可以测试它到死,但最终,当它的起源未知时,你如何在未来几年内维护它?

断章取义地定义安全元素

在汽车领域,ISO 26262-10中定义的安全元件脱离环境(SEooC)是在车辆中使用最初不是为该特定项目设计的组件的方法。

术语SEooC有点笨拙,但它清楚地定义了问题。您集成到系统中的所有软件库都是“脱离上下文”有效地开发的:它们旨在提供特定的功能,而不了解它将如何在目标系统中使用。“元素”表示这是一个具有特定功能范围的单元或模块;“安全”表示该模块是在一组安全要求的背景下专门开发的。

有两种基本类型的软件 SEooC(源自 ISO 26262-10-9):

经验证的使用方法。这种类型的软件使用“已使用中证明”参数(和其他措施)来验证 COTS 组件是否符合指定的安全级别。ISO 26262-8-14规定了如何实现这一目标,但在软件环境中有很多争论。可观察错误的概念是关键 - 记录产品的使用情况,以便可靠地记录和汇总所有错误,从而准确了解软件的可靠性。这需要考虑在特定配置中。这些结果与目标项目的相关性是复杂的,因为安全项目几乎可以肯定在用于建立软件可靠性的现场测试用例中具有不同的配置和工作环境。您能相信一款未按照安全标准开发的软件能够可靠地报告所有错误吗?

ISO 26262-6方法。在汽车安全系统中开发软件元件的标准方法在ISO 26262标准的第6节中定义,用于开发道路车辆的功能安全。它源自标准前面部分中定义的目标系统的完整 V 模型开发,并且本身就是一个 V 模型。由于该要素是在上下文之外开发的(即,不是从目标项目的安全计划中得出的),因此必须采取其他措施。主要的附加措施是创建一组假设,SEooC 旨在在其中工作。在集成期间,必须在目标平台上验证这些假设。

完整的软件生命周期维护

这是任何安全项目开发的关键部分:响应开发期间或发布后提出的问题的能力。一旦项目成熟,就需要有一种方法在提出问题时可靠地修改项目。ISO 26262-6方法的一个关键优势是可以进行全面而准确的影响分析,并正确实施由此产生的更改,因为所有标准工件都是在设计,实施和测试之间具有可追溯性的。

在时间和人员方面,您离项目发布越远,就越需要提供工件及其相关流程,以便安全地进行更改。此方法可确保将来的可维护性。

跨行业重用

在多个行业中使用许多嵌入式组件具有实际意义。例如,用于存储数据的文件系统或用于通信数据的网络堆栈不是特定于行业的,理想情况下,从一个新项目中获得的好处应该在新项目中利用,而不管它们适用于哪个行业。从软件的角度来看,跨不同行业开发软件的安全要求大致相似,但根据所需的安全级别具有不同程度的严格性。采用根据 ISO 26262-6 开发的 SEooC 方法为跨标准映射伪影提供了坚实的基础(例如,符合工业功能安全的 IEC 61508 或医疗设备的 IEC 62304)。

为 SEooC 定义 ASIL 级别

在所有安全标准中,都规定了安全级别。目标系统中故障的影响越严重,用于实施和验证软件的定义措施就越严格。

为 SEooC 选择汽车安全完整性等级 (ASIL) 可能会有问题。简单的答案是始终开发到最高ASIL级别(ASIL D),以便无需重大返工即可与任何项目集成,并且跨行业标准的映射也更容易。缺点是,它使这些 SEooC 比开发到较低 ASIL 的 SEooC 贵得多。

如何获取 SEooC

SEooC可以提供嵌入式组件作为安全系统的核心部分,并降低成本。然而,设计嵌入式组件以便在安全环境中重复使用不可避免地很复杂,因此采购这些组件必须经过深思熟虑。为了获得最佳结果,它们需要在能够处理安全产品生命周期需求的环境中进行开发。

最佳实践是开发完整的ISO 26262第6节安全元件,其中包含准备重复使用的假设和测试用例。这需要由项目管理系统支持,该系统允许每个客户使用在半独立项目中维护的 SEooC,以便整个软件维护生命周期可以独立应用于该项目。

审核编辑:郭婷

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

    关注

    5062

    文章

    18990

    浏览量

    302428
  • JAVA
    +关注

    关注

    19

    文章

    2953

    浏览量

    104503
收藏 人收藏

    评论

    相关推荐

    什么是嵌入式?一文读懂嵌入式主板

    现代科技浪潮嵌入式技术已成为支撑各种智能设备和系统运行的核心力量。那么,究竟什么是嵌入式嵌入式
    的头像 发表于 10-16 10:14 432次阅读

    嵌入式系统的未来趋势有哪些?

    会更加模块化和集成化,允许更容易的硬件和软件的切换和升级。这会提高系统的可维护性和可扩展性,会使得系统能够适应不断变化的应用需求。 5. 生态可持续性与环保材料
    发表于 09-12 15:42

    嵌入式机电一体化系统设计与实现》读后感

    刻的认识。从硬件上将外围器件整合到CPU内部,到软件操作系统内核嵌入应用程序,再到将软件
    发表于 08-21 08:45

    嵌入式系统的实时操作系统

    嵌入式RTOS是嵌入式应用程序运行、相互交互和与外界通信的底层软件机制。本节,您将了解嵌入式
    的头像 发表于 08-20 11:28 429次阅读

    嵌入式系统工业4.0网络安全

    C和C++嵌入式系统占主导地位。多年来,实施工业4.0和物联网的组织已经认识到所有代码的信息安全
    的头像 发表于 08-12 21:45 441次阅读
    <b class='flag-5'>嵌入式</b><b class='flag-5'>系统</b><b class='flag-5'>中</b>工业4.0网络<b class='flag-5'>安全</b>

    机器视觉嵌入式的应用

    机器视觉嵌入式系统的应用是一个广泛而深入的话题,涉及到许多不同的领域和技术。 机器视觉嵌入式
    的头像 发表于 07-16 10:30 428次阅读

    嵌入式系统怎么学?

    系统设计与调试:需要掌握嵌入式系统的设计方法和调试技术,包括硬件设计、软件设计、电路调试等,以确保系统
    发表于 07-02 10:10

    嵌入式系统软硬件基础知识大全

    基础知识的探讨,我们希望读者能够掌握嵌入式系统的基本概念,理解其工作原理,为从事嵌入式系统设计和开发工作奠定基础。 嵌入式
    发表于 05-09 14:12

    嵌入式系统发展前景?

    应用领域。随着汽车电子化和智能化程度的不断提高,嵌入式系统将在汽车控制、安全系统、自动驾驶等方面发挥更为重要的作用。 工智能和机器学习技术的发展为嵌入式
    发表于 02-22 14:09

    嵌入式软件开发应该掌握哪些知识?

    嵌入式软件开发应该掌握哪些知识? 一、 什么是嵌入式软件嵌入式软件通常是指
    发表于 02-19 11:23

    嵌入式软件开发和软件开发的区别

    嵌入式软件开发和软件开发是两个不同的概念,它们一些关键方面有着明显的区别。嵌入式
    的头像 发表于 01-22 15:27 2139次阅读

    基于功能安全的汽车嵌入式软件单元验证技术研究

    随着汽车嵌入式软件功能的不断叠加,软件复杂性不断提升,对汽车嵌入式软件安全性提出了更高要求,基
    的头像 发表于 01-07 11:27 993次阅读
    基于功能<b class='flag-5'>安全</b>的汽车<b class='flag-5'>嵌入式</b><b class='flag-5'>软件</b>单元验证技术研究

    SCADE—产品级安全关键系统的MBD开发套件

    安全关键零部件的嵌入式产品级软件提供了SCADE开发套件,支持嵌入式软件详细设计和代码自动生成,
    的头像 发表于 01-05 14:12 546次阅读
    SCADE—产品级<b class='flag-5'>安全</b><b class='flag-5'>关键</b><b class='flag-5'>系统</b>的MBD开发套件

    嵌入式系统堆栈监控的作用

    微控制器或微处理器,堆栈是内存的一个保留区域,用于存储临时数据和函数调用信息,管理函数的执行,跟踪返回地址、局部变量和函数参数。堆栈监控是嵌入式系统运行
    的头像 发表于 01-05 11:13 456次阅读

    嵌入式硬件和软件哪个好?

    嵌入式硬件和软件哪个好? 嵌入式软硬件工程师哪个更有前途呢?一起来看看。 嵌入式是分为软硬件工程师的,首先我们先来看看嵌入式硬件工程师吧!
    发表于 12-05 15:17