0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

民机机载软件的配置管理

上海控安 来源:上海控安 作者:上海控安 2023-12-01 16:15 次阅读

作者 | 蔡喁上海控安可信软件创新研究院副院长

版块 |鉴源论坛 · 观擎

社群 |添加微信号TICPShanghai”加入“上海控安51fusa安全社区”

01

配置管理的意义

配置管理(Configuration Management)在航空领域经常又称为构型管理,是现代复杂产品研制的核心技术。与很多传统观念中配置管理是对文档和版本的简单管理不同,现代复杂产品由于其内部组成部分较多、研制分工普遍以及设计中的版本状态以及配合关系频繁变换的原因,往往对配置/构型管控要求极高。

设计过程中的配置/构型管理往往需要解决三个方面的主要问题:

· 设计对象之间的关系

软件设计过程中的对象往往由多个程序文件、需求文档、架构文档、可执行目标码文件乃至测试用例和测试程序等组成。这些组成部分那些分离那些作为整体进行版本和更改控制,特别是在产品研制过程中、投入使用以后还需要能保证上述对象之间的关系正确管理首先需要对产品的内部设计对象的架构进行有效的设计。这种设计就是配置和构型管理的早期核心工作。

配置/构型管理架构设计的好坏,会影响到产品研制过程中的分工和过程控制。特别是航空类产品经常硬件成本高昂,配置/构型框架设计也会对产品后续持续升级和改进带来明显的影响。随着设计成熟度的提高,越来越多的机载系统和设备企业采用产品线方法对运用到不同型号中类似的产品进行配置/构型管理,在不同的设计对象中区分不同产品需要的功能和组成部分,从而组合成不同的产品而整个研制团队框架不用进行大的调整,这将是对配置/构型管理的终极挑战。

值得注意的是,配置/构型管理除了对产品设计数据进行管控以外,还需要对用于研制、测试乃至加载相关产品所需的外围工具和环境的构型进行管控。民用飞机领域强调生命周期数据管理与产品同寿,也是其中的原因之一。这就要求在所生产的飞机或机载系统全部退出使用以前,必须始终保持研制环境的可用,从而能够随时对产品中发现的问题进行分析和落实更改。

· 基线和更改控制

复杂产品设计中,由于涉及到大规模的团队协作,一般来说即使是按照双V模型或者瀑布模型也无法确保所有的需求和设计一次到位。因此根据不同研制阶段和不同成熟度的产品开展基线控制也就显得尤为重要。在成熟的基线管理工作中,所有并行开展的研发活动都以基线为出发点和中间落脚点,避免了不同设计对象的更改频繁造成其他设计对象的更改联动,也为团队整体控制研制节奏带来了便利。

复杂产品配置/构型管理中,更改的评估、落实以及回归等工作是配置/构型管理的核心之一。通常,更改控制流程中包含问题报告、更改评估、更改执行以及更改验证等多个不同的作业环节(ECR/ECN等)。考虑到产品设计的复杂性以及专业分工和协作,在民用飞机更改控制中,更改的评估和执行等环节,往往还会涉及到不同父更改和子更改的划分,通过不同专业的更改任务最终落实对某一问题的整体修正。

在软件等复杂产品设计中,更改往往是引入错误的原因之一。频繁无序的更改必将造成软件产品中错误百出。在面向商业化市场的产品研制中,更改往往由某一问题引发,并且需要对更改的方案结合更改的潜在影响开展深入的分析。这种分析一般必须依赖研制体系中需求-设计-代码-测试完整的追溯链开展,确保不会遗留所需评估的对象,保证更改不会造成非预期的影响。同时,通常配置/构型控制委员会(CCB)会对更改请求进行评估。考虑到时间、成本以及潜在的安全风险,并不是每一个更改请求都将会得到批准或者被要求立即实施。

· 配置/构型纪实

最后,产品研制以及使用和后续改进的任何阶段,研制团队需要能随时掌握和分析设计对象的状态和关系,这就带来的配置/构型纪实的要求。要求能够对任何阶段、任何组成范围的产品设计数据进行提取和分析,还要能对数据的更改历史进行严密的追踪。

