当前位置:首页 >> 电力/水利 >>

综合模块化航空电子软件测试环境


计算机工程与设计 Computer Engineering and Design 郑军,刘畅,任占勇:综合模块化航空电子软件测试环境

2011, Vol. 32, No.8 2737

综合模块化航空电子软件测试环境



军, 刘

畅, 任占勇

(

中国航空综合技术研究所 质量工程技术中心,北京 100028)
要: 分析了综合 航电软件特性和 体系结构, 总结 了软件测试需求 。对 综合航电软件 测试环境进行了 初步研究, 提出 了具 有 三层 软 件体 系结 构 的仿 真测 试 环境 ,能 够 满足 综合 航 电软 件的 测 试需 求。 通 过基 于任 务 的测 试仿 真 模型 与测 试配 置 蓝 图,能 够解决实时测试 数据激励与收集 和动态测试配 置的关键技术。 通过原型系统的 测试,验证了测试 环境软件体系 结构 的应 用性和正确性。 关键 词 : 软件测试 ; 测试环境 ; 测试 仿真模型 ; 测试 蓝图 ; 综合航 电软件 ; 软件体 系结构 中图 法分类号 : TP311 文献标识码 : A 文章编 号 : 1000-7024 (2011) 08-2737-04

Integrated modular avionics software testing environment
ZHENG Jun, LIU Chang, REN Zhan-yong
(Quality Engineering Technology Center, China Aeronautics Polytechnology Establishment, Beijing 100028, China)
Abstract:The characteristics and the architecture of the IMA software are analyzed, based on which the software testing requirements (STR) are summarized. A preliminary research on the IMA STE is developed. A simulation STE with three-layered software architecture (SA) is proposed, which satisfy the STR. The key issues of the real time testing data stimulation and collection and the dynamic testing configurations is resolved by the task-based testing simulation models and the testing blueprint. The applicability and correctness of the SA are validated through a prototype system testing. Key words:software testing; testing environment; testing simulation model; testing blueprint; IMA software; software architecture

0





航电系统乃至飞机的质量。国内外多年工程经验表明,软件 测试是保证软件质量的最有效手段 [13]。但目前国内对于综合 航电软件测试环境的研究仍处于空白。因此,针对综合航电 软件提出行之有效的软件测试环境,成为了保证软件质量急 需解决的课题,对于以国产大飞机为代表的自主航空工业发 展具有重要意义。

航空电子系统属于复杂实时处理和控制系统, 是实现飞 机任务使命的关键。随着计算机技术的快速发展, 软件在航 电系统中的比重不断上升,F-35 飞机中机载软件已达到 500 万行源代码的规模, 现代航电系统已由机电密集型过渡到软 件密集型 。 为了应对航电系统规模、 性能和复杂性的飞速发 展, 综合模块化航电 [2-3]( 综合航电 ) 软件应运而生, 其主要特点 是采用开放式体系结构, 应用商用货架产品构件进行软件开 发 , 以实现软件功能的综合化、 模块化和通用化。国外具有 代表性的研究成果包括 ARINC-653 和 ASAAC 等综合航电 软件体系结构。国内的相关研究仍处于初期阶段, 主要工作 集中在对国外现有综合航电软件体系结构的分析和总结
[7-10] [5] [6] [4] [1]

1

航空电子软件特点
航电软件属于实时嵌入式软件, 具有以下特性 [14]: ①实时

特性, 要求能够及时、 正确响应外部事件并输出结果; ②嵌入 式特性, 通过外部数据接口完成输入输出; ③周期特性, 多采 用周期任务执行方式。 综合 航 电软 件 除 具备 上 述 实时 嵌 入 式软 件 的通 用 特 性 外,最重要的特点就是具备功能综合化和结构层次化的软件 体系结构。通过对国内外典型综合航电软件体系结构 [5-6,8,10] 的 分析和归纳,综合航电软件可以表示为图 1 所示的三层体系 结构, 分别为: (1)应用软件层: 处理航电系统的应用领域业务, 并按功能



