功能安全理论 | 软件组件 与 软件单元

本文探讨了功能安全理论中的软件组件和软件单元概念。组件是指逻辑或技术上可分离的非系统级元素,可能包含多个硬件或软件单元。软件单元则是在软件架构中可进行独立测试的最小不可细分组件。通过C语言函数的例子,阐述了软件单元的不可细分性如何体现在函数间的相互影响,以及如何判断一个函数是否可作为组件进行细分。
摘要由CSDN通过智能技术生成

组件(Compoent)在26262-1 3.21 P13中的定义是(在逻辑上或技术上可分离的非系统级元素,其中包含多个硬件或者软件单元non-system level element that is logically or technically separable and is comprised of more than one hardware part or more software units).而软件单元的定义在26262-1 P33 3.159 中则是(atomic level software component of the software architecture that can be subjected to stand-alone testing可以进行独立测试的软件架构中的不可细分组件),从定义的角度来看软件单元是本身也是组件,只是在本身定义的层次上不可细分。所谓不可细分,从C语言函数的角度来理解的话,可以分为两种情况,一是这个函数本身只有指令不包含任何的函数调用,二是这个函数本身既包含了函数调用也包含了指令但是它们不是单纯的顺序执行关系。也就是说这个函数所调用的函数包含有返回值,而这个函数会利用所调函数的返回值来执行运算。使函数之间彼此影响。具体可见如下例子:

void Module_A (void)

{

sint16  return_s16value;

return_s16value = Module_A_SubFunc1();

if(return_s16value > 1) 

    {

            Module_A_SubFunc2();

     }

else

     {

            Module_A_SubFunc3();

      }

}

在上面这个函数中子函数Module_A_SubFunc1()的返回值决定了后面两个函数的执行顺序ÿ

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值