汽车功能安全之软件架构设计

谈思汽车 2024-02-02 11:35

 智能汽车安全新媒体 

01

什么是软件架构设计?

在20世纪60年代,戴克斯特拉这位上古大神就已经提出软件架构这个概念了,但软件架构真正流行却是从20世纪90年代开始的,由于在Rational和Microsoft内部的相关活动,软件架构的概念开始越来越流行了。

卡内基·梅隆大学的玛丽·肖(Mary Shaw)和戴维·加兰(David Garlan)对软件架构做了很多研究,他们在1994年的一篇文章《软件架构介绍》(An Introduction to Software Architecture)中写到:

“When systems are constructed from many components, the organization of the overall system-the software architecture-presents a new set of design problems.”

简单翻译一下:随着软件系统规模的增加,计算相关的算法和数据结构不再构成主要的设计问题;当系统由许多部分组成时,整个系统的组织,也就是所说的“软件架构”,导致了一系列新的设计问题。

这段话很好地解释了“软件架构”为何先在Rational或者Microsoft这样的大公司开始逐步流行起来。因为只有大公司开发的软件系统才具备较大规模,而只有规模较大的软件系统才会面临软件架构相关的问题,例如:

  • 系统规模庞大,内部耦合严重,开发效率低;

  • 系统耦合严重,牵一发动全身,后续修改和扩展困难;

  • 系统逻辑复杂,容易出问题,出问题后很难排查和修复。

而在功能安全标准中的定义——软件架构设计是指全部软件组件及其在层次结构中的交互。静态方面,如所有软件组件间的接口和数据路径;动态方面,如进程顺序和定时行为,都得到描述。

软件架构设计不必局限于某个微控制器或电控单元,它关系到技术安全概念和系统设计。软件架构设计并不是功能安全独有的要求,只是功能安全在原有的基础上叠加了很多安全方面的设计和考量标准,这使得软件架构设计变得更全面更安全,同时为开发既实现软件安全要求又实现非安全要求的软件架构设计,通常来说安全和非安全性要求应在同一开发过程中处理。软件架构设计提供了实施软件安全要求和管理软件开发复杂性的方法。

02

软件架构设计依赖关系

03

软件架构设计要求和建议

软件架构设计描述方法

为确保软件架构设计获取必要信息以允许后续开发活动得到正确且有效的执行,下表列出的软件架构设计的标记法,对软件架构设计进行恰当抽象层级的描述。

解释:

  • 自然语言:可以补充符号的使用,例如,一些主题更容易用自然语言表达,或者为符号中捕获的决策提供解释和理由,使抽象的设计更容易被理解。

  • 非正式标记法:通常不作为标准的标记方法,描述上比较模糊。

  • 半正式标记法:包括伪代码或使用UML、SysML、Simulink或Stateflow建模。

  • 正式标记法:包括数学或物理学表达式,通常是被证明过的严谨的表达式

软件架构设计必要的性质

软件架构设计的可验证性;(这表明软件架构设计和软件安全要求之间的双向可追溯性)

可配置软件的适用性;

软件单元设计和实现的可行性;

软件集成测试中,软件架构的可测性;

软件架构设计的可维护性。

避免高度复杂性原则

为避免因高度复杂性导致的失效,应遵循下表列出的原则设计软件架构:

1a.软件需要采用分层架构,分层架构比较清晰

1b.每个软件模块或组件都不要太大,太大了不好维护,容易出bug

1c.接口的数量不要太多,降低软件组件间的依赖关系

1d.1e.软件尽量模块化,这个颗粒度需要自己根据实际的产品把握

1f.调度合理,没啥可说的,必须要合理

1g.少使用中断,如果用中断必须定义优先级

1h.内存分区隔离保护

1i.适用于共享硬件资源以及共存情况下的共享软件资源。这种资源管理可以以软件或硬件来实现,并且包括防止对共享资源的冲突访问的安全机制和/或过程措施以及检测和处理对共享资源的冲突访问的机制。

其实原则很很简单,就是尽量避免高复杂性,高复杂性包括:

  1. 高度分支的控制或数据流;

  2. 分配给单一设计元素的需求数量过多;

  3. 一个设计元素的接口数量过多或设计元素之间的交互数量过多;

  4. 类型复杂或参数数量过多;

  5. 全局变量数量过多;

  6. 难以提供错误检测和处理的适用性和完整性的证据;

  7. 难以达到所需的测试覆盖率

  8. 只有少数专家或项目参与者才能理解。

