丁香婷婷色五月激情综合深爱

发布日期:2022-06-18 17:04    点击次数:70

从功能安全视角看软件架构狡计

 

功能安全应该若何接头软件架构,什么样的架构是合乎功能安全标准条款的,关于软件架构工程师和功能安全工程师,很难在两个方面都说得领会,本篇来从功能安全的角度谈谈软件架构狡计的基本条款。

最初,功能安全软件的架构狡计是基于两个脉络的:

第一:中式和设立一个脉络分明,易于连结的软件架构;

第二:在第一条的基础上,合乎相应功能安全等第条款的软件狡计条款。

接下来,以汽车功能安全标准ISO26262-6和轨道交通软件功能安全标准EN50128动作基准,谈谈标准是若何从以上两个脉络来做出规矩的。

软件架构阶段的运转

软件架构狡计是软件人命周期的第二个阶段,前边的阶段是软件需求阶段(software requirements specification),在软件需求狡计时,把整个这个词软件当成一个黑盒处理,来详情该软件的整个功能、性能,与硬件的接口界说,与外部其它系统的接口界说,而在软件架构阶段,需要狡计一种架构来甘愿软件需求,通过脉络化结构的神态来默示软件架构的组件组成和他们之间的交互神态。以下图为例,虚线框以外是软件需求,虚线框内是软件架构。

什么是软件组件

上头这个图用于证实注解软件架构所做的责任,将整个这个词软件区别为功能和接口了了的组件。在ISO26262-6和EN50128中都有软件组件(component)这个认识,先来望望这个组件的界说:

许多人把组件连结成一个函数、或一个包括多个函数的文献,从标准中对组件的界说来看,组件动作一组软件功能需求的蚁集,有点访佛于面向对象讲话中的类的认识,是在软件架构中的一个个孤独的个体,不错单独替换更新的基本元素。通过软件组件的应用不错达到叠加使用和替换的标的,它不错被单独测试和版块处置。

软件架构狡计原则

若何狡计软件架构中的组件,在ISO26262-6中冷漠了以下狡计原则:

狡计原则从两个方面来进行规矩:

单个组件:牺牲组件的畛域,牺牲接口的数目,有限的中断使用,标的在于裁减每个组件的复杂度, 多个组件:组件内强内聚,组件之间松耦合,组件之间的空间阻隔,组件之间共用资源的冲破处置。

幸免出现以下情况:

系统的一个功能散播在不同的组件中,代码多个场地调动合并变量或景况; 未对系统的中断功能进行牺牲, 性生大片免费观看网站精彩短片多个中断变成导致软件的时刻敛迹不受控; 组件不具备可保养性,不能能做到重构其中一个组件; 组件未做到邃密的封装或封装分歧理,对外的接口过于高大或里面景况不能知; 组件狡计败落可读性,唯有巨匠级人员才气看得懂;

软件架构骨子要点

区别了脉络化的组件后,软件架构重心形色组件之间的关系:静态关系和动态关系。静态狡计方面如组件之间的接口、与硬件的关系、组件的分层结构常常相比明确,容易忽视的是动态狡计,软件的动态行为需要接头:

事件和行为的功能; 数据处理的逻辑规矩; 限度流和并发进度; 通过接口和全局变量传递的数据流; 时刻敛迹。

这些骨子仅用笔墨抒发容易变成歧义,难以形色准确,因此保举使用建模和笔墨抒发相伙同的神态,下表是EN50128对建模秩序的保举表,天然标准中仅条款至少使用一种,但从软件架构需要抒发的不同动态行为上,利弊建议根据不同的行为遴选恰当的建模秩序。举例遴选笔墨抒发难以准确形色不同系统通讯交互的时序关系,遴选Sequence Diagrams(序列图)不错明确默示交互关系。

EN50128 Table A.17 建模技能

在上表中,常用的建模秩序有:

数据流图——形色数据若何由输入慢慢流向输出的流程;

限度流图——形色由输入经过一系列限度动作到输出的流程;

景况机图——形色系统不同景况之间的退换关系;

真值表——形色一个复杂的组合逻辑关系;

序列图——形色不同组成部分通过信隔绝互的时序关系;