wKgZomVplZ6AZbTsAAB8Ywbk0lI556.png图 1 配置/构型管理的三个维度

02

民机机载软件过程标准中

配置管理的要求

机载软件研制过程标准RTCA DO-178C第7章,详细描述了机载软件研制过程中配置/构型管理的活动、目标和相应生命周期数据。

该过程由软件构型管理计划定义,与其它软件生命周期过程协同执行,其主要功能包括:

·用于在软件生命周期中提供确定的、可控的软件构型;

·提供可执行目标代码的复制能力,当需要检查和修改时可快速复制;

·在软件生命周期中提供过程输入/输出控制能力,保证过程活动的一致性和可重复性;

·通过控制构型项、建立构型基础,提供用于走查、状态判断、修改控制的节点;

·提供控制,保证所有问题都被处理,所有修改都被记录、提交和实现;

·通过控制软件生命过程的输出提供软件的证明;

·辅助判断软件产品与需求是否兼容;

·保证构型项维护了加密、恢复和控制数据等;

其中,针对机载软件的构型管理活动,标准中明确定义软件构型管理活动包括:

·构型标识(7.2.1);

·基线和追踪(7.2.2);

·问题报告跟踪和纠正(7.2.3)

·更改控制(7.2.4)

·更改评审(7.2.5)

·更改状态纪实(7.2.6)

·归档、检索和发布(7.2.7)

同时,秉承民机机载软件标准中,根据影响和风险来确定管控级别的思路,对更改控制分为了CC1和CC2两个级别。其中不同CC级别对构型管理活动的要求不同。CC1类管控要求实施上述所有构型管控活动,相比之下CC2类管控主要对数据的版本和基本更改进行管控。根据软件级别和具体的生命周期数据,DO-178C标准对其逐个进行了构型管控级别的要求定义。

wKgZomVplbGAVw_jAAO2bg9Hws0903.png图 2 DO-178C构型管控级别定义

wKgZomVplcKAdSsDAAXvDGJNXhY274.png图 3 DO-178C目标矩阵中对不同级别软件中不同生命周期数据的构型管控级别要求

03

支持其他研制环节的配置管理

软件配置/构型管理本身涉及到不同类型的数据特殊的管理方式。比如配置数据(在DO-178C中也称为参数化数据项PDI),其研制过程以及与系统其他部分软件的集成方式与应用软件差别交大,因此往往需要专门涉及配置/构型管理活动和要求。

实际上,软件的配置/构型管理只是飞机产品以及机载系统产品配置/构型中的一个组成部分。民机机载软件在飞机以及系统验证活动,生产制造活动中需要与不同的产品配置/构型管理进行衔接,因此会产生不同环节中配置管理的不同问题。

笔者始终认为,除去机载软件开发技术以外,考虑到项目的复杂性以及研制周期和成本的严苛要求。过程管控与配置/构型管控,是在民用飞机机载软件中的核心难点,也是今后一段时间国内机载系统和软件研制单位需要掌握和攻关的关键技术。

审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 软件
    +关注

    关注

    67

    文章

    4348

    浏览量

    85621
  • 飞机
    +关注

    关注

    7

    文章

    1156

    浏览量

    39041
  • 配置管理
    +关注

    关注

    0

    文章

    4

    浏览量

    6238
