特定领域的标准和指南在规范安全关键型系统方面发挥着至关重要的作用,其中一个显著的例子是针对航空航天行业的 DO-178C 文件。本文件为寻求确保其软件系统安全性和认证的组织提供了指南。本文在安全关键型航空航天系统软件开发的背景下分析了 DO-178C 文件,重点关注敏捷软件开发,旨在评估其可行性。与限制特定的开发方法不同,DO-178C 提供了不可或缺的支持,可以维护对安全的信心,与航空航天行业的目标无缝衔接。我们的分析表明,DO-178C 中没有任何限制或约束会阻碍敏捷的采用,并提供了获得适当证据的指南和目标,允许采用包括敏捷方法在内的各种工作方法,这与业内普遍认为传统瀑布方法是强制性的观念相反。此外,我们强调,指南解释是专门针对使用敏捷方法的软件专业人员量身定制的,与仅提供标准一般概述的出版物相比,它具有更具体的重点。
AC 450.141-1A 定义了一种识别对公众造成危害的计算系统安全项目的方法。这是通过分析所有软件功能来实现的,以便符合 § 450.141(a)。计算系统安全项目列表应包括根据 § 450.107(b) 的功能危害分析执行安全相关功能的所有软件功能。AC 450.141-1A 的附录 B 提供了两种使用软件故障模式和影响分析 (SFMEA) 或软件故障树分析 (SFTA) 进行计算机系统危害分析的方法,每种方法都有相应的示例。AC 450.141-1A 提供了五种分配关键性等级的方法,所有这些方法都基于对公众危害的严重程度和计算系统安全项目的控制程度。AC 450.141-1A 引用了其他几份行业文件,用于确定危险类别的控制程度和严重程度(FAA,2020b,第 16-18、42-53 页)。
摘要 — 城市空中交通和无人机系统全球市场的兴起吸引了世界各地的许多初创企业。这些组织在民航用于开发软件和电子硬件的传统流程方面几乎没有接受过培训或经验。他们还受到资源限制,无法分配给专业团队遵循这些标准化流程。为了填补这一空白,本文提出了一种自定义工作流程,该工作流程基于从安全关键软件基础标准 DO-178C/DO-331 派生的一组目标。从标准中选择目标是基于特定目标的重要性、自动化程度和可重用性。该自定义工作流程旨在建立精益且高度自动化的开发生命周期,从而为研究和原型飞机提供更高质量、可维护性更好的软件。它还可以作为某些应用软件(如无人机系统、城市空中交通和通用航空)的合规手段。通过生成必要的开发和验证工件集,自定义工作流程还为未来符合 DO-178C/DO-331 的潜在认证提供了可扩展的基础。自定义工作流程在自动驾驶仪手动断开系统案例研究中得到演示。索引术语 —DO-178C、DO-331、软件保证、安全关键系统、精益软件开发、基于模型的开发、需求管理、敏捷开发
摘要 — 城市空中交通和无人机系统全球市场的兴起吸引了世界各地的许多初创企业。这些组织在民航用于开发软件和电子硬件的传统流程方面几乎没有接受过培训或经验。他们还受到资源限制,无法分配给专业团队遵循这些标准化流程。为了填补这一空白,本文提出了一种自定义工作流程,该工作流程基于从安全关键软件基础标准 DO-178C/DO-331 派生的一组目标。从标准中选择目标是基于特定目标的重要性、自动化程度和可重用性。该自定义工作流程旨在建立精益且高度自动化的开发生命周期,从而为研究和原型飞机提供更高质量、可维护性更好的软件。它还可以作为某些应用软件(如无人机系统、城市空中交通和通用航空)的合规手段。通过生成必要的开发和验证工件集,自定义工作流程还为未来符合 DO-178C/DO-331 的潜在认证提供了可扩展的基础。自定义工作流程在自动驾驶仪手动断开系统案例研究中得到演示。索引术语 —DO-178C、DO-331、软件保证、安全关键系统、精益软件开发、基于模型的开发、需求管理、敏捷开发
图 1 航空电子系统开发法规 ............................................................................................................. - 5 - 图 2 DO-178C 文档结构 [34] .............................................................................................. - 18 - 图 3 OSEE 的动作跟踪系统 [70] ............................................................................................. - 31 - 图 4 手术辅助工作站(SAW)架构 [71] ............................................................................................. - 32 - 图 5 OSEE - SAW 项目的产品分解 [71] ............................................................................. - 33 - 图 6 OSEE - 工件 [72] ............................................................................................................. - 34 - 图 7 OSEE - 要求 [71] ............................................................................................................. - 35 - 图 8 OSEE - Word 格式的机器人 API 要求 [71] ............................................................................. - 36 - 图 9 OSEE - TOPCASED 信息跟踪器 [71] ............................................................................................. - 37 - 图 10 OSEE – 测试管理 [71] ........................................................................................... - 38 - 图 11 OSEE – 可追溯性 [72] ......................................................................................... - 39 - 图 12 OSEE – Skywalker [71] .............................................................................................. - 40 - 图 13 OSEE - 团队管理 [71] ............................................................................................. - 41 - 图 14 OSEE - 用户管理 [71] ............................................................................................. - 42 - 图 15 OSEE - 版本控制 [71] ............................................................................................. - 43 - 图 16 OSEE - 发布管理 [71] ............................................................................................. - 44 - 图 17 示例组件图 [73] ............................................................................................. - 47 - 图 18 示例 UML 文件 [73] ............................................................................................. - 48 - 图 19 UML 模型验证 [73] ............................................................................................. - 49 - 图 20 从 UML 模型生成代码[73]................................................................................ - 50 - 图 21 CPPcheck 功能 [45].............................................................................................. - 51 - 图 22 移位负值警告 .................................................................................................... - 51 - 图 23 Cleanflight Github 项目概览 [77]............................................................................. - 52 - 图 24 BlackBox 解码器内部流程 ...................................................................................................... - 53 - 图 25 Blackbox 日志的典型标题 .............................................................................................. - 55 - 图 26 BlackBox 解码器数据 ...................................................................................................... - 56 - 图 27 案例研究图 ................................................................................................................ - 57 - 图 28 软件规划流程 ............................................................................................................. - 61 - 图 29 高级需求 ............................................................................................................. - 62 - 图 30 低级需求 ............................................................................................................. - 63 - 图 31 软件验证和测试 ............................................................................................................. - 67 - 图 32 分支管理 ............................................................................................................. - 68 - 图 33 问题报告系统 ............................................................................................................. - 68 - 图 34 分支变更报告 ............................................................................................................. - 69 - 图 35 版本和发布控制 ............................................................................................................. - 70 - 图 36 创建软件需求 ............................................................................................................. - 83 - 图 37创建高级别需求 ................................................................................................................ - 85 - 图 38 创建团队 ................................................................................................................ - 86 - 图 39 将需求与团队关联 ................................................................................................ - 87 - 图 40 将用户与团队关联 ................................................................................................ - 89 - 图 41 创建分支 ................................................................................................................ - 90 -......................... - 62 - 图 30 低级需求 ............................................................................................................. - 63 - 图 31 软件验证和测试 ............................................................................................................. - 67 - 图 32 分支管理 ............................................................................................................. - 68 - 图 33 问题报告系统 ............................................................................................................. - 68 - 图 34 分支变更报告 ............................................................................................................. - 69 - 图 35 版本和发布控制 ............................................................................................................. - 70 - 图 36 创建软件需求 ............................................................................................................. - 83 - 图 37 创建高级需求 ............................................................................................................. - 85 - 图 38 创建团队 ............................................................................................................. - 86 - 图 39 将需求与团队关联 ............................................................................................. - 87 - 图 40 将用户与团队关联 ............................................................................................. - 89 - 图 41 创建分支 ............................................................................................................. - 90 -......................... - 62 - 图 30 低级需求 ............................................................................................................. - 63 - 图 31 软件验证和测试 ............................................................................................................. - 67 - 图 32 分支管理 ............................................................................................................. - 68 - 图 33 问题报告系统 ............................................................................................................. - 68 - 图 34 分支变更报告 ............................................................................................................. - 69 - 图 35 版本和发布控制 ............................................................................................................. - 70 - 图 36 创建软件需求 ............................................................................................................. - 83 - 图 37 创建高级需求 ............................................................................................................. - 85 - 图 38 创建团队 ............................................................................................................. - 86 - 图 39 将需求与团队关联 ............................................................................................. - 87 - 图 40 将用户与团队关联 ............................................................................................. - 89 - 图 41 创建分支 ............................................................................................................. - 90 -........................................................................... - 89 - 图 41 创建分支 ................................................................................................................ - 90 -........................................................................... - 89 - 图 41 创建分支 ................................................................................................................ - 90 -
RTCA 最近发布了 DO-178C 和 DO-278A,分别作为空中和地面空中交通管理软件生产的新认证指南。此外,RTCA 特别委员会 SC-205 还同时发布了另外五份配套文件。这些文件是 RTCA DO-248C、DO-330、DO-331、DO-332 和 DO-333。这些补充文件解答了有关软件认证的常见问题,提供了工具资格要求方面的指导,并说明了在使用基于模型的软件设计、面向对象编程和形式化方法时建议对 DO-178C 进行的修改。本文的目的首先是解释 DO-178C 与以前的 DO-178B 的关系,以便让熟悉 DO-178B 的人了解哪些内容已更改,哪些内容未更改。在此背景下,本文展示了 DO-178C 和 DO-278 与新的地面软件开发 DO-278A 文件之间的关系。最后,概述了工具资格文件中包含的新指南以及 DO-178C 和 DO-278A 的三个新补充。对于那些不熟悉 DO-178B 的人来说,本文旨在为机载和地面 CNS/ATM 软件认证的新认证指南提供切入点。