目 前 我 国 业 已 颁 布 了 《航 空 电 子 应 用 软 件 接 口 要 求》 GJB-5357-2005 [11], 明确要求在新一代飞机中开展综合航电软 件研制。随着软件的大量应用, 软件失效在航电系统中的比 例也呈直线上升趋势。据统计,目前我国航电系统中约 70% 的失效是由软件缺陷引起的
[12]

。由此可见,软件质量决定了

收稿日期:2010-08-15;修订日期:2010-10-18。 基金项目:航空科学基金项目 (20080241005)。 作者简介:郑军 (1969-),男,江西景德镇人,硕士,高级工程师,研究方向为软件测试; 刘畅 (1979-),男,北京人,博士,工程师,研究 方向为软件可靠性工程、软件测试; 任占勇 (1966-),男,北京人,硕士,研究员,研究方向为可靠性工程。E-mail:liuchang@dse.buaa.edu.cn

2738

2011, Vol.32, No.8
应用软件层 分区 1 进程 1 应用软件 … 进程 m ……

计算机工程与设计 Computer Engineering and Design 2
分区 n

综合航空电子软件测试需求
通过对综合航电软件特性和体系结构的分析可知,现有

软件测试环境难以满足综合航电软件的测试需要,综合航电 软件的主要测试需求总结如下: (1) 测试数据的激励与收集: 由于综合了传统航电的多种
APEX

功能应用, 因此综合航电软件的 I/O 数据具有规模庞大、 构成 复杂、 实时性要求高等特点。 如何在大数据量、 强实时条件下 对被测软件数据进行激励和收集,就成为了综合航电软件测

操作系统 核心层 内核 专用功能 蓝图

试中需要解决的问题。现有软件测试环境一般只能对被测软 件进行简单、 离散的数据激励和收集, 无法满足综合航电软件 的测试需求。因此,需要构建在大数据量条件下,具备实时 性、 闭环性和连续性的数据激励和收集能力的测试环境, 以满

硬件模块支持层 AFDX 硬件

足综合航电软件的测试需求。 (2) 动态测试配置: 综合航电软件能够通过蓝图进行系统 功能的快速重新配置,特别是应用分区和进程的周期配置变 化, 会使被测软件的 I/O 数据特性动态改变。 软件测试环境必 须据此做出相应的配置变化,才能使测试正确执行。由于传 统航电软件不具备动态配置功能,因而现有软件测试环境未 考虑测试的动态配置问题。为了适应被测软件的配置变化, 综合航电软件测试环境必须具备动态测试配置功能。 (3) 测试环境接口: 综合航电系统基于 AFDX 网络, 而现有 软件测试环境多是基于 MLT-STD-1553B 和 ARINC-429 等总 线接口。对于综合航电软件测试环境,必须开发 AFDX 网络 接口, 才能实现对综合航电软件的测试。

图1

综合航电软件体系结构

要求划分为多个分区,每个分区包含由多进程构成的应用软 件模块。 (2) 操作系统核心层:提供标准和通用的应用软件运行支 持环境, 分为内核与专用功能两部分。 内核提供了实时操作系 统的通用服务, 包括任务调度、 通信、 存储管理、 中断处理等; 专 用功能包括配置管理、 健康监控、 故障管理和安全管理等综合 航电软件特有功能。应用软件层与操作系统核心层之间为航 空电子应用软件接口 (APEX), 应用层必须调用 APEX 接口进行 通讯与交互, APEX 接口及其服务由操作系统核心层提供。 (3) 硬件模块支持层: 对基于 AFDX 网络 [15] 的硬件平台进 行了封装,由满足操作系统接口规范的专用硬件模块支持软 件组成, 主要提供 Cache 处理、 MMU、 总线控制、 BIT、 时钟、 看 门狗等功能。 操作系统的配置管理功能是通过蓝图 (Blueprint) 实现的。 蓝图对系统定义的信息进行集中管理, 实现系统的动态配置, 对系统的更改只需体现为对蓝图的更改。 蓝图包括分区配置、 进程配置、健康监控表配置等多种类型。图 2 是分区与进程 配置蓝图中关于应用软件运行周期配置的示例。用户通过在 蓝图中改变分区和进程的运行周期、进程数目及进程链表定 义, 即可对应用层软件相应功能进行配置, 从而快速灵活地实 现系统功能的改变。
typedef struct { NAME_TYPE Partition_name; /* 分区名 */ …… SYSTEM_TIME_TYPE Period /* 分区周期 */ APEX_UNIT32 Process_number /*分区内进程数量 */ PROCESS_TYPE * ProcessPTR /*分区内所有进程的链表 */ …… } PARTITION_CFG_RECORD; typedef struct { NAME_TYPE Process_name; …… SYSTEM_TIME_TYPE Period …… } PROCESS_CFG_RECORD; /*进程名 */ /*进程周期 */