收藏 人收藏

    评论

    相关推荐

    域环境中的用户与组配置管理

    在域服务器打开组策略管理编辑器-安全设置-受限制的组-添加组-输入administrators-添加成员-选择要添加的成员(testdomain admins)-应用-在客户机上面刷新策略
    的头像 发表于 04-15 10:14 91次阅读
    域环境中的用户与组<b class='flag-5'>配置管理</b>

    企业为什么需要PDM系统?该如何选择?

    彩虹PDM系统基础功能覆盖产品数据管理及研发协同的各个方面,包括产品结构管理、图文档管理、产品配置管理、统一编码管理、项目
    的头像 发表于 03-07 17:50 142次阅读
    企业为什么需要PDM系统?该如何选择?

    snmp协议的主要功能 snmp协议在哪一层

    的方法,使得运维人员可以远程管理和监控网络设备,确保网络的稳定性和可靠性。 SNMP协议的主要功能包括以下几个方面: 配置管理:SNMP协议可以通过中心管理站点对网络设备进行配置管理
    的头像 发表于 01-22 15:00 386次阅读

    zookeeper的核心配置文件是什么

    中,Zookeeper被广泛应用于服务发现、分布式锁、配置管理等场景中。在Zookeeper的设计中,核心配置文件是zoo
    的头像 发表于 12-04 10:33 279次阅读

    Linux网络基本配置管理

    Linux是一种开源操作系统,被广泛用于服务器和网络设备中。在Linux中,网络配置管理是一个重要且复杂的任务。本篇文章将详细介绍Linux网络基本配置管理的知识。 网络
    的头像 发表于 11-27 16:51 338次阅读

    6601配置软件SmartPIR介绍

    外围成本,我司开发了6601配置软件--smartPIR 。通过该软件,您可以定制属于自己的6601产品。
    的头像 发表于 11-05 10:41 630次阅读
    6601<b class='flag-5'>配置</b><b class='flag-5'>软件</b>SmartPIR介绍

    Dynaconf 轻松实现 Python 动态配置管理

    Dynaconf 是一个Python的第三方模块,旨在成为在 Python 中管理配置的最佳选择。 它可以从各种来源读取设置,包括环境变量、文件、服务器配置等。 它适用于任何类型的 Python
    的头像 发表于 10-30 15:02 345次阅读

    基于模型的方法在民机机载软件中的应用

    机载软件适航标准对软件研制过程、生命周期数据以及符合性证据等都提出了明确的要求。然而,这些过程要求都是建立在欧美80~90年代软件工程实践的基础上,以文本需求+代码为主要的开发方式。随
    的头像 发表于 10-27 15:30 257次阅读
    基于模型的方法在<b class='flag-5'>民机</b><b class='flag-5'>机载</b><b class='flag-5'>软件</b>中的应用

    机载雷达空时自适应处理技术

    由于机载雷达的地物杂波呈现为空时二维耦合谱特性,这就决定了机载雷达杂波抑制基本属于空时二维滤波问题,而且,其二维处理需实时自适应实现,即杂波抑制需使用空时二维自适应处理(STAP)。
    发表于 10-26 14:35 978次阅读
    <b class='flag-5'>机载</b>雷达空时自适应处理技术

    Microchip University免费课程9《用于简化嵌入式软件开发的 MPLAB® 代码配置器(MCC)》

    今天推荐Microchip University课程9 《 用于简化嵌入式软件开发的 MPLAB 代码配置器(MCC) 》 。 内容简介 在本课程中,您将学习使用MCC导航和管理项目设置,设置和
    的头像 发表于 09-25 15:25 647次阅读

    Nacos的概念和功能

    1、Nacos简介 Nacos的概念和功能 Nacos是一个面向微服务架构的动态服务发现、配置管理和服务治理平台,它能够帮助开发人员和运维人员实现服务注册、配置管理、DNS和负载均衡等功能。 下面
    的头像 发表于 09-25 11:02 837次阅读

    软件配置管理流程图怎么做

    配置项(CI)是硬件或软件(或两者)的项或集合,设计为作为单个实体进行管理软件配置项(SCI)是作为
    的头像 发表于 08-31 11:10 867次阅读
    <b class='flag-5'>软件</b><b class='flag-5'>配置管理</b>流程图怎么做

    为什么需要用Ansible管理crontab呢?

    Ansible 是使用 Python 开发的自动化运维工具。它可以配置管理,部署软件并编排更高级的任务,例如持续部署或零停机滚动升级。
    的头像 发表于 08-17 09:53 408次阅读

    浅谈操作系统的适航符合性(下)

    本篇将展开讨论降低民机机载操作系统适航风险的具体方法。
    的头像 发表于 08-08 15:11 437次阅读
    浅谈操作系统的适航符合性(下)

    提升工作效率!一文详解 Ansible 自动化运维

    Ansible 是一个模型驱动的配置管理器,支持多节点发布、远程任务执行。默认使用 SSH 进行远程连接。
    的头像 发表于 07-10 11:27 438次阅读
    提升工作效率!一文详解 Ansible 自动化运维