CN111338962A - Cni系统设备测试软件组件化设计方法 - Google Patents
Cni系统设备测试软件组件化设计方法 Download PDFInfo
- Publication number
- CN111338962A CN111338962A CN202010129100.XA CN202010129100A CN111338962A CN 111338962 A CN111338962 A CN 111338962A CN 202010129100 A CN202010129100 A CN 202010129100A CN 111338962 A CN111338962 A CN 111338962A
- Authority
- CN
- China
- Prior art keywords
- component
- service
- interface
- bus
- function
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3684—Test management for test design, e.g. generating new test cases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开的CNI系统设备测试软件组件化设计方法,旨在提供一种具有高复用性、高内聚低耦合性的综合检测设备软件,此方法适用于航空通信导航识别系统CNI综合检测设备软件的设计过程。首先,定义组件与组件框架之间的接口通信规范,使得组件、组件框架能够独立并行开发,提升软件开发效率,其次,设计一个组件化框架,实现对组件的加载、运行、管理,并作为中介者为组件之间提供接口通信服务,最后,根据航空通信导航识别系统CNI综合检测设备系统组成结构,划分出多个相对独立的软件组件,各自实现CNI传感器子系统的功能与性能测试,通过上述组件化的软件设计方法,克服了现有技术功能众多而开发资源紧张的缺陷。
Description
技术领域
本发明涉及一种适用于航空电子系统设备测试软件的设计方法,尤其是航空通信导航识别系统CNI综合检测设备软件的组件化设计方法。
背景技术
模块化,面向对象,软件组件,基于组件对象模型(COM)的技术集合,ActiveX控件;接口软件模块化及面向对象程序设计,随着以计算机技术为基础的虚拟设备器技术的发展,自动测试系统正朝着标准化、模块化的方向发展,出现了标准的测试总线,如VXI、PXI和PCI总线,这样在测试系统的组建时只需选择实现不同功能的标准模块。硬件的标准化、模块化给测试系统的集成和使用带来极大的方便。通过模块化所实现的软件是由被加工的对象及其在该对象上所实现的有关功能构成。从软件的发展历程来看,程序设计方法经历了多次变革,从最初的功能分解法到结构化程序设计方法,再到至今仍在广泛使用的面向对象程序设计方法。对于大型、复杂系统的软件设计,从软件模型的角度来考虑,有效的办法就是把一个庞大的应用软件分成多个模块,每个模块保持一定的功能独立性,在协同工作时,通过相互之间的接口完成实际的任务。由此提出了软件设计中模块化的思想。软件设计的模块化降低了设计开发的复杂度并使设计步骤清晰,也有利于提高软件健壮性、灵活性、可复用性等。所谓组件是软件的基本量子。它具有一定的功能,同时又是可维护的,具有标准化的、可重用的公开接口。以组件为发布单元的对象模型,可以使各软件组件用统一的方式进行交互。也就是说组件可以在二进制级别上进行集成和重用,能被独立地生产、获得和配置。组件可以是DLL文件形式,也可以是EXE文件形式。进行模块化软件设计时通常要综合考虑模块的可分解性、可结合性、可理解性、连续性及模块保护几方面的要求。模块的可分解性要求把一个大的、复杂的问题分解为一些小的、简单的问题,通过解决各个小问题来解决大问题;模块的可结合性要求不同时期、不同项目、不同环境下设计的模块应能自由地结合在一起构成新的系统。基于功能的软件开发方法中,其功能实现中考虑的“过程”和“操作”是多变和不稳定的,程序结构围绕事先确定好的功能,使得功能的扩充、删除及修改变得相当困难。面向对象的程序设计中考虑的“对象”和“数据结构”是相对稳定的。面向对象方法把属性和服务封装在对象中,当外部功能发生变化时,这种封装可以保持对象结构的相对稳定,使得改动仅局限在一个对象内部,减小了因改动引起的系统波动效应。面向对象设计方法是继面向过程的设计方法之后,广泛使用的软件设计方法。面向对象的系统模型对象封装了数据以及对数据的操作。对象之间通过相互调用协作来实现指定的业务流程。从系统构成的观点,面向对象的系统模型是无中心的,各个对象地位平等。对象之间是P2P(点对点)的联系,对于一个具有N个对象的系统,对象连接关系最多有N*(N-1)/2种,当对象数目较多时,对象连接关系的数量将以平方级数激增。
CNI是航空电子系统的重要组成部分,在此基础上发展起来的综合化通信导航识别(Integrated CNI,ICNI)设备以通用模块为基础,加强设备的冗余备份和资源重构以提高传感器功能、执行任务的冗余度和可靠性,但与此同时会使ICNI设备的测试及故障定位更加复杂,从而对所需测试系统的系统集成、故障检测和隔离能力提出了更高要求。ICNI系统组成包括天线接口、综合信道、核心处理等分机。在系统中,分机不能独立完成某项功能。当启动某一功能时,与此功能有关的硬件模块资源在天线开关、射频开关网络以及数字交换网络的支持下进行组合,构成一个完成该功能的硬件线程,同时中频信号处理资源通过控制和加载构成相应的软件线程,支持该功能的信号全程处理。ICNI可同时支持多个硬件线程和软件线程,即可同时完成多个功能。系统资源管理器还可通过控制系统的硬件线程和软件线程来实现系统资源重构。当前ICNI设备测试通常采用传统三代联合式CNI设备测试方法,即采用多种传感器激励设备,配置大量人力分别对ICNI设备进行测试,在ICNI设备发生故障时,通常依靠设计师经验或需要较多人员根据信号流向分段排故,这种系统集成、故障检测手段已不能满足项目数量的急剧增加。CNI综合检测设备涉及的检测功能繁多,总体上分为三类检测功能:功能对通测试、链路检查、性能测试。如果采用面向对象的设计方法,将不得不面对产生大量对象及管理对象复杂连接关系的事实。
《电讯技术》2015年4月出版的第55卷第4期第419-423页公开了一种通用飞机综合航电测试系统,该系统将以Labview为平台的虚拟设备器技术、以GPIB设备器、VXI模块为基础的自动测试技术引入综合航电系统的测试平台,实现了对飞机综合航电系统的测试。缺点是该系统没有根据综合航电系统的功能结构设计出独立的功能测试软件模块,组件化程度不高。中国专利申请2012100067801公布了一种基于PXI总线、LabWindowsCvi的飞行器航电设备地面检测系统。该发明通过由PXI测试系统、适配器、I/O模块、机柜、测试台、测试电缆及电源组成的硬件部分和由基于LabWindowsCvi开发的应用软件部分,协同完成飞行器航电设备的地面检测工作。该发明以任务为导向,分别完成了时间驱动任务、事件驱动任务、后台运行任务的软件设计。该发明提供了一种飞行器航电设备地面检测系统的软硬件协同设计方法,使得飞行器航电设备地面检测系统模块化、集成化、小型化。缺点是该发明局限于过程化的软件设计方法,缺少软件模块的组件化设计,不能实现软件模块的复用,并且软件与硬件绑定,无法实现软件的通用。
CNI综合检测设备需要实现的功能众多,随着CNI系统检测设备测试软件业务的壮大,模块越来越多,代码量超10万是很正常的,这个时候会遇到以下问题稍微改动一个模块的一点代码都要编译整个工程,耗时耗力公共资源、业务、模块混在一起耦合度太高不方便测试。由于传统的航空CNI系统设备测试软件普遍存在组件化程度低、复用性差等问题,这些问题一方面增加了软件开发周期,造成了系统集成联试困难,另一方面缺少软件的扩展设计,增加了后期软件维护升级的难度。为了合理解决目前的问题,有必要开发一种CNI系统设备测试软件组件化设计方法,使得CNI综合检测设备软件具有开发调试效率高、高复用性、可复用性、高内聚低耦合性、并行开发性的特点。
发明内容
本发明的目的是针对传统的航空CNI系统设备测试软件组件化程度低、不易复用的缺点,提出了一种具有高复用性、高内聚低耦合性和并行开发性的航空通信导航识别系统CNI系统设备测试软件组件化设计方法。
本发明的目的可以通过以下措施来达到。一种CNI系统设备测试软件组件化设计方法,其特征在于包括如下步骤:在组件化程序设计中,基于面向对象,按照模块化把CNI系统设备的各个测试功能划分为对应独立的测试组件,同时设计一个实现对组件的加载、运行、管理的组件化框架,定义CNI综合检测设备测试软件组件与组件框架之间的接口通信规范,形成以组件框架为中心的星型结构,并作为组件通讯的媒介为组件之间提供接口通信服务;根据CNI综合检测设备系统功能,划分出总线组件、公共服务组件、性能测试组件、链路检查组件、功能对通测试组件及其各组件的对外提供的接口;组件框架动态加载和卸载组件,在组件的生命周期内管理组件,为各组件提供服务接口和服务注册接口,获取并运行组件的控制接口、调度组件运行,控制组件的生命周期;总线组件通过总线数据服务层提供总线服务接口,向业务层中的业务组件和公共服务组件提供总线数据收发服务;公共服务组件通过公共服务层,利用公共服务接口向业务层提供业务组件切换的服务和总线的状态查询服务;性能测试组件、链路检查组件、功能对通测试组件使用通信服务接口和公共服务接口组合,并结合自身的测试业务流程完成自身的测试业务功能。
本发明具有如下有益效果:
本发明采用面向组件的思想对系统进行建模,相比于面向对象的设计方法,天然地将CNI综合检测设备的各个测试功能划分为对应的独立组件,组件以组件框架为中心形成星型结构,组件框架作为组件通讯的媒介,相比于点对点的方式,最大程度减小了组件之间的通讯复杂度,使航空通信导航识别系统CNI综合检测设备软件具有高复用性、高内聚低耦合性、并行开发性的特点。
高复用性。本发明根据CNI综合检测设备系统功能,划分出总线组件、公共服务组件、性能测试组件、链路检查组件、功能对通测试组件及其各组件的对外提供的接口;组件框架动态加载和卸载组件,在组件的生命周期内管理组件,为各组件提供服务接口和服务注册接口,获取并运行控制接口、调度组件运行,控制组件的生命周期;组件框架也具有复用性并能够被更高一级的程序调用,同时组件框架也可看做是一类组件。由于组件是一种具有规范的接口规约和显式的语境依赖,可以被独立地部署并由第三方任意地组装的组装单元,组件之间以公共的接口互相连接,它们之间的联系数目是线性的,设计的组件达到了黑盒复用级别,使得复杂度大幅下降。组件使用者对接口和规约之外的组件实现细节一无所知,一方面避免了组件使用者对组件实现细节的修改,另一方面替换现有的组件并不会影响使用者的程序,大大提高了组件使用的灵活性和可维护性强。
高内聚低耦合性。本发明采用性能测试组件、链路检查组件、功能对通测试组件使用通信服务接口和公共服务接口组合,并结合自身的测试业务流程完成自身的测试业务功能。由于一个组件通常包含了一组对象,一组对象通过协作方式实现了组件接口所定义的功能,相比于面向对象的系统模型实现对象级的复用,面向组件的系统模型能够实现功能级的复用,并实现了更高一级的功能封装,通过组件框架对组件调度管理并向组件提供其他组件的服务接口;组件向组件框架注册自身能够提供的服务接口并获取其他组件的服务接口供自身使用,内聚低耦合性高。组件没有外部的可见状态,组件封装了实现细节,仅通过接口对外提供服务。也有利于提高软件健壮性、灵活性、可复用性等。
并行开发性。本发明将各功能拆分成组件后,定义了良好的接口通信规范,在开发前期,各个组件就能并行开发和独立演进,在开发中后期,各个组件基本实现了各自的功能,组件之间以公共的接口互相连接,它们之间的联系数目是线性的,复杂度大幅下降。然后进行集成测试和系统测试,这样能够充分地利用人力资源,最大化地减少软件开发周期。就可以克服CNI综合检测设备需要实现的功能众多而开发资源紧张的缺陷。
附图说明
下面结合附图对本发明专利进一步说明。
图1是本发明CNI系统设备测试软件组件设计方法的原理图。
图2是图1的组件框架与组件之间的接口调用关系图。
图3是图1的组件工作流程图。
图4是图1的总线组件类图。
图5是图1的公共服务组件类图。
图6是图1的功能对通测试组件类图。
图7是图1的链路检查组件类图。
图8是图1的链路检查状态机的状态图。
图9是图1的性能测试组件类图。
具体实施方式
参阅图1。根据本发明,在组件化程序设计中,基于面向对象,按照模块化把CNI系统设备的各个测试功能划分为对应独立的测试组件,同时设计一个实现对组件的加载、运行、管理的组件化框架,定义CNI综合检测设备测试软件组件与组件框架之间的接口通信规范,形成以组件框架为中心的星型结构,并作为组件通讯的媒介为组件之间提供接口通信服务;根据CNI综合检测设备系统功能,划分出总线组件、公共服务组件、性能测试组件、链路检查组件、功能对通测试组件及其各组件的对外提供的接口;组件框架动态加载和卸载组件,在组件的生命周期内管理组件,为各组件提供服务接口和服务注册接口,获取并运行组件的控制接口、调度组件运行,控制组件的生命周期;总线组件通过总线数据服务层提供总线服务接口,向业务层中的业务组件和公共服务组件提供总线数据收发服务;公共服务组件通过公共服务层,利用公共服务接口向业务层提供业务组件切换的服务和总线的状态查询服务;性能测试组件、链路检查组件、功能对通测试组件使用通信服务接口和公共服务接口组合,并结合自身的测试业务流程完成自身的测试业务功能。
整个CNI系统设备测试化软件架构分为业务层、公共服务层和总线层,业务层包括:实现软件主要逻辑功能的,对通测试组件、链路检查组件和性能测试组件;公共服务层提供公共服务,响应业务层的公共服务请求;总线层向公共服务层、业务层提供包括UDP通信服务、串口通信服务的数据通信服务。
软件的数据流分为发送数据流和接收数据流,发送数据流。业务层组件根据自身业务需求向组件框架请求公共服务接口、总线服务接口,经过业务流程处理后将产生的数据通过总线服务接口将数据流发送给总线组件;总线组件通过UDP或串口将数据分配给对应的总线处理发送。总线组件从总线上接收数据流,接收到数据后通过总线服务接口的回调函数接口,将数据发送给相关的业务层组件和公共服务组件。
组件与组件框架之间的接口通信规范包括:组件框架提供组件服务注册接口、组件服务注销接口、组件服务释放接口和组件运行控制接口,其中,组件通过服务注册接口向组件框架注册服务;组件也通过组件服务注销接口向组件框架注销自身提供的服务;组件通过组件服务获取接口获取组件框架服务;组件服务释放接口:组件向组件框架释放已获取的其它组件服务;组件框架通过服务释放接口、组件运行控制接口,调度组件运行并控制组件的生命周期。
总线组件通过UDP通信服务接口,封装UDP总线的初始化以及数据收发实现细节,对外提供UDP数据的收发服务;通过串口通信服务接口封装RS422串口总线的初始化,以及数据收发实现细节,对外提供RS422数据的收发服务。通过总线服务接口向业务组件和公共服务组件提供总线数据收发服务。
功能对通测试组件通过控制检测设备主机产生CNI各功能的通信功能激励信号、导航功能激励信号、识别功能激励信号,实现机载功能的对通测试。
链路检查组件包括:通信链路检查组件、导航链路检查组件和识别链路检查组件,通信链路检查组件、导航链路检查组件分别控制检测设备主机、机载的功能工作参数,使两者保持一致,然后通过串行地执行测试指令序列,实现自动化地闭环测试。
公共服务组件向业务组件提供公共服务接口,包括:文件管理接口、业务组件切换接口和总线状态查询接口,文件管理接口封装文件的创建、保存、载入的实现细节,对外提供数据存取服务;业务组件切换接口封装切换业务组件的实现细节,对外提供业务组件切换的服务;总线状态查询接口封装了通过总线数据接收回调接口,筛选出总线心跳信号,并根据总线心跳信号判断总线在线状态的实现细节,对外提供UDP总线、串口总线的状态查询服务。
性能测试组件包括:通信性能测试组件、导航性能测试组件和识别性能测试组件。性能测试内容包含机载接收灵敏度测试和机载发射功率的测试。通过控制检测设备主机发射电平,由小到大地发射功能激励信号,通过判断机载对应功能是否做出正确地响应来测出机载功能的接收灵敏度;通过控制机载功能向外发射信号,检测设备主机接收信号并上报接收功率,实现对机载功能发射功率的测试。
参阅图2。组件框架由内核以及内核实现的一系列接口组成,功能对通测试组件、链路检查组件、性能测试组件统称为业务组件,业务组件不对外提供服务。启动程序时,业务组件向组件框架申请获取总线服务接口、公共服务接口;结束程序时,业务组件释放已获取的总线服务接口、公共服务接口。
启动程序时,主程序调用安装组件接口;结束程序时,主程序调用卸载组件接口。各个组件与组件框架之间的接口调用关系如下:功能对通测试组件、链路检查组件、性能测试组件和公共服务组件通过卸载组件接口、获取总线服务接口与组件框架发生接口调用关系。总线组件与组件框架的接口调用关系。启动程序时,总线组件和公共服务组件分别通过注册服务接口、注销服务接口调用组件框架的注册服务接口、注销服务接口,向其他组件提供数据通信服务;结束程序时,总线组件调用注销服务接口,向组件框架注销数据通信服务。启动程序时,公共服务组件调用组件框架的注册服务接口,向其他组件提供公共服务,同时,向组件框架申请获取总线服务接口;结束程序时,公共服务组件调用注销服务接口,向组件框架注销公共服务,同时,释放已获取的总线服务接口。
参阅图3。程序启动时,主程序调用组件框架的安装组件接口装载组件,组件框架调用组件的启动组件接口完成组件的初始化工作,组件初始化时,组件调用组件框架注册服务接口,向组件框架注册自身提供的服务接口,并获取其它组件提供的服务,然后组件处于工作状态。组件工作中,如果用户选择退出程序,则主程序调用组件框架的卸载组件接口卸载组件,否则检查是否切换组件,如果不切换组件,则组件仍处于工作状态,否则,组件调用组件框架的释放服务接口,释放自身已获取的服务、调用组件框架的注销服务接口注销自身提供的服务,组件框架调用组件的停止组件接口停止组件回收资源,最后切换到新的组件,组件框架又再一次启动新组件进入新一轮工作状态循环。
参阅图4。在总线组件的类图中,总线组件包含了总线服务接口、启动组件接口和停止组件接口,其中,总线服务接口向使用者提供数据发送、接收服务和注册接收回调函数;启动组件接口启动组件,运行组件的控制接口,初始化总线组件自身。停止组件接口通过停止组件运行组件的控制接口,释放总线组件注销自身提供的总线服务、回收自身申请的UDP、串口、内存系统资源。
在总线组件中,定义了一个抽象总线类来屏蔽总线实现细节,由总线管理者类中的总线容器来存放所有的抽象总线对象。总线管理者对象负责启动组件、停止组件、发送总线数据、初始化总线和注册接收回调函数并初始化总线配置工作参数。
总线管理者对象向抽象总线对象注册接收回调函数以接收总线数据。
抽象总线类定义的接口包括:创建总线、发送数据、销毁总线、注册接收回调函数和组包数据,发送数据发送总线数据,销毁总线关闭总线,回收总线申请的系统资源。抽象总线对象将多次接收的数据帧组成一包完整的消息体并发送给总线管理者对象。
UDP总线类和串口总线类分别继承于抽象总线类并根据各自的总线协议实现了抽象总线类的接口,UDP总线类和串口总线类包括的接口:创建总线、发送数据、销毁总线、接收数据线程。
总线管理者将使用者的数据发送请求转发给相应的抽象总线对象处理;抽象总线对象接收到总线数据后,首先将数据组包然后发送给总线管理者对象,再通过接收回调函数将数据转发给所有的使用者。
参阅图5。在公共服务组件的类图中,公共服务提供者类中包含一个总线服务接口对象,实现了业务组件切换接口、总线状态查询接口、文件管理接口、启动组件接口、停止组件接口。当需要切换业务组件时,使用者调用业务组件切换接口切换到新的组件;总线状态查询接口供使用者查询总线状态,文件管理接口供使用者创建文件、打开文件、保存文件;启动组件接口用来初始化公共服务组件自身;停止组件接口用来释放公共服务组件注销自身提供的公共服务、回收自身申请的系统资源。
参阅图6。在功能对通测试组件的类图中,功能对通测试基类为了实现自身的业务向组件框架获取了总线服务接口、业务组件切换接口、总线状态查询接口、文件管理接口,同时也实现了启动组件接口和停止组件接口。功能对通测试基类利用总线服务接口实现发送数据,注册接收回调函数的功能,利用业务组件切换接口实现切换业务组件的功能,利用总线状态查询接口实现查询总线状态的功能,利用文件管理接口实现创建文件、保存文件、打开文件的功能。通过功能对通测试基类向派生类提供:启动组件接口、停止组件接口、获取接口服务、发送数据和接收数据回调。在不同的组件中分别实现通信功能测试、导航功能测试、识别功能测试,根据每个功能的测试需要调用主机功能。通信功能测试、导航功能测试、识别功能测试中的接口继承于功能对通测试基类,向主机发送加载主机功能指令,命令主机加载指定功能;向主机发送卸载主机功能指令,命令主机卸载指定功能;向主机发送配置主机资源指令,配置主机当前功能的波段资源。功能对通测试基类通过接收数据回调向派生类转发接收到的总线数据。
参阅图7。在链路检查组件的类图中,复用了图6的功能对通测试基类的启动组件接口、停止组件接口、获取接口服务、加载主机功能、卸载主机功能、配置主机资源、发送数据和接收数据回调。链路检查基类继承于功能对通测试基类,向派生类提供如下接口:初始化状态机、启动状态机、停止状态机接口。在控制链路检查指令的执行过程中,启动状态机是启动定时器,指令状态机开始运行;开始执行指令是指令状态机从指令队列中取出指令并执行;指令入队列是将链路检查指令放入指令队列;停止状态机是发送停止执行指令;停止执行指令是指令状态机停止从指令队列中取指令。在不同的组件中分别实现通信链路检查类、导航链路检查类、识别链路检查类的启动组件、停止组件、获取接口服务、加载主机功能、卸载主机功能、发送数据和接收数据回调等接口。
参阅图8。图7中的指令状态机共有四种状态:“准备”、“发送”、“发送中”、“发送结束”。初始时刻,状态机处于“准备”状态。当开始执行指令时,状态机由“准备”状态切换到“发送”状态。在“发送”状态中,状态机从指令队列中取出一条测试指令并调用总线服务接口发送出去,然后状态切换到“发送中”。在“发送中”状态,等待一段时间,当时间超过最大发送等待时间后,状态切换到“发送结束”。“发送结束”状态后,切换到“发送”状态,发送下一条指令,此时检查发送队列是否为空,如果为空,则由“发送”状态切换到“准备”状态,否则从指令队列中取出新的一条指令并发送,由“发送”状态切换到“发送中”状态。
参阅图9。在性能测试组件的类图中,复用了图7的链路检查基类,性能测试基类继承于链路检查基类,向派生类提供如下接口:修正主机发射功率,补偿线损、补偿主机天线增益、补偿电磁波空间衰减接口。修正主机发射功率接口修正由于主机模块的非线性和内部线缆损耗对主机发射功率的影响,补偿线损接口补偿主机天线与主机之间连接的外部线缆对主机发射功率和接收灵敏度的影响,补偿主机天线增益接口补偿UV波段、L波段、C波段、Ka波段主机天线的增益对主机发射功率和接收灵敏度的影响,补偿电磁波空间衰减接口补偿主机天线到机载天线的自由空间中电磁波的空间衰减。性能测试功能生成一系列的性能测试指令分别控制主机和机载的工作状态。在不同的组件中分别实现中分别实现通信性能测试类、导航性能测试类、识别性能测试类。通信性能测试类、导航性能测试类、识别性能测试类都继承于性能测试基类,根据每个功能的性能测试需要调用性能测试基类中的接口,并分别实现初始化状态机、启动状态机、停止状态机,开始执行指令、结束执行指令和指令入队列等接口。
以上所述为本发明较佳实施例,应该注意的是上述实施例对本发明进行说明,然而本发明并不局限于此,并且本领域技术人员在脱离所附权利要求的范围情况下可设计出替换实施例。对于本领域内的普通技术人员而言,在不脱离本发明的精神和实质的情况下,可以做出各种变型和改进,这些变型和改进也视为本发明的保护范围。
Claims (10)
1.一种CNI系统设备测试软件组件化设计方法,其特征在于包括如下步骤:在组件化程序设计中,基于面向对象,按照模块化把CNI系统设备的各个测试功能划分为对应独立的测试组件,同时设计一个实现对组件的加载、运行、管理的组件化框架,定义CNI综合检测设备测试软件组件与组件框架之间的接口通信规范,形成以组件框架为中心的星型结构,并作为组件通讯的媒介为组件之间提供接口通信服务;根据CNI综合检测设备系统功能,划分出总线组件、公共服务组件、性能测试组件、链路检查组件、功能对通测试组件及其各组件的对外提供的接口;组件框架动态加载和卸载组件,在组件的生命周期内管理组件,为各组件提供服务接口和服务注册接口,获取并运行组件的控制接口、调度组件运行,控制组件的生命周期;总线组件通过总线数据服务层提供总线服务接口,向业务层中的业务组件和公共服务组件提供总线数据收发服务;公共服务组件通过公共服务层,利用公共服务接口向业务层提供业务组件切换的服务和总线的状态查询服务;性能测试组件、链路检查组件、功能对通测试组件使用通信服务接口和公共服务接口组合,并结合自身的测试业务流程完成自身的测试业务功能。
2.按权利要求1所述的CNI系统设备测试软件组件化设计方法,其特征在于:CNI系统设备测试化软件架构分为业务层、公共服务层和总线层,业务层包括:实现软件主要逻辑功能的,对通测试组件、链路检查组件和性能测试组件;公共服务层提供公共服务,响应业务层的公共服务请求;总线层向公共服务层、业务层提供包括UDP通信服务、串口通信服务的数据通信服务。
3.按权利要求1或2所述的CNI系统设备测试软件组件化设计方法,其特征在于:软件的数据流分为发送数据流和接收数据流;业务层组件根据自身业务需求向组件框架请求公共服务接口、总线服务接口,经过业务流程处理后将产生的数据通过总线服务接口将数据流发送给总线组件;总线组件通过UDP或串口将数据分配给对应的总线处理发送,总线组件从总线上接收数据流,接收到数据后通过总线服务接口的回调函数接口,将数据发送给相关的业务层组件和公共服务组件。
4.按权利要求1所述的CNI系统设备测试软件组件化设计方法,其特征在于:组件与组件框架之间的接口通信规范包括:组件框架提供的组件服务注册接口、组件服务注销接口、组件服务释放接口和组件运行控制接口,其中,组件通过服务注册接口向组件框架注册服务;组件也通过组件服务注销接口向组件框架注销自身提供的服务;组件通过组件服务获取接口获取组件框架服务;组件服务释放接口:组件向组件框架释放已获取的其它组件服务;组件框架通过服务释放接口、组件运行控制接口,调度组件运行并控制组件的生命周期。
5.按权利要求1所述的CNI系统设备测试软件组件化设计方法,其特征在于:总线组件通过UDP通信服务接口,封装UDP总线的初始化以及数据收发实现细节,对外提供UDP数据的收发服务;通过串口通信服务接口封装RS422串口总线的初始化,以及数据收发实现细节,对外提供RS422数据的收发服务;通过总线服务接口向业务组件和公共服务组件提供总线数据收发服务。
6.按权利要求1所述的CNI系统设备测试软件组件化设计方法,其特征在于:链路检查组件包括:通信链路检查组件、导航链路检查组件和识别链路检查组件,通信链路检查组件、导航链路检查组件分别控制检测设备主机、机载的功能工作参数,使两者保持一致,然后通过串行地执行测试指令序列,实现自动化地闭环测试。
7.按权利要求1所述的CNI系统设备测试软件组件化设计方法,其特征在于:公共服务组件向业务组件提供的公共服务接口,包括:文件管理接口、业务组件切换接口和总线状态查询接口,文件管理接口封装文件的创建、保存、载入的实现细节,对外提供数据存取服务;业务组件切换接口封装切换业务组件的实现细节,对外提供业务组件切换的服务;总线状态查询接口封装了通过总线数据接收回调接口,筛选出总线心跳信号,并根据总线心跳信号判断总线在线状态的实现细节,对外提供UDP总线、串口总线的状态查询服务。
8.按权利要求1所述的CNI系统设备测试软件组件化设计方法,其特征在于:性能测试组件包括:通信性能测试组件、导航性能测试组件和识别性能测试组件,性能测试内容包含机载接收灵敏度测试和机载发射功率的测试,通过控制检测设备主机发射电平,由小到大地发射功能激励信号,通过判断机载对应功能是否做出正确地响应来测出机载功能的接收灵敏度;通过控制机载功能向外发射信号,检测设备主机接收信号并上报接收功率,实现对机载功能发射功率的测试。
9.按权利要求1所述的CNI系统设备测试软件组件化设计方法,其特征在于:组件工作中,如果用户选择退出程序,则主程序调用组件框架的卸载组件接口卸载组件,否则检查是否切换组件,如果不切换组件,则组件仍处于工作状态,否则,组件调用组件框架的释放服务接口,释放自身已获取的服务、调用组件框架的注销服务接口注销自身提供的服务,组件框架调用组件的停止组件接口停止组件回收资源,最后切换到新的组件,组件框架又再一次启动新组件进入新一轮工作状态循环。
10.按权利要求1所述的CNI系统设备测试软件组件化设计方法,其特征在于:在不同的组件中分别实现通信功能测试、导航功能测试、识别功能测试,根据每个功能的测试调用主机功能、通信功能测试、导航功能测试、识别功能测试中的接口继承于功能对通测试基类,向主机发送加载主机功能指令,命令主机加载指定功能;向主机发送卸载主机功能指令,命令主机卸载指定功能;向主机发送配置主机资源指令,配置主机当前功能的波段资源。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010129100.XA CN111338962B (zh) | 2020-02-28 | 2020-02-28 | Cni系统设备测试软件组件化设计方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010129100.XA CN111338962B (zh) | 2020-02-28 | 2020-02-28 | Cni系统设备测试软件组件化设计方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111338962A true CN111338962A (zh) | 2020-06-26 |
CN111338962B CN111338962B (zh) | 2023-02-03 |
Family
ID=71185679
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010129100.XA Active CN111338962B (zh) | 2020-02-28 | 2020-02-28 | Cni系统设备测试软件组件化设计方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111338962B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112260776A (zh) * | 2020-10-12 | 2021-01-22 | 西南电子技术研究所(中国电子科技集团公司第十研究所) | 地面对通检测机载cni性能的综合联试系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102081545A (zh) * | 2011-01-07 | 2011-06-01 | 中国电子科技集团公司第十研究所 | 在嵌入式平台上实现软件通信架构的方法 |
CN102662112A (zh) * | 2012-01-11 | 2012-09-12 | 北京航空航天大学 | 一种基于PXI总线、Lab Windows Cvi的飞行器航电设备地面检测系统 |
-
2020
- 2020-02-28 CN CN202010129100.XA patent/CN111338962B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102081545A (zh) * | 2011-01-07 | 2011-06-01 | 中国电子科技集团公司第十研究所 | 在嵌入式平台上实现软件通信架构的方法 |
CN102662112A (zh) * | 2012-01-11 | 2012-09-12 | 北京航空航天大学 | 一种基于PXI总线、Lab Windows Cvi的飞行器航电设备地面检测系统 |
Non-Patent Citations (1)
Title |
---|
孙文杰: "基于功能综合的模块化通信导航识别系统总体设计", 《电讯技术》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112260776A (zh) * | 2020-10-12 | 2021-01-22 | 西南电子技术研究所(中国电子科技集团公司第十研究所) | 地面对通检测机载cni性能的综合联试系统 |
CN112260776B (zh) * | 2020-10-12 | 2023-05-09 | 西南电子技术研究所(中国电子科技集团公司第十研究所) | 地面对通检测机载cni性能的综合联试系统 |
Also Published As
Publication number | Publication date |
---|---|
CN111338962B (zh) | 2023-02-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107562635B (zh) | 嵌入式软件测试辅助系统 | |
US8095927B2 (en) | Object oriented component and framework architecture for signal processing | |
US20040049609A1 (en) | Mechanism for integrating programmable devices into software based frameworks for distributed computing | |
US7367020B2 (en) | Executable radio software system and method | |
US7155711B2 (en) | Method and apparatus providing remote reprogramming of programmable logic devices using embedded JTAG physical layer and protocol | |
CN109254757B (zh) | 双核心框架的软件通信体系结构 | |
CN112966906A (zh) | 航天器地面测控站资源池架构的集中监控平台 | |
CN108170626B (zh) | 一种1553b总线软件动态可配置方法 | |
CN111447079B (zh) | 基于sca框架的高可用扩展系统和方法 | |
CN107992411A (zh) | 一种构建任务管理系统软件虚拟测试环境的方法 | |
CN111338962B (zh) | Cni系统设备测试软件组件化设计方法 | |
CA2904253A1 (en) | Computer system using in-service software upgrade | |
CN105975333B (zh) | 应用程序运行控制的方法及装置 | |
CN110309069A (zh) | 测试用例动态加载及控制工具 | |
CN112882793A (zh) | 一种容器资源共享的方法和系统 | |
CN114489585A (zh) | 一种治理功能插件化的微服务开发框架及实现方法 | |
Annighoefer et al. | The adaptive avionics platform | |
Pecchioli et al. | Objectives and concepts of the european ground systems common core (egs-cc) | |
CN109218095B (zh) | 一种智能无线云sdr平台架构及其重构方法 | |
CN113064737B (zh) | 使软件通信体系结构的组件在多核处理器并行运行的方法 | |
Coelho et al. | OPS-SAT Experiments’ Software Management with the NanoSat MO Framework | |
CN114721286A (zh) | 分布式编译的并行实时仿真系统和仿真方法 | |
CN112699033B (zh) | 一种多分区机载软件测试用例多级同步加载方法 | |
US7386712B2 (en) | Firmware developer user interface with break command polling | |
Ferguson et al. | System software framework for system of systems avionics |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |