软件等级
——DO-178B/ED-12B学习笔记之六
1. 软件等级的定义
DO-178B/ED-12B的第2.2.2条定义了软件等级:
a. Level A: Software whose anomalous behavior, as shown by the system safety assessment process, would cause or contribute to a failure of system function resulting in a catastrophic failure condition for the aircraft.
b. Level B: Software whose anomalous behavior, as shown by the system safety assessment process, would cause or contribute to a failure of system function resulting in a hazardous/severe-major failure condition for the aircraft.
c. Level C: Software whose anomalous behavior, as shown by the system safety assessment process, would cause or contribute to a failure of system function resulting in a major failure condition for the aircraft.
d. Level D: Software whose anomalous behavior, as shown by the system safety assessment process, would cause or contribute to a failure of system function resulting in a minor failure condition for the aircraft.
e. Level E: Software whose anomalous behavior, as shown by the system safety assessment process, would cause or contribute to a failure of system function with no effect on aircraft operational capability or pilot workload. Once software has been confirmed as level E by the certification authority, no further guidelines of this document apply.
网上流传的中译文把它翻译为:
a. A 级 可能引起或导致系统功能失效进而引起航空器灾难性失效状态的异常状态的软件,这种异常状态可通过系统安全性评估过程来表明。
b. B 级 可能引起或导致系统功能失效进而引起航空器危险的/严重的失效状态的异常状态的软件,这种异常状态可通过系统安全性评估过程来表明。
c. C 级 可能引起或导致系统功能失效进而引起航空器较重失效状态的异常状态的软件,这种异常状态可通过系统安全性评估过程来表明。
d. D 级 可能引起或导致系统功能失效进而引起航空器较轻失效状态的异常状态的软件,这种异常状态可通过系统安全性评估过程来表明。
e. E 级 可能引起或导致系统功能失效的异常状态的软件。这种异常状态可通过系统安全性评估过程来表明。它不会影响航空器的工作性能或驾驶员工作量。一旦软件由合格审定机构定位E 级,本文件就不再提供进一步的指南。
上述翻译有两个问题。以A级定义为例,第一句简化定语后变成“异常状态的软件”。如果加上主语则变成“A级是……的异常状态的软件”。
笔者理解原文的意思是,如果A级软件出现异常状态,那么这种异常状态可能引起或导致系统功能失效进而引起航空器灾难性失效状态。显然,A级软件不是必然出现异常状态。
第二句译文使人以为系统安全性评估过程表明A级软件存在异常状态。但根据2.2.2条的第一句:
Software level is based upon the contribution of software to potential failure conditions as determined by the system safety assessment process.
可知系统安全性评估过程不是表明软件是否存在异常状态,而是表明软件的异常状态将引起或促成什么样的航空器失效状态。
还要注意原文中的“cause or contribute”,这可理解为软件异常状态可能是引起航空器失效状态的主要原因或部分原因。
试译A级定义的原文如下:
A 级 如系统安全性评估过程所表明,该级软件的异常状态可能造成或促成系统功能失效从而酿成航空器灾难性失效状态。
2. 航空器失效状态与软件等级
以下是资料[1]中对航空器失效状态的一种解释,有助于我们理解软件异常产生的后果。
DO-178B | Level E | Level D | Level C | Level B | Level A |
MIL STD 882 | NA | Category IV | Category III | Category II | Category I |
Classification Of Failure | None | Minor | Major | Hazardous | Catastrophic |
Effect on Aircraft | No effect on operational capabilities or safety margin | Slight reduction in operational capabilities or safety margin | Significant reduction in operational capabilities or safety margin | Large reduction in operational capabilities or safety margin | Safe flight and landing prevented, usually with loss of aircraft |
Effect on Passengers | Inconvenience | Physical discomfort | Physical distress, possibly including injuries | Serious or fatal injury to a small number of occupants | Multiple fatalities |
Effect on Flight Crew | None | Slight increase in workload or use of emergency procedures | Physical discomfort or a significant increase in workload | Physical distress or excessive workload impairing ability to perform tasks | Fatalities or incapacitation |
Interpreted Qualitative Probability | NA | Probable | Remote | Extremely Remote | Extremely Improbable |
Interpreted Quantitative Probability | NA | 10-3 per flight hour | 10-5 per flight hour | 10-7 per flight hour | 10-9 per flight hour |
下图说明航空器失效状态与出现概率的关系。
下图说明航空器失效状态与软件等级的关系。
3. 软件等级的确定
DO-178B/ED-12B的第2.2.3条说明了软件等级的确定:
Initially, the system safety assessment process determines the software level(s) appropriate to the software components of a particular system without regard to system design.
网上的中译文是:
系统安全性评估过程首先要确定与特定系统中的软件有关的软件等级,而不考虑系统设计。
原文中software level后面有(s),这表示可能有多个软件等级。这些软件等级是针对系统中的一个或多个软件部件所确定的。试译原文如下:
系统安全性评估过程最初确定与特定系统中的软件部件相适应的一个或多个软件等级,而不考虑系统设计。
法译文是:
Initialement, l'analyse de sécurité du système détermine le(s) niveau(x) logiciel(s) d'un système particulier sans tenir compte de la conception du système.
法译文中没有翻译software components,不知是遗漏还是故意省略。法译文中也没有翻译appropriate。按法译文,此句是:
系统安全性评估过程最初确定特定系统的一个或多个软件等级,而不考虑系统设计。
参考资料
[1] Alan C. Tribble, Steven P. Miller, and David L. Lempia, Sofwtare Safety Analysis of s Flight Guidance System.