3

综合航空电子软件测试环境
根据综合航电软件特点及其测试需求,本节提出一个综

合航电软件仿真测试环境的三层软件体系结构,并重点阐述 了测试仿真模型和测试配置蓝图的工作原理,前者可以满足 综合航电软件测试数据的激励与收集需求,后者则能够实现 测试的动态配置。

3.1

仿 真 测 试 环 境 软件 体 系 结 构
图 3 阐述了综合航电软件仿真测试环境的软件体系结构,

共分为 3 个层次: (1) 测试应用层 测试应用层是测试环境的最顶层, 处理测试的应用业务, 与综合航电软件应用层逻辑对应。主要功能是仿真被测软件 的交联设备, 实现大数据量、 强实时条件下的测试数据激励和 收集,并实现测试数据的生成和测试结果的自动验证。应用 层包括基于任务的测试仿真模型, 分别为数据源模型、 测试激 励模型、 数据收集模型和测试验证模型。 测试仿真模型通过测试模型应用接口 (test model application interface, TMAI) 调用测试核心层的服务来完成测试应用功 能, 从而使测试应用层独立于测试核心层的具体实现, 实现良 好的可配置性和可移植性。 (2) 测试核心层 测试核心层是仿真测试环境的管理、 调度和服务核心, 其 主要组成包括: 测试配置蓝图、 测试调度器和 TMAI 服务。

图2

分区与进程周期配置蓝图

郑军,刘畅,任占勇:综合模块化航空电子软件测试环境
测试应用层

2011, Vol. 32, No.8 2739

被测应用软件 测试激励模型 数据收集模型 输入接口 TMAI 数据源模型 测试验证模型 测试激励模型 TMAI 测试激 励数据 测试核心层 测试配置蓝图 测试 调度器 TMAI 服务 数据源模型 分析 提取 软件需求 规格说明 ICD 验证 结论 测试结 果数据 测试验证模型 数据收集模型 输出接口

测试硬件支持层 AFDX 接口驱动

被测综合航电系统

图4

测试仿真模型工作原理

图3

综合航电软件仿真测试环境体系结构

配置蓝图的内容, 按照蓝图的配置方案, 对仿真模型的运行周 期、 调度器的调度方式、 实时数据库的数据结构等系统关键信 息进行配置。测试配置蓝图与综合航电软件配置蓝图严格对 应, 是被测软件交联环境配置在测试环境中的体现, 并能够随 被测软件的配置变化而动态改变,因此能够满足综合航电软 件的测试需求。测试配置蓝图的仿真模型配置部分算法如图 5 所示。
Input: IMA Blueprint /*输入综合航电软件配置蓝图 */ Let CurrentProcess ← NULL; /* 当前进程指针 */ Let CurrentModel ← NULL; /*当前仿真模型指针*/ Let TestBlueprint ← NULL; /* 测试蓝图指针*/ FOR each Partition in Blueprint /* 对分区配置进行遍历 */ FOR each Process in Partition /* 对进程配置进行遍历 */ CurrentProcess ← Blueprint →PartitionPTR → ProcessPTR; IF CurrentProcess has an APEX input /*当前进程为应用软件输入进程 */ Let CurrentModel. Period ← CurrentProcess. Period; /* 提取配置周期*/ New TestDriveModel ← CurrentModel; /* 将配置周期赋值至新建测试激励模型 */ Add TestDriveModel into TestBlueprint; /*将测试激励模型加入测试蓝图 */ ELSEIF CurrentProcess has an APEX output /*当前进程为应用软件输出进程 */ Let CurrentModel. Period ← CurrentProcess. Period; /* 提取配置周期*/ New TestCollectModel ← CurrentModel; /* 将配置周期赋值至新建测试收集模型 */ Add TestCollectModel into TestBlueprint; /*将测试收集模型加入测试蓝图 */ ELSE /* 当前进程为应用软件内部进程 */ CONTINUE; ENDFOR ENDFOR OUTPUT TestBlueprint /* 输出测试蓝图 */

