APP下载

一种航电通用激励器的设计与实现

2017-07-29王彦明毛元泽刘一臻

电脑知识与技术 2017年12期
关键词:通用性软件测试

王彦明 毛元泽 刘一臻

摘要:目前我国的航空事业正处在蓬勃发展的阶段,航空电子系统软件的规模越来越大,系统的复杂度也越来越高。因此,对于航空电子系统软件的验证方法与验证手段的需求也越来越高。在对航空电子系统软件进行仿真验证的过程中,激励器将作为整个仿真验证环境的源头,其数据的正确性和稳定性将直接影响航空电子系统软件的仿真验证结果。传统的激励系统软件往往都是针对某一个或是一些特定型号的航空电子系统而专门进行研制的。这些激励系统软件的通用性极差,复用性极低。在测试时,也无法对激励数据的时序性进行控制。因此,该文针对这两个问题设计了面向航电软件测试的通用激励系统。该通用激励系统仅仅通过配置文件就可以定制出不同种类的激励设备。然后又设计了一套统一的调度框架来对这些激励设备进行时序性控制。

关键词:通用性;激励器;软件测试;模型框架

航空电子系统激励器软件的特点就是专用性,即专门针对某一型号的航空电子系统软件而进行研制的。此类激励器只能适应这一种型号的航空电子系统软件。除此之外,每个航空电子系统模块用来通信的ICD格式和通信数据均不一样,研发人员一般是将通信数据格式和端口进行绑定。因此,在对每个航空电子系统模块进行开发测试时也需要不同的激励器。多种多样的航空电子激励器软件所导致的直接后果就是工作人员很难对这些激励软件进行维护。尽管这些激励软件是比较成熟的仿真设备软件,但由于这些软件的种类极其繁杂,因此研发人员维护这些软件的难度也极大。

因此,本文针对航电软件测试设计并实现了一个通用激励器系统。该系统仅仅使用配置文件便可以定制出不同种类的激励器软件的航电通用激励系统将为航空电子系统软件的研发、调试、仿真和验证带来极大的便利性。

1航电通用激励器总体设计

航电通用激励系统的框架将实现加载各个激励模型组件的功能,并为这些激励模型组件提供相应的运行环境。这些激励组件模型能够在一个稳定的环境下被调度运行起来。通用激励系统的框架将根据相应的配置文件的信息对这些激励模型组件进行同步或者异步的驱动。这些激励组件模型在被定制成一个个激励器软件后,将使用中心數据库进行数据交互。当这些激励器软件向外提供数据激励功能时,将利用中心数据库封装成的虚拟总线接口为各个航电仿真模型提供数据激励功能。中心数据库的实质是利用Windows内核函数在内存中开辟一块存储空间,并提供数据库的数据存取机制。中心数据库将为各个激励模型组件提供较高的通信实时陛和数据的一致性。

2航电通用激励器设计

2.1激励组件模型设计

用户自定义的激励组件模型都需要遵守航电通用激励系统框架所提供的统一的标准接口。这样,这些用户自定义的激励组件才能被激励系统框架所加载、调度以及运行。航电通用激励系统的框架为这些激励组件模型提供了标准的接口规范类,即Stimulator类。在Stimulator类中,定义了所有激励设备必须遵从的接口标准。用户所自定义的激励组件模型必须继承该Stimulator类,并通过配置文件定义不同的逻辑行为有选择性的重新实现Stimulator类中所规定的外部接口。

Stimulator类必须具有激励系统框架模型的外部接口规范,其中定义了Init0、Start0、StepO、StopO以及Work0这5个外部接口。通用激励系统的框架将提供两种驱动模式,即同步模式和异步模式。在同步模式下,自定义的激励组件模型一般需要实现的接口有:Init0、StanO、StepO、Stop0这4个接口;而异步模式下,则需要实现的接口是:Init0、StartO、WorkO、StopO这4个接口。Stimulator类接口规范。

2.2激励组件适配性设计

用户在自定义激励组件模型时,需要先完成该激励器软件的配置文件。一个激励器软件的配置文件需要配置如下的信息:激励器软件的名称、激励组件模型所属的动态库名称、激励器软件的调度周期、同步或者异步的模式,所需要的CPU数量以及激励组件模型所需要的ICD定义配置文件名称。如果该激励组件模型是异步模式的话,还需要配置前驱组件模型的名称。当用户完成了激励组件模型的配置文件后,激励系统框架将对这些激励组件模型的名称进行识别,框架将以调度插件的方式对这些激励组件模型进行驱动。激励组件声明的示意图如图1所示。

当激励系统框架按照配置文件的信息将激励组件的信息存储到框架内后,激励系统框架会根据上述链表的信息调用各个激励组件。激励系统框架在从该数据结构中依次调用各个组件时,会依据工厂方法生成当前所要调度的对象的实例。

3测试验证

根据当前航空电子系统软件对激励设备的需求,将有大气激励器(AD)、惯性导航激励器(IN)以及数据集中激励器(RDC)这三类激励器。这三个激励设备的时序性是大气激励器和惯性导航激励器的输出是数据集中激励器的输入。因此,通用激励系统框架每次再调度该组周期时,需要先调度大气激励器和惯性导航激励器,才能调度数据集中激励器。在通用激励系统框架开始调度后,使用周期监控,查看对当前三个激励设备的调度结果。时序调度图如图2所示。

从监控的结果可以看出,当前航电通用激励系统框架按照大气激励器、惯性导航激励器以及数据集中激励器的顺序,依次进行调度。这表明本文所设计的航电通用激励系统可以满足各个激励设备对时序性进行控制的要求。

4结论

随着航空电子系统软件的复杂度越来越高,其测试、仿真和验证的要求也越来越高。为了满足复杂航空电子系统软件的仿真验证工作,本文利用了组件框架思想设计了面向航电测试的通用激励器。通过不同的配置文件,该航电通用激励器可以仿真不同的激励设备。而通过仿真模型框架可以对这些激励设备进行时序控制,以满足各个激励设备对时序性的需求。该航电通用激励器可以为不同种类的航空电子系统软件进行仿真验证测试的工作,为航空电子系统软件在开发周期中的测试带来了极大的便利。

猜你喜欢

通用性软件测试
Improving polyp detection at colonoscopy: Non-technological techniques
基于OBE的软件测试课程教学改革探索
EXCEL和VBA实现软件测试记录管理
基于元模型的通用性列控仿真平台基础环境研究
关于软件测试技术应用与发展趋势研究
抛丸机吊具的通用性设计以及抛丸器的布置
提升电网企业制度通用性的应用研究——以“1 + 2 + 3”闭环管理机制构建精益高效的制度管理体系
智能电能表软件测试技术概述
《软件测试》课程教学策略研究
汉语教材编写的本土化特征——基于《汉语教科书(1954)》与通用性教材、“一本多版”的比较