ISO 26262安全的软件开发流程

2023-06-02 0 816

ISO 26262安全的软件开发流程

应用领域软件设计开启

依照ISO 26262-6 5.4.6中提议,在应用领域软件设计的开启期,对开启应用领域软件级产品设计,具体来说须要制订有关整座应用领域软件级合作开发的公益活动和方式的方案,相关联用软件设计的每一子期,如果依照应用领域规范化来选择相关联的方式和适当的辅助工具。依照国际标准,SmartSAR Studio在优先选择UML时考虑到了:对UML须要有明晰的表述,他们选用EMFGMF三种UML构筑给两个可视化自然环境提供更多给使用者;UML全力支持模块化,抽象化和形式化的内部结构,依照国际标准中对可视化和代码规范化中须要包涵的难题,他们的辅助工具全力支持的可视化和代码规范化,如下表所示表右图:难题ASILABCD1a维数低++++++++1b词汇开集的选用++++++++1c选用强类别++++++++1d防卫式Vaubecourto+++++1e选用明晰的绘图则表示+++++++1f选用重新命名规范化++++++++Studio的可视化方式非常简单,每一模型的图元也不复杂,符合嵌入式领域应用领域软件合作开发人员的常识,同时他们参照了多个领域应用领域软件设计词汇,表述了一套通用的UML。本UML选用强类别,每一模型有自己特定的类别,须要声明后才能选用,每一模型在可视化辅助工具中都有唯一明晰确定的绘图则表示,同时对于默认的模型名称有符合意义的重新命名方式,并且符合C词汇重新命名规范化。由于Studio是属于基于模型驱动的合作开发方式,同时也是两个多层的合作开发架构,不如果由于上层或者外部的输入错误而导致本层次被破坏,这也是将可能出现的错误造成的影响控制在最小的范围内。因此,不仅在代码构建本辅助工具的过程中,他们选用防卫式编程方式,同时在可视化自然环境中对使用者的模型也提供更多最大可能的防卫措施,包括各种验证提示,在代码级最大可能容忍恢复使用者的可视化错误,将各种可能的错误风险提到最上层等。

ISO 26262安全的软件开发流程

需求分析期

需求分析期是应用领域软件工程领域中应用领域软件设计最开始的期,它主要是完成对系统整座的表述,确定系统的各种需求,帮助合作开发测试人员理解整座系统的功能,为后续的工作打下基础。在ISO 26262-4中给出了技术安全可靠需求规格,用来规范化技术安全可靠需求,细化功能安全可靠概念,同时考虑到功能概念和初级的架构假设级别上。在合作开发周期内,技术安全可靠规范化是用来实现功能安全可靠概念的必须技术需求。系统的初级架构假设和系统性质,包括:外部接口如通信和使用者接口,系统限制条件如自然环境和功能限制,系统配置需求。在技术安全可靠需求规范化中如果有的安全可靠机制包括:1)系统自身的错误检查、通知和控制相关的措施,这些包涵系统的自我监控或者对随机硬件错误的检查,也包涵对通信通道(如数据接口,通信总线,无线连接)的失败模式检查和监控措施。2)在和系统交互的外部设备中,对错误的检查、通知和控制相关的措施。其中,外部设备包括:其它电子控制单元,电力提供更多或者通信设备等。3)使能系统到达或者维护两个安全可靠状态的措施,包括优化安全可靠机制冲突和仲裁逻辑。4)细化和实现报警及降级概念。5)防止潜在错误的措施。

设计期