测试配置蓝图的功能是分析被测软件配置蓝图的信息, 提取和处理测试所需的配置信息,实现对测试仿真模型的动 态配置, 以适应综合航电软件的配置变化。 测试调度器的主要功能是根据测试配置蓝图, 为仿真模型 提供任务调度服务, 主要包括任务注册、 调度、 挂起、 删除等。 TMAI 服务为测试应用层提供了丰富的测试管理和支持 服务, 其中最具代表性的包括: ①实时数据库服务-提供实时 数据库接口函数, 将测试应用与数据库功能分离, 为大量实时 测试数据提供存储和管理服务; ②模型通讯服务-提供一组 通讯协议函数,实现仿真模型与被测系统以及模型之间的通 讯和数据交互; ③错误处理服务-根据错误处理对策, 提供测 试应用层的错误报告和错误处理功能。 (3) 测试硬件支持层 测试硬件支持层主要提供封装后的 AFDX 网络服务,将 接口驱动程序与测试应用和管理进行层次化分离,增强了仿 真测试环境的接口可扩展性和可移植性。

3.2

测试仿真模型
基于任务的测试仿真模型由数据源模型、 测试激励模型、

数据收集模型和测试验证模型 4 类任务构件组成,图 4 阐述 了测试仿真模型的逻辑工作原理。数据源模型负责处理从软 件需求和接口控制文档 (ICD) 等测试依据中分析和提取出测 试信息,并按照测试要求对数据进行加工,生成测试激励数 据, 是整个测试过程的数据来源; 在测试过程中, 按照测试配 置蓝图方案,数据源模型将测试数据实时更新至测试激励模 型, 测试激励模型通过调用 TMAI 的通讯服务, 将测试数据激 励至被测软件的输入接口; 经被测软件运行处理后, 数据收集 模型调用 TMAI 的通讯及实时数据库服务,实时收集及保存 被测软件输出的测试结果数据;测试验证模型对测试结果数 据进行判别, 实时输出测试验证结论。
图5 测试配置蓝图仿真模型配置部分算法

3.4

总 结
综上所述, 综合航电软件仿真测试环境的主要特点如下: (1) 通过三层软件体系结构将测试应用、 测试管理与测试

硬件支持进行了逻辑分层,采用了与综合航电软件相同的开 放式设计理念, 两者在软件体系结构层次上一一对应, 从设计 上保证了测试环境的有效性。通过测试模型应用接口 TMAI 实现了测试应用与支持服务的分离,使测试应用层具备良好 的可配置性、 可扩展性和可移植性; (2) 根据综合航电软件测试需求, 将测试仿真模型划分为 数据源、 数据激励、 数据收集与测试验证 4 个任务构件。将数 据生成与数据激励、 数据收集与数据验证任务分离, 使仿真模

3.3

测试配置蓝图
测试配置蓝图是测试应用层运行的依据, 是整个测试环

境实现动态配置的核心。测试环境在初始化时首先读取测试

2740

2011, Vol.32, No.8

计算机工程与设计 Computer Engineering and Design
(1) 测 试 环 境 的 完 善 与 验 证 。 由于目前还不具备自主研 发的综合航电软件成品, 因此本文的验证主要基于原型目 标 系 统 ,其 功 能 、性 能 及 复 杂 性 与 综 合 航 电 软 件 成 品 仍 有 一定差距。因此在今后的工作中应紧跟综合航电软件的 自 主 研 发 进 展 ,不 断 对 测 试 环 境 进 行 相 应 完 善 ,对 测 试 环 境进行实时平台的移植以提高测试性能, 并进行更加严格 的 验 证 工作。 (2) 测试环境及方法的研究。 本文提出的测试环境以满足 综合航电软件的系统测试为目的。综合航电软件由于高度综 合的特点, 系统测试的成本将比较高, 如何针对独立的应用软 件配置项进行测试, 丰富综合航电软件的测试方法, 从而降低 测试成本, 是具有价值的研究方向。