结构图——形色组件之间的脉络关系。

序列图示例

这些软件建模秩序属于软件通用的狡计秩序,在UML、SysML软件建模讲话中就有上述建模秩序,属于半风景化类秩序。

正式这些建模秩序在名堂中使用,需要让名堂中与软件架构关联的人连结一致,需要设立建模秩序的使用指南,丁香婷婷色五月激情综合深爱以范例其编写条款。

以上动作软件架构的通用性条款,软件短处为系统性失效,不存在失效概率的问题,因此,要是写的代码莫得bug,它百分之百是按照界说的需求去履行。然而,有两个问题是安全软件需要接头的,第一,软件不能幸免会存在bug;第二,软件的完了与它所运行的硬件,与它所接口的外部系统关连联,任何与它关联的外部环境发生调动,都会对软件的预期行为产生影响,因此,安全软件不仅要接头泛泛情况下的预期行为,也要接头故障和烦闷情况下的预期行为。

软件架构狡计应用技能

在EN50128中的A.3表,列举了软件架构可供采用的技能秩序,其中

2-14,16项是底层的安全狡计技能,其中较为常用的是Fault detection & Diagnosis,与硬件或外部接口关连联;Graceful degradation动作fail-operational的一种完了神态,用于确保故障情况下的功能照旧保持一定的可用性。关于软件的安全技能,应该顺应地采用使用,毕竟加多了软件的复杂度,也加大了系统性失效的可能,而况安全技能常常难以兼顾可测试性。

扎眼性编程动作SIL1-SIL4都高度保举使用的技能,是最常用的软件安全技能,用于查抄软件履行中不正确的数据流、限度流和数据值情况下的预期行为,一种是驻防软件自己狡计短处变成的问题,如变量的范围查抄、查抄输入值的信得过性、设施进口查抄入参的类型、大小和范围;另一种是驻防外部环境输入的不受控变成的问题,如查抄物理变量值输入的有用性、滤波处理、设立数据的竣工性和软件自己的竣工性。

EN50128 A.3

已存在软件组件的使用

在ISO26262和EN50128中都规矩了在安全软件中若何复用一个已存在软件组件,存在两种情况,会使用已存在组件:

来自于公司外部的CTOS组件; 昔日开垦组件的再运用。

最初一个组件粗野被叠加使用,它的接口必须能了了识别,详情其应用环境,完了的规格亦然明确的。在EN50128中,要是应用于SIL3和SIL4,需要分析已存在软件可能的失效对合座软件的影响,以及检测已存在软件失效的政策,如包装技能。在ISO26262.8中,第12章规矩了对已存在组件的纰漏条款。两个标准均条款对已存在软件进行纰漏,详情可用的功能、组件版块与设立、应用环境的假定、关联的安全竣工性等第、组件残余短处情况,并对纰漏流程进行考据。

软件组件的相互影响

当软件由不同安全竣工性等第的组件组成时,在EN50128 7.3.4.9和ISO26262-6 7.4.8的条款一致:

除非有笔据标明高档别组件和初级别组件之间相互孤独,从时刻分区和空间分区两个维度,其它情况都应按照最高等第条款开垦。

在ISO26262-6冷漠有两种不同组件分区的秩序,第一种是软件分区,从履行时序、数据保护、组件之间的数据交互方面接头组件之间的烦闷影响,第二种是硬件保护机制的复古,如MPU;第三种是操作系统或造谣化层对不同组件互不烦闷的复古。

终末,回来一下五方面主要骨子:

软件需求、软件架构与组件的关系; 软件架构需涵盖的骨子; 安全软件应用技能; 若何应用已存在软件; 不同安全等第软件的影响分析

在不同标准中,架构狡计还有各自侧重的部分,ISO26262-6对软件安全分析有相应条款,EN50128安全分析的责任放在系统层面进行,条款从系统功能和接口的角度进行分析。EN50128在架构狡计阶段对软件狡计秩序(建模指南、狡计指南和编码法令)有更为详备的界说,并需要在架构阶段完成软件集成测试范例和软硬件集成测试范例。

 





Powered by 东北女人毛多水多牲交视频 @2013-2022 RSS地图 HTML地图