基于DO-331/DO-332/DO-333标准的双通道飞行引导系统
案例描述
面向双通道飞行引导系统高安全等级和多阶段验证要求,项目围绕需求分析、系统设计、详细设计、编码与集成、代码验证等活动,建立模型驱动研发和形式化验证并行展开的双V研制路径。相较传统V模型开发方式,项目在开发主线之外同步组织模型测试、仿真、形式化验证和代码分析活动,使需求、设计、实现与验证在各阶段保持对应和闭环收敛。
项目的技术路线由三类标准方法协同构成。DO-331路径采用SysML、AADL和Simulink分阶段建立需求模型、架构模型和可执行模型,并将通过验证的模型用于代码生成;DO-332路径以UML模型贯穿需求表达、设计展开和编码实现;DO-333路径在不同建模层级引入CSP、PVS和NuSMV,对关键逻辑和接口约束开展审查分析。
在此基础上,项目将A级软件验证过程纳入统一框架。系统需求、高级需求、设计、软件架构、低级需求、源代码和可执行目标代码之间建立清晰的开发对应关系;围绕这些对象,同步组织审查分析活动和测试活动,对符合性、可追溯性、一致性、标准符合性、分区完整性、鲁棒性和目标机兼容性进行核查。
案例实施的具体内容
- 1. 需求分析与需求阶段验证
- 2. 系统设计、详细设计与分阶段证明
- 3. 详细设计、代码生成与代码验证
- 4. A级软件验证过程贯通
项目首先在需求分析阶段对双通道飞行引导系统的功能边界、通道协同关系和运行约束进行梳理,并采用SysML模型和UML模型分别承载需求表达与对象关系表达。SysML模型组织系统需求及其层级关系,UML模型补充系统对象和交互关系,使需求落到结构明确、关系可核查的模型对象上。需求模型建立后,项目同步开展模型测试、仿真、场景集成测试和CSP验证,对需求场景下的行为逻辑和并发交互关系进行前置校核,并检查需求表达的一致性、可验证性和目标机兼容性,使需求阶段成果成为后续设计的稳定输入。
在系统设计阶段,项目采用AADL与SysML结合的方式建立系统设计模型,并继续以UML模型展开对象关系和接口结构。该阶段的重点是将系统需求转化为可验证的高级需求与设计对象,并在软件架构和低级需求之间建立稳定映射。围绕系统设计模型,项目同步开展SysML模型测试与仿真、集成测试以及PVS证明活动,检查设计对象对需求场景的覆盖情况,验证对象协同和接口连接是否满足整体运行要求,并对关键逻辑关系进行形式化校核。软件架构部分重点检查一致性、标准符合性和分区完整性,低级需求部分重点检查一致性和算法准确性。
在详细设计阶段,项目采用Simulink模型和UML模型共同承载实现逻辑。Simulink模型用于表达可执行控制逻辑和状态行为,UML模型继续维持对象结构和职责边界的清晰性。围绕Simulink详细模型,项目开展模型测试与仿真、单元测试、类型一致性检测以及NuSMV模型验证,对关键状态迁移、逻辑约束和边界条件进行形式化检查。对需要自动化实现的部分,项目通过代码生成将模型成果转化为可集成代码;其余部分在编码环节按照前期对象设计和接口约束实现。代码完成后,项目继续组织源代码分析和目标代码可追溯性验证,检查代码实现的标准符合性与一致性,以及可执行目标代码对源代码、低级需求和上层设计对象的回溯关系,使A级软件验证要求在实现末端得到闭合。
项目在全过程中采用“开发活动、审查分析活动、测试活动”三类活动并行组织的方式推进A级软件验证。开发活动负责建立从系统需求到可执行目标代码的实体链条;审查分析活动围绕不同层级对象开展符合性、可追溯性、一致性、标准符合性和分区完整性等核查;测试活动则对设计对象、低级需求、源代码和目标代码进行行为确认与鲁棒性检验。通过分层落实验证职责,系统需求与高级需求之间保持符合性和可追溯性,设计阶段重点控制架构一致性与算法准确性,源代码阶段强调实现一致性,目标代码阶段强调完整性、正确性和目标机兼容性。
案例亮点
项目的突出特点在于将DO-331、DO-332和DO-333组织为同一研制体系中的三条协同链路。DO-331负责模型化开发主线,DO-332负责对象化设计与编码主线,DO-333负责把形式化验证嵌入各建模阶段。需求阶段采用SysML测试仿真与CSP验证,系统设计阶段采用SysML测试仿真、集成测试和PVS证明,详细设计阶段采用Simulink测试仿真、单元测试、类型一致性检测和NuSMV验证,代码阶段采用源代码分析和目标代码可追溯性验证。不同方法对应不同层级对象,使A级软件验证要求能够落实到具体对象上。
实践效果及应用价值
项目形成了适用于双通道飞行引导系统的高等级软件研制组织方式。通过把模型化开发、对象化设计和形式化验证纳入统一过程,需求、设计、实现与验证之间建立了稳定的对应关系,研发过程中的关键问题能够在较早阶段暴露并被约束在相应对象层级内处理。项目把传统依赖后期测试暴露问题的工作方式调整为以前移式建模和阶段验证为核心的收敛路径,需求阶段先核查一致性,设计阶段重点控制架构约束和低级需求质量,详细设计阶段对实现逻辑和类型一致性进行校核,代码阶段再通过源代码分析和目标代码追溯完成末端闭环。由此形成的对象划分方式、验证分配方式和过程组织方式,可为同类高安全等级嵌入式软件的工程化实施提供可复用路径。
AI Fuzzer
Studio
Visualization
Motion / Robotics
Fieldbus / Communication
Safety
Virtualization
Redundancy
Connector
AI