型集中资源用于特定任务的处理, 从而提高了测试性能, 实现 了大数据量下的实时测试数据生成、 激励、 收集与验证; (3) 提出测试配置蓝图的概念, 通过测试蓝图实现了测试 应用的动态配置,使测试环境能够适应被测综合航电软件灵 活的配置变化, 从而满足动态测试配置需求。

4

实例介绍

综合航电软件仿真测试环境 (integrated avionics software simulation testing environment, IASSTE) V1.0 是根据上述测试环 境三层软件体系结构在 Windows 平台上实现的原型验证系统。 IASSTEV1.0 测试应用层仿真模型采用标准 C++ 语言实现, 并 能够根据测试蓝图配置自动生成;测试核心层 TMAI 实现了 实时数据库、 仿真模型通讯和错误处理服务, 测试调度器利用 Windows 时钟实现了 5ms 的调度周期精度;硬件支持层集成 了通用 AFDX 接口。 IASSTEV1.0 对某综合航电模拟系统进行了软件测试。 该 模拟系统具备真实的综合航电通用处理板硬件环境和原型操 作系统, 具有两路 AFDX 接口。应用软件层包括 3 个进程, 分 别 模 拟 了 航 电 系 统 中 的 通 讯、 导 航 和 雷 达 子 系 统 软 件 。 IASSTEV1.0 对被测软件的不同配置情况进行了测试, 共运行 测试用 例 300 余个 ,全 部得 到了有 效执 行和输 出, 验证 了 IASSTEV1.0 的正确性和有效性。表 1 列出了被测软件 3 个典 型的周期和数据测试配置蓝图下的测试情况。
表1 3 个典型测试蓝图下的测试情况
周期配置 通讯 测试 1 导航 雷达 通讯 测试 2 导航 雷达 通讯 测试 3 导航 雷达 5ms 5ms 5ms 5ms 10ms 10ms 5ms 10ms 20ms 数据配置 10Kbytes/5ms 48Kbytes/5ms 202Kbytes/5ms 10Kbytes/5ms 48Kbytes/5ms 202Kbytes/5ms 108Kbytes/5ms 236Kbytes/5ms 512Kbytes/5ms 98 个 126 个 117 个 用例数

参考文献 :
[1] [2] [3] [4] [5] [6] 熊华钢,王中华.先进航空电子综合技术[M].北京:国防工业出 版社,2009:219. 张凤鸣,褚文奎,樊晓光,等.综合模块化航空电子体系结构研究 [J].电光与控制,2009,16(9):47-59. 白剑林,张平定,体卫群,等.对第四代战斗机综合航电系统的构 想[J].火力与指挥控制,2006,31(5):1-3. 褚文奎,张凤鸣,张育,等.基于 COTS 的军用软件保障问题研究 [J].系统工程与电子技术,2007,29(12):2166-2170. 陈娟. ARINC653 分区操作系统在综合模块化航空电子系统 中的应用[J].电讯技术,2009,49(5):89-92. NATO.STANAG 4626-2005 modular and open avionics architecture (Part II:software)[S].Brussels:Military Agency for Standardization,2005. [7] [8] [9] 王和平,王宁,张联梅.综合航电开放式软件设计技术[J].计算机 工程与设计,2009,30(1):4-8. 黄永葵.SAE AS4893 《通用开放式体系结构(GOA)框架》 评析 [J].航空电子技术,2007,38(1):40-46. 朱力立,李庄生,许宗泽.飞机综合航电系统总体设计综合评估 方法[J].航空学报,2007,28(3):686-689. [10] 褚文奎,张凤鸣,樊晓光.综合模块化航空电子系统软件体系结 构综述[J].航空学报,2009,30(10):1912-1917. [11] 中国人民解放军总装备部.GJB5357-2005 航空电子应用软件 接口要求[S].北京:总装备部军标出版发行部,2005. [12] 刘畅,刘斌,蒋崇武.嵌入式软件仿真测试环境实时数据处理研 究[J].计算机工程与设计,2009,30(7):1561-1638. [13] 刘畅, 王轶辰, 刘斌, 等. 软件边界组合测试的典型案例分析 [J]. 计算机工程与应用,2009,45(20):74-77. [14] 刘畅,刘斌,阮镰.航空电子软件仿真测试环境软件体系结构研 究[J].航空学报,2006,27(5):877-882. [15] 叶佳字,陈晓刚,张新家.基于 AFDX 的航空电子通信网络的设 计[J].测控技术,2008,27(6):56-60.

5

结束语
本文对综合航电软件测试环境进行了初步研究,根据综

合航电软件特点,提出了一个具备三层软件体系结构的综合 航电软件仿真测试环境, 能够满足测试数据激励与收集、 动态 测试配置和测试环境接口需求。测试环境实现了测试应用与 测试管理和服务的分离, 使测试环境具备良好的可配置性、 可 扩展性和可移植性; 通过实例测试, 验证了本文提出的综合航 电软件仿真测试环境软件体系结构的应用性和正确性。目前 综合航电软件及其测试环境的研究在我国尚处于起步阶段, 下一步需要研究的工作主要包括:


相关文章:
多核处理器在综合模块化航空电子系统中的应用
多核处理器在综合模块化航空电子系统中的应用_能源/化工_工程科技_专业资料。...系列评估和测试的标准,航电系统软件必须通过上述规范的 测试,才能被进一步实用化...
软件测试行业的发展
软件测试行业的发展 摘要:该文对软件测试发展历程、...3)测试数据的安全性保证,即研究如何在云环境中保护...2)模块化测试:讲不同的应用功能单元模块化,模块的...
软件测试试题
( D)测试计划手册 5 .在模块测试的过程中,采用自...下列关于软件测试自动化,说法正确的是 ( B)输出...( B)检查在特定平台和操作环境中构件的复用、打包...
高校软件测试课程教学改革探讨
【摘要】本文结合企业对软件测试工程师的实际需求,从软件测试课程的目标定位,教学 方式与实验环境,加强校企合作以及提升师资力量几个方面考虑,提出了高校软件测试课程...
软件测试综合实训平台应用案例
模块化的训练内容;实训案例遵循软件工程规范及流程,让学生在 最短时间内直接体验...团队测试的共同讨论,促使学生进入特定的工作情景和过程,建立真实的测 试环境和...
如何做好嵌入式软件开发测试
2、嵌入式软件测试环境 嵌入式软件测试的测试环境...模块化测试、 集成测试、手动黑盒测试、负载测试、...(GESTE) 、 基于全数字仿真的嵌入式软件综合测试...
云计算环境下软件测试研究进展
龙源期刊网 http://www.qikan.com.cn 云计算环境软件测试研究进展 作者:徐赐发 来源:《无线互联科技》2016 年第 05 期 摘要:伴随时代的不断发展和科学技术...
轨道交通行业软件测试能力建设全方位解决方案
尤其是在高可靠性、高安全性领域, 如航天、航空、...件测试、促软件工程化”成为广大受益于软件测试单位...为轨道交通行业搭建测试环境,包括基于各类 HIL 的...
临泉县职称论文发表-超级电容器模块化技术应用分析论文...
模块化三电平 APF 关键技术综述 14……网络环境下...模块化储能系统工况测试方法 22……电子信息系统中...综合模块化航空电子系统的故障预测与健康管理技术 44...
余庆县代理发表职称论文发表-航空PHM体系结构技术分析...
综合模块化航空电子系统的故障预测与健康管理技术 1/...基于测试性的电子系统综合诊断与故障预测方法综述 22...固体制剂微环境 pH 测定技术研究进展 28……潜射...
更多相关标签:
模块化测试 | 综合模块化航电系统 | 模块化测试框架 | 深圳航空综合信息平台 | 航空港经济综合实验区 | 航空综合险需要买吗 | 航空综合险 | 郑州航空港综合实验区 |