软件架构设计描述

为确定动态行为(如任务、时间片和中断),需要考虑不同的运行状态(如开机、关机、正常运行、标定和诊断)并且定义通讯关系和所分配的系统硬件(如 CPU 和通讯通道)。

软件分区

  1. 共享资源的使用方式应确保软件分区免于干扰;

  2. 一个软件分区内的任务彼此之间不能免于干扰。

  3. 一个软件分区不能改变其它软件分区的代码或数据,也不能访问其它软件分区的非共享资源。

  4. 一个软件分区从共享资源获取的服务不能被另一个软件分区影响。这包括相关资源的性能,以及计划访问资源的使用率、延迟、抖动和持续时间。

  5. 由专用的硬件功能或等效方法来支持软件分区(该要求适用于 ASIL D)

  6. 执行软件分区的软件部分,按照分配给软件分区要求的相同 ASIL等级进行开发,或按照比分配给软件分区要求的最高 ASIL等级更高的一个ASIL等级进行开发;且一般来说操作系统提供支持软件分区。

  7. 在软件集成和测试过程中执行软件分区的验证。

软件组件

每个与安全相关的软件组件应被归类为下述之一:

  • 新开发的,需要按照功能安全标准开发。

  • 修改后使用的,需要按照功能安全标准修改。

  • 未经修改复用的。,对未经修改重用的安全相关软件组件进行鉴定。

如果在新的设计中引入了新的危害没有被现有的安全目标覆盖,应按照的变更管理流程在危害分析和风险评估中对它们进行介绍和评估。

未体现在安全目标中的新识别危害,通常是非功能性危害。如果这些非功能性危害超出了本标准的范畴,那么建议在危害分析和风险评估中用以下声明“因不属于功能安全的范畴,而未对该危害分配 ASIL”来标注它们,然而,为了参考,允许对其分配一个 ASIL 等级。

功能安全等级

应将软件安全要求分配给软件组件。因此,每个软件组件应按照分配给它的要求中最高的 ASIL等级来进行开发。根据这一分配,进一步细化软件安全要求可能是必要的。

如果嵌入式软件不得不实现不同 ASIL等级的软件组件,或实现安全相关及非安全相关的软件组件,除非软件组件符合功能安全标准中定义的兼容性准则,否则全部嵌入式软件必须按照最高 ASIL等级来处理。

如果在新的设计中引入了新的危害没有被现有的安全目标覆盖,应按照的变更管理流程在危害分析和风险评估中对它们进行介绍和评估。

未体现在安全目标中的新识别危害,通常是非功能性危害。如果这些非功能性危害超出了本标准的范畴,那么建议在危害分析和风险评估中用以下声明“因不属于功能安全的范畴,而未对该危害分配 ASIL”来标注它们,然而,为了参考,允许对其分配一个 ASIL 等级。

安全机制

  1. 当分配给软件的技术安全要求没有对软件安全机制的使用进行直接要求时,那么应在系统层面对软件安全机制的使用进行评审,以分析对系统行为的潜在影响。

  2. 输入和输出数据的范围检查;

  3. 合理性检查(例如,使用所需行为的参考模型、断言检查或比较来自不同来源的信号);

  4. 数据错误检测(例如错误检测代码和多重数据存储);

  5. 通过外部元件(例如 ASIC 或其他软件元件)监控程序执行执行看门狗功能。监控可以是逻辑监控或时间监控或两者兼而有之;

  6. 程序执行的时间监控;

  7. 设计中存在多种冗余;

  8. 在与授予或拒绝对安全相关共享资源的访问有关的软件或硬件中实现的访问冲突控制机制。

故障处理机制

  1. 静态恢复机制(例如恢复块、向后恢复、向前恢复和重复恢复);

  2. 通过优先考虑功能来实现降级,以尽量减少潜在故障对功能安全的不利影响;

  3. 设计中的同质冗余,主要侧重于控制执行类似软件的硬件中的瞬态故障或随机故障的影响(例如软件的时间冗余执行);

  4. 设计中的多样化冗余意味着每个并行路径中的软件不同,并且主要侧重于预防或控制软件中的系统故障;

  5. 数据纠错码;

  6. 在与授予或拒绝对安全相关共享资源的访问有关的软件或硬件中实施的访问权限管理。