在应用领域软件设计过程中,设计期是继需求之后的两个重要期,在了解系统的需求后,设计期是决定系统整体质量的重要保证,在系统设计期,主要关心的是系统的架构设计,基本的输入输出业务流程,外部交互,组织结构,模块分配,功能划分,数据结构设计和出错设计等,为应用领域软件的详细设计提供更多基石。在ISO 26262-4ISO 26262-6中都有涉及到到设计期安全可靠的合作开发。面的概念。系统设计应给予功能概念,基础架构假设以及技术安全可靠需求,保证各个期的基础架构假设保持一致。考虑到技术安全可靠需求的实现难题,系统设计如果考虑一下这些难题:1)验证系统设计的能力。2)在系统集成期间测试的可执行能力。3)系统和子系统架构如果在相关联的ASIL等级上符合技术安全可靠需求。4)每一元素应从它实现的技术安全可靠需求中继承最高的ASIL等级。5)对安全可靠相关的元素,如果表述其内部和外部的接口,这是为了避免其它元素影响它们的安全可靠性。在系统设计期中, ISO 26262-47.4.3.7中规定了为了避免高复杂性引起的失败,架构设计如果满足模组化,足够的颗粒度和简单的原则。其中模组化的系统设计如果满足的属性如下表所示表右图。属性ASILABCD1层次设计++++++2精确表述的接口++++3避免应用领域软件组件和硬件组件不必要的维数++++4避免不必要的接口维数++++在Studio中,RTE运行时自然环境层依照架构层应用领域软件组件的架构设计,表述了应用领域软件组件间通信接口,有明确的通信接口生成规定,同时也避免了不必要的接口维数,减少了依赖关系。系统映射依照架构层表述的应用领域软件组件架构和ECU拓扑结构,完成应用领域软件和硬件的映射关系,避免了软硬件的耦合关系,减少了交互的不必要的维数,同时也是避免了软硬件交互的接口维数,减少了依赖关系。在ISO 26262-6中规定了应用领域软件级设计和安全可靠相关的概念。应用领域软件架构设计代表了所有的应用领域软件组件和它们在层次化结构中的交互关系。应用领域软件架构设计提供更多了可以实现应用领域软件安全可靠需求的方式以及处理应用领域软件设计的复杂性。为了保证应用领域软件架构设计获得的信息足够让后续的合作开发业务流程正确有效的执行,应用领域软件架构设计如果用下表中列出的则表示法描述合适的抽象化等级。方式ASILABCD1a非正式则表示法+++++1b半正式则表示法+++++++1c正式则表示法++++为了避免因高维数导致的错误,应用领域软件架构设计如果满足模组化,封装性和简单这三个基本的属性,下表中给出了应用领域软件架构设计的原则。方式ASILABCD1a应用领域软件组件的层次化结构++++++++1b应用领域软件组件的高内聚性+++++++1c应用领域软件组件间的低耦合性+++++++在Studio的层次结构中,全力支持应用领域软件组件的层次化结构,每一应用领域软件组件通过内部行为则表示其应用领域软件组件具体完成的功能,满足高内聚性和低耦合性。架构层的设计保证了应用领域软件架构设计合作开发到合理的程度使得所有的应用领域软件单元能够区别开。软件架构设计包涵了静态设计和动态设计两部分,其中静态设计部分,架构层完成了分级层次的应用领域软件结构,应用领域软件组件的端口实现了国际标准中规定的应用领域软件组件的外部接口。依照国际标准7.4.9中指出,应用领域软件安全可靠需求如果分配到应用领域软件组件上,每一应用领域软件组件如果依照分配给它的最高等级的ASIL来合作开发。

合作开发实现期

合作开发实现期是应用领域软件工程中表述的系统合作开发的最中心的工作,它是完成系统实现的主要工作,因此在合作开发实现期的安全可靠保证也是Studio非常重要的工作。应用领域软件的合作开发实现包括源码的生成和转化为目标代码。在ISO 26262-68.4.4中给出了应用领域软件单元设计和在源码级实现的属性,包括:应用领域软件单元的子程序和功能能够正确执行相关步骤;应用领域软件单元间保持接口一致;简单性;可读性和易理解性;鲁棒性;易于修改和可测试性。如下表所示表给出了他们辅助工具符合国际标准的一些设计原则。方式ASILABCD1a子程序和方式只有两个入口和出口++++++++1b没有动态对象和变量,也没有在创建时的在线测试+++++++1c变量初始化++++++++1d变量名的多次选用+++++++1e不选用全局变量++++++1f尽量不适用指针o++++1g没有隐式的类别转换+++++++1h没有隐藏的数据流或者控制流+++++++1i没有无条件跳转+++++++1j没有递归++++++由于Studio的最终目标是生成安全可靠可靠的代码,包括应用领域软件组件的内部算法,应用领域软件组件间相互通信代码,ECU配置等代码,因此也须要符合国际标准中对代码的一些规范化。

集成和测试期

集成和测试期是应用领域软件设计的最后期,它是正确高效运行应用领域软件的必要保证。集成是按照系统设计的要求将各个模块组装成子系统或者是系统,测试验证应用领域软件设计是否正确的完成了需求。依照ISO 26262-4中的规定,集成和测试期包涵三个期和两个目标。第两个期是项目包涵的每一元素的软硬件集成;第二个期是项目的所有元素集成两个完整的系统;第三个期是本系统和其它系统的集成。第两个目标是依照需求和ASIL等级来测试系统对安全可靠需求的符合性;第二个目标是验证系统设计的功能需求和安全可靠需求是否都完成。注:以上参考国际标准iso26262-2011,整理自速玛科技,仅供学习参考!

ISO 26262安全的软件开发流程

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务