DO-178B介绍
DO-178B,机载系统和设备认证中的软件考虑,在电子硬件被要求符合 DO-254 之前多年就已发布和采纳。DO-178B 的先行一步对电子硬件开发带来两个特别的后果。首先,使得硬件制造商有了一种倾向,为了避免 DO-178B 对软件开发造成的时间和工作量(认为的和实际的)的增加,要把系统功能从软件移植到硬件。当然,这个想法是,如果设备功能可以被移植到电子硬件,它就不需要受到昂贵并且困难的 DO-178B 设计保证过程的支配。
第二个后果是,在机载设计保证的圈子里,从 DO-178B 而来的术语、概念和过程是如此深入人心,它仍然强烈影响到 DO-254 在硬件中如何应用与实现。显而易见,硬件和软件存在本质的区别,因此在设计保证上应该被区别对待,但是这个朴素的常识常常被 DO-178B的惯性思维所影响。
所以该如何比较 DO-254 和 DO-178B(或 DO-178C6)呢?区别有这么大么?因为两个文件都提供了开发过程的指南,它们在内容上和思想上呈现惊人的相似性。事实上,从高层角度看,它们的途径和基本概念非常相似。这些相似之处可以总结为如下几点:
-
它们安全性的背景和基础是相同的。
-
都依赖于过程和设计保证。
-
都使用生命周期阶段来管理开发
-
都使用过程保证(软件的质量保证)、配置管理、以及验证的整体性过程。
-
验证是基于需求的。
-
都包含了工具鉴定。
DO-178B和DO-254比较
SPRING
因此从大的方面上看两个文件非常相似。但是,当仔细查看设计保证概念和过程的细节时,许多差异就浮现出来了,一些差异是如此之大,使得 DO-178 的概念用在硬件开发上不会产生所期待的设计保证的效果。DO-254 和 DO-178 的差异(就硬件与软件而言)细节如下表。
表:DO-254 与 DO-178B/C 的差异
解析
SPRING
一些差异看起来琐碎和无足轻重,另一些差异较大,如果按照 DO-178 的理解去影响DO-254 在硬件上的应用,会造成严重后果。在应用 DO-254 时,所有的差异应该被仔细考虑和研究,找到混淆和误解之处。通常来说,软件的定义、技术和过程不应该被用于硬件。
SPRING
也许最隐蔽的、易混淆的和不容易改正的差异是派生需求的定义。DO-178B 在设计保证领域的长期支配地位造成一种强大的惯性,特别是在那些有软件背景的人,或者使用DO-178B 语言的人,会假定 DO-254 定义与 DO-178B 是一样的,或更普遍的情况,认为 DO-178B 的定义是通用的,因此像应用在软件里一样地应用于硬件。然而,虽然两个文档都在词汇表中定义了派生需求作为设计过程中产生的额外需求,可能可以或不可以直接追踪到更高一级的需求,DO-178B 的小节 5.0 缩小了派生需求的定义为不能追踪到更高一级需求的需求。
DO-178B 小节 5.0 的定义取代了词汇表中的定义,并且由于 DO-178B 的长时期的支配地位,这个定义被作为派生需求的更常用的定义。这从很多方面来说是不幸的,一个显著问题是 DO-254 中的过程(特别是验证过程)被设计为使用 DO-254 的定义,之后我们有更详细的描述,如果将 DO-178B 的定义用于 DO-254 的过程就会产生问题。
易灵思核心板及下载线(需要的可私聊,)