可以在系统层面对软件安全机制(包括通用鲁棒性机制)进行审查,分析对系统行为的潜在影响以及与技术安全要求的一致性。

资源上限

应该对嵌入式软件所需资源进行上限预估:

  • 执行时间,例如函数运行的时间,操作写入的时间;

  • 存储空间,例如用于存储堆和栈的 RAM,用于存储程序和非易失数据的 FLASH;

  • 通讯资源。例如SPI、SCI、CAN通信等。

验证方法

04

常用的安全机制

各位同学还记得安全机制的定义吧,这里简单回顾一下:

  • 安全机制是检测/避免/控制失效或者减轻其有害影响的技术解决方案;

  • 安全机制是由E/E功能、元件或其他技术实现的;

  • 安全机制是能够将相关项维持在安全状态或者提醒驾驶员去控制失效的影响。

从定义中可以判断,很多安全机制是基于产品来进行定义的,譬如电机控制器的转矩安全、高压安全,DCDC的输出电压安全等等,但总有些安全机制是通用的,不按照产品区分的,今天在这里大概的整理一下,如有遗漏请各位朋友帮忙补充。

应用层常用的安全机制

应用层的安全机制通常是依赖于功能安全需求和技术安全需求,并且需要技术安全概念去明确定义的。

底层常用的安全机制

底层安全机制指的是与芯片功能安全的相关的特性,通常是由半导体厂商推荐的安全机制。

安全的设计方法

安全的设计方法也属于安全机制的一部分,这些方法可以在一定程度上避免失效或错误的发生。

05

结语

关于软件架构设计是一个很复杂的主题,这次的分享只是宏观的去介绍软件架构设计应该包括哪些内容,有哪些要求。但实际上每个安全机制都是值得去深入研究的,而且每个研究都可以是一个独立的主题,具体的安全机制的技术细节我都会在功能安全技术的专栏去详细拆解分析。

内容来源:

https://zhuanlan.zhihu.com/p/671821514

-  THE END  -


 精品活动推荐 


因文章部分文字及图片涉及到引用,如有侵权,请及时联系17316577586,我们将删除内容以保证您的权益。

谈思汽车 智能汽车安全新媒体
评论 (0)
  • 文/Leon编辑/cc孙聪颖‍2023年,厨电行业在相对平稳的市场环境中迎来温和复苏,看似为行业增长积蓄势能。带着对市场向好的预期,2024 年初,老板电器副董事长兼总经理任富佳为企业定下双位数增长目标。然而现实与预期相悖,过去一年,这家老牌厨电企业不仅未能达成业绩目标,曾提出的“三年再造一个老板电器”愿景,也因市场下行压力面临落空风险。作为“企二代”管理者,任富佳在掌舵企业穿越市场周期的过程中,正面临着前所未有的挑战。4月29日,老板电器(002508.SZ)发布了2024年年度报告及2025
    华尔街科技眼 2025-04-30 12:40 237浏览
  • 晶振在使用过程中可能会受到污染,导致性能下降。可是污染物是怎么进入晶振内部的?如何检测晶振内部污染物?我可不可以使用超声波清洗?今天KOAN凯擎小妹将逐一解答。1. 污染物来源a. 制造过程:生产环境不洁净或封装密封不严,可能导致灰尘和杂质进入晶振。b. 使用环境:高湿度、温度变化、化学物质和机械应力可能导致污染物渗入。c. 储存不当:不良的储存环境和不合适的包装材料可能引发化学物质迁移。建议储存湿度维持相对湿度在30%至75%的范围内,有助于避免湿度对晶振的不利影响。避免雨淋或阳光直射。d.
    koan-xtal 2025-04-28 06:11 155浏览
  •  探针台的维护直接影响其测试精度与使用寿命,需结合日常清洁、环境控制、定期校准等多维度操作,具体方法如下:一、日常清洁与保养1.‌表面清洁‌l 使用无尘布或软布擦拭探针台表面,避免残留清洁剂或硬物划伤精密部件。l 探针头清洁需用非腐蚀性溶剂(如异丙醇)擦拭,检查是否弯曲或损坏。2.‌光部件维护‌l 镜头、观察窗等光学部件用镜头纸蘸取wu水jiu精从中心向外轻擦,操作时远离火源并保持通风。3.‌内部防尘‌l 使用后及时吹扫灰尘,防止污染物进入机械滑
    锦正茂科技 2025-04-28 11:45 121浏览
  • 贞光科技代理品牌紫光国芯的车规级LPDDR4内存正成为智能驾驶舱的核心选择。在汽车电子国产化浪潮中,其产品以宽温域稳定工作能力、优异电磁兼容性和超长使用寿命赢得市场认可。紫光国芯不仅确保供应链安全可控,还提供专业本地技术支持。面向未来,紫光国芯正研发LPDDR5车规级产品,将以更高带宽、更低功耗支持汽车智能化发展。随着智能网联汽车的迅猛发展,智能驾驶舱作为人机交互的核心载体,对处理器和存储器的性能与可靠性提出了更高要求。在汽车电子国产化浪潮中,贞光科技代理品牌紫光国芯的车规级LPDDR4内存凭借
    贞光科技 2025-04-28 16:52 284浏览
  • 随着电子元器件的快速发展,导致各种常见的贴片电阻元器件也越来越小,给我们分辨也就变得越来越难,下面就由smt贴片加工厂_安徽英特丽就来告诉大家如何分辨的SMT贴片元器件。先来看看贴片电感和贴片电容的区分:(1)看颜色(黑色)——一般黑色都是贴片电感。贴片电容只有勇于精密设备中的贴片钽电容才是黑色的,其他普通贴片电容基本都不是黑色的。(2)看型号标码——贴片电感以L开头,贴片电容以C开头。从外形是圆形初步判断应为电感,测量两端电阻为零点几欧,则为电感。(3)检测——贴片电感一般阻值小,更没有“充放
    贴片加工小安 2025-04-29 14:59 257浏览
  • 在CAN总线分析软件领域,当CANoe不再是唯一选择时,虹科PCAN-Explorer 6软件成为了一个有竞争力的解决方案。在现代工业控制和汽车领域,CAN总线分析软件的重要性不言而喻。随着技术的进步和市场需求的多样化,单一的解决方案已无法满足所有用户的需求。正是在这样的背景下,虹科PCAN-Explorer 6软件以其独特的模块化设计和灵活的功能扩展,为CAN总线分析领域带来了新的选择和可能性。本文将深入探讨虹科PCAN-Explorer 6软件如何以其创新的模块化插件策略,提供定制化的功能选
    虹科汽车智能互联 2025-04-28 16:00 203浏览
  • 浪潮之上:智能时代的觉醒    近日参加了一场课题的答辩,这是医疗人工智能揭榜挂帅的国家项目的地区考场,参与者众多,围绕着医疗健康的主题,八仙过海各显神通,百花齐放。   中国大地正在发生着激动人心的场景:深圳前海深港人工智能算力中心高速运转的液冷服务器,武汉马路上自动驾驶出租车穿行的智慧道路,机器人参与北京的马拉松竞赛。从中央到地方,人工智能相关政策和消息如雨后春笋般不断出台,数字中国的建设图景正在智能浪潮中徐徐展开,战略布局如同围棋
    广州铁金刚 2025-04-30 15:24 231浏览
  • 一、智能家居的痛点与创新机遇随着城市化进程加速,现代家庭正面临两大核心挑战:情感陪伴缺失:超60%的双职工家庭存在“亲子陪伴真空期”,儿童独自居家场景增加;操作复杂度攀升:智能设备功能迭代导致用户学习成本陡增,超40%用户因操作困难放弃高阶功能。而WTR096-16S录音语音芯片方案,通过“语音交互+智能录音”双核驱动,不仅解决设备易用性问题,更构建起家庭成员间的全天候情感纽带。二、WTR096-16S方案的核心技术突破1. 高保真语音交互系统动态情绪语音库:支持8种语气模板(温柔提醒/紧急告警
    广州唯创电子 2025-04-28 09:24 192浏览
  • 4月22日下午,备受瞩目的飞凌嵌入式「2025嵌入式及边缘AI技术论坛」在深圳深铁皇冠假日酒店盛大举行,此次活动邀请到了200余位嵌入式技术领域的技术专家、企业代表和工程师用户,共享嵌入式及边缘AI技术的盛宴!1、精彩纷呈的展区产品及方案展区是本场活动的第一场重头戏,从硬件产品到软件系统,从企业级应用到高校教学应用,都吸引了现场来宾的驻足观看和交流讨论。全产品矩阵展区展示了飞凌嵌入式丰富的产品线,从嵌入式板卡到工控机,从进口芯片平台到全国产平台,无不体现出飞凌嵌入式在嵌入式主控设备研发设计方面的
    飞凌嵌入式 2025-04-28 14:43 171浏览
  • 一、gao效冷却与控温机制‌1、‌冷媒流动设计‌采用低压液氮(或液氦)通过毛细管路导入蒸发器,蒸汽喷射至样品腔实现快速冷却,冷却效率高(室温至80K约20分钟,至4.2K约30分钟)。通过控温仪动态调节蒸发器加热功率,结合温度传感器(如PT100铂电阻或Cernox磁场不敏感传感器),实现±0.01K的高精度温度稳定性。2、‌宽温区覆盖与扩展性‌标准温区为80K-325K,通过降压选件可将下限延伸至65K(液氮模式)或4K(液氦模式)。可选配475K高温模块,满足材料在ji端温度下的性能测试需求
    锦正茂科技 2025-04-30 13:08 298浏览
  • 文/郭楚妤编辑/cc孙聪颖‍越来越多的企业开始蚕食动力电池市场,行业“去宁王化”态势逐渐明显。随着这种趋势的加强,打开新的市场对于宁德时代而言至关重要。“我们不希望被定义为电池的制造者,而是希望把自己称作新能源产业的开拓者。”4月21日,在宁德时代举行的“超级科技日”发布会上,宁德时代掌门人曾毓群如是说。随着宁德时代核心新品骁遥双核电池的发布,其搭载的“电电增程”技术也走进业界视野。除此之外,经过近3年试水,宁德时代在换电业务上重资加码。曾毓群认为换电是一个重资产、高投入、长周期的产业,涉及的利
    华尔街科技眼 2025-04-28 21:55 182浏览
  • 网约车,真的“饱和”了?近日,网约车市场的 “饱和” 话题再度引发热议。多地陆续发布网约车风险预警,提醒从业者谨慎入局,这背后究竟隐藏着怎样的市场现状呢?从数据来看,网约车市场的“过剩”现象已愈发明显。以东莞为例,截至2024年12月底,全市网约车数量超过5.77万辆,考取网约车驾驶员证的人数更是超过13.48万人。随着司机数量的不断攀升,订单量却未能同步增长,导致单车日均接单量和营收双双下降。2024年下半年,东莞网约出租车单车日均订单量约10.5单,而单车日均营收也不容乐
    用户1742991715177 2025-04-29 18:28 237浏览
  • 你是不是也有在公共场合被偷看手机或笔电的经验呢?科技时代下,不少现代人的各式机密数据都在手机、平板或是笔电等可携式的3C产品上处理,若是经常性地需要在公共场合使用,不管是工作上的机密文件,或是重要的个人信息等,民众都有防窃防盗意识,为了避免他人窥探内容,都会选择使用「防窥保护贴片」,以防止数据外泄。现今市面上「防窥保护贴」、「防窥片」、「屏幕防窥膜」等产品就是这种目的下产物 (以下简称防窥片)!防窥片功能与常见问题解析首先,防窥片最主要的功能就是用来防止他人窥视屏幕上的隐私信息,它是利用百叶窗的
    百佳泰测试实验室 2025-04-30 13:28 385浏览
  • 在智能硬件设备趋向微型化的背景下,语音芯片方案厂商针对小体积设备开发了多款超小型语音芯片方案,其中WTV系列和WT2003H系列凭借其QFN封装设计、高性能与高集成度,成为微型设备语音方案的理想选择。以下从封装特性、功能优势及典型应用场景三个方面进行详细介绍。一、超小体积封装:QFN技术的核心优势WTV系列与WT2003H系列均提供QFN封装(如QFN32,尺寸为4×4mm),这种封装形式具有以下特点:体积紧凑:QFN封装通过减少引脚间距和优化内部结构,显著缩小芯片体积,适用于智能门铃、穿戴设备
    广州唯创电子 2025-04-30 09:02 286浏览
我要评论
0
0
点击右上角,分享到朋友圈 我知道啦
请使用浏览器分享功能 我知道啦