CN102662842A - 一种基于Java平台的航天器测试软件构架及其测试方法 - Google Patents
一种基于Java平台的航天器测试软件构架及其测试方法 Download PDFInfo
- Publication number
- CN102662842A CN102662842A CN2012101051980A CN201210105198A CN102662842A CN 102662842 A CN102662842 A CN 102662842A CN 2012101051980 A CN2012101051980 A CN 2012101051980A CN 201210105198 A CN201210105198 A CN 201210105198A CN 102662842 A CN102662842 A CN 102662842A
- Authority
- CN
- China
- Prior art keywords
- hardware
- spacecraft
- operating system
- adapter
- unit
- 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
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种基于Java平台的航天器测试软件构架及其测试方法,它包含航天器摘要信息单元、适配单元、应用单元以及Java虚拟机,经过将与航天器的硬件、操作系统、总线通信以及支撑环境相关操作的基础信息并独立出来;通过Java虚拟机,将航天器的基础信息封装到适配单元中相对应的部分,将适配单元中的信息通过接口传递给应用单元,应用单元业务逻辑计算的过程。本发明的有益效果是:统一采用Java平台架构,该架构中实现了硬件管理器、语言版本适配器、操作系统适配器,将硬件操作、语言习惯及操作系统相关的特性从测试软件中隔离出来,从而实现了针对不同硬件、语言习惯、操作系统的平台无关的通用测试软件。
Description
技术领域
本发明涉及一种基于Java平台的航天器测试软件构架及其测试方法。
背景技术
航天器上设备众多,涉及到的配套单位众多,各单位根据航天器上设备具体情况实现了不同架构的单元测试设备。这些单元测试设备有些是由普通工控机实现的,有些是由DSP、FPGA实现的,有些是基于Windows操作系统的,有些是基于Linux操作系统的,还有些是基于其它嵌入式操作系统的。设备间通信也会采用RS422、1553B、LXI、VXI等各种不同的总线。一般情况下,测试软件为了平衡硬件操作、运行速度、开发复杂度等几个方面,都采用C/C++作为开发工具,开发出的测试软件在运行平台、硬件接口方面存在很大差异。航天器在总装单位进行综合测试时,总装单位要根据各配套厂家的单元测试设备搭建航天器测试系统,这就造成了综合测试软件结构复杂,通用性不强,配套厂家实现的中间件不能得以有效利用的问题。
现阶段,航天器性能已到达或接近国际先进水平,外贸出口也日趋频繁。外贸过程中,需提交符合采购方语言、操作习惯的测试软件。整套测试软件从操作系统、硬件驱动等底层支撑开始都应是基于采购方官方语言的。测试软件的研制完成到外贸出口之间往往相隔时间较长,有的接近10年。这期间存在基于采购方官方语言的操作系统、硬件驱动、数据库、支撑开发环境的情况。因此,航天器测试软件的外贸出口不仅仅是翻译软件界面,而可能从操作系统开始重新架构。重新开发测试软件存在周期长、维护复杂的问题,且没有经过批产考核的测试软件存在大量质量隐患。
发明内容
本发明的目的在于克服现有技术的缺点,提供一种基于Java平台的航天器测试软件架构及其测试方法,以解决航天器测试软件面临硬件、操作系统、总线通信、支撑环境类型多而造成的架构复杂,通用性不强等问题。
本发明的目的是通过以下技术方案来实现的:一种基于Java平台的航天器测试软件构架,它包含:
航天器摘要信息单元,用于提供与航天器的硬件、操作系统、总线通信以及支撑环境相关操作的基础信息并独立出来;
适配单元,用于接收与航天器的硬件、操作系统、总线通信以及支撑环境相关操作的信息,由硬件管理器、语言版本适配器、操作系统适配器和Java支持环境组成;
应用单元,与适配单元相互联系,用于负责软件的业务逻辑;
Java虚拟机,用于将航天器摘要信息单元独立出来的基础信息封装到适配单元中相对应的部分。
所述的操作系统为嵌入式操作系统,包含Windows操作系统、Linux操作系统。
所述的应用单元与适配单元通过XML格式配置文件相互联系。
一种基于Java平台的航天器测试软件测试方法,它包含以下步骤:
(1)将与航天器的硬件、操作系统、总线通信以及支撑环境相关操作的基础信息并独立出来;
(2)通过Java虚拟机,将航天器的基础信息封装到适配单元中相对应的部分,其中,硬件管理器中建立建立基于CBaseDriver的硬件适配器列表,并定义硬件适配器接口,经过硬件适配器信息读写、处理函数和ID唯一性编号;
(3)将适配单元中的信息通过接口传递给应用单元;
(4)应用单元业务逻辑计算,所述的应用单元业务逻辑计算包括以下的内容:
a、硬件的操作,通过Java本地接口(JNI)技术,硬件适配器定义一套调用本地动态链接库文件的接口,硬件管理器根据统一分配的硬件ID号查找相应硬件适配器,并通过接口调用动态链接库,从而对具体硬件进行操作;
b、语言版本的设置;
c、操作系统的调用。
本发明的有益效果是:统一采用Java平台架构,该架构中实现了硬件管理器、语言版本适配器、操作系统适配器,将硬件操作、语言习惯及操作系统相关的特性从测试软件中隔离出来,从而实现了针对不同硬件、语言习惯、操作系统的平台无关的通用测试软件,通用性强。
附图说明
图1是本发明的架构示意图。
具体实施方式
下面结合附图进一步描述本发明的技术方案,但要求保护的范围并不局限于所述。
如图1,一种基于Java平台的航天器测试软件构架,它包含:
航天器摘要信息单元,用于提供与航天器的硬件、操作系统、总线通信以及支撑环境相关操作的基础信息并独立出来,包括硬件驱动、数据库、操作系统相关的软件以及操作系统相关的支撑环境;
适配单元,用于接收与航天器的硬件、操作系统、总线通信以及支撑环境相关操作的信息,由硬件管理器、语言版本适配器、操作系统适配器和Java支持环境组成;
应用单元,与适配单元相互联系,用于负责软件的业务逻辑;
Java虚拟机,用于将航天器摘要信息单元独立出来的基础信息封装到适配单元中相对应的部分。
所述的操作系统为嵌入式操作系统,包含Windows操作系统、Linux操作系统。
所述的应用单元与适配单元通过XML格式配置文件相互联系,减小了代码的耦合。
为方便开发,航天器测试软件在Windows下完成中文版本开发,同时在Windows、Linux系统下分别封装了硬件操作函数的动态链接库,各平台下的动态链接库调用名称保持一致。开发完成的测试软件通过修改spring_config.xml文件即可移植到Linux运行平台。soft_config.xml文件的修改如下所示,将filename修改为english.xml,class修改为Linux平台的适配类名即可。
一种基于Java平台的航天器测试软件测试方法,它包含以下步骤:
(1)将与航天器的硬件、操作系统、总线通信以及支撑环境相关操作的基础信息并独立出来;
(2)通过Java虚拟机,将航天器的基础信息封装到适配单元中相对应的部分,硬件基础信息封装到硬件管理器中,操作系统基础信息封装到操作系统适配器中,其中,硬件管理器中建立建立基于CBaseDriver的硬件适配器列表,并定义硬件适配器接口,经过硬件适配器信息读写、处理函数和ID唯一性编号;
(3)将适配单元中的信息通过接口传递给应用单元;
(4)应用单元业务逻辑计算,所述的应用单元业务逻辑计算包括以下的内容:
a、硬件的操作,通过Java本地接口(JNI)技术,硬件适配器定义一套调用本地动态链接库文件的接口,调用方法为System.loadLibrary(“动态链接库调用名称”)。在不同操作系统平台上实现硬件操作的动态链接库,不同操作系统平台下的动态链接库调用名称保持一致,因此平台相关性限制在动态链接库里。硬件管理器根据统一分配的硬件ID号查找相应硬件适配器,并通过接口调用动态链接库,从而对具体硬件进行操作;
b、语言版本的设置,以中英文为例,将软件中的字符串常量定义在chinese.xml和english.xml文件中。chinese.xml文件中的字符串节点定义如下:
english.xml中将该节点Content字段内容定义为<Content>Sof-tVersion</Content>,语言版本适配类根据ID字段CS_SOFT_VERSION返<Content>字段内容。因此根据soft_config.xml中的<language>节点描述决定读取chinese.xml或english.xml,从而达到设置不同语言版本的目的;
c、操作系统的调用,将操作系统平台相关的操作封装成操作系统适配器类。平台相关的操作主要包括:环境变量、路径分隔符读取等。
Claims (4)
1.一种基于Java平台的航天器测试软件构架,其特征在于:它包含:
航天器摘要信息单元,用于提供与航天器的硬件、操作系统、总线通信以及支撑环境相关操作的基础信息并独立出来;
适配单元,用于接收与航天器的硬件、操作系统、总线通信以及支撑环境相关操作的信息,由硬件管理器、语言版本适配器、操作系统适配器和Java支持环境组成;
应用单元,与适配单元相互联系,用于负责软件的业务逻辑;
Java虚拟机,用于将航天器摘要信息单元独立出来的基础信息封装到适配单元中相对应的部分。
2.根据权利要求1所述的一种基于Java平台的航天器测试软件构架,其特征在于:所述的操作系统为嵌入式操作系统,包含Windows操作系统、LinuX操作系统。
3.根据权利要求1所述的一种基于Java平台的航天器测试软件构架,其特征在于:所述的应用单元与适配单元通过XML格式配置文件相互联系。
4.一种基于Java平台的航天器测试软件测试方法,其特征在于:它包含以下步骤:
(1)将与航天器的硬件、操作系统、总线通信以及支撑环境相关操作的基础信息并独立出来;
(2)通过Java虚拟机,将航天器的基础信息封装到适配单元中相对应的部分,其中,硬件管理器中建立建立基于CBaseDriver的硬件适配器列表,并定义硬件适配器接口,经过硬件适配器信息读写、处理函数和ID唯一性编号;
(3)将适配单元中的信息通过接口传递给应用单元;
(4)应用单元业务逻辑计算,所述的应用单元业务逻辑计算包括以下的内容:
a、硬件的操作,通过Java本地接口(JNI)技术,硬件适配器定义一套调用本地动态链接库文件的接口,硬件管理器根据统一分配的硬件ID号查找相应硬件适配器,并通过接口调用动态链接库,从而对具体硬件进行操作;
b、语言版本的设置;
c、操作系统的调用。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210105198.0A CN102662842B (zh) | 2012-04-11 | 2012-04-11 | 一种基于Java平台的航天器测试软件构架及其测试方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210105198.0A CN102662842B (zh) | 2012-04-11 | 2012-04-11 | 一种基于Java平台的航天器测试软件构架及其测试方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102662842A true CN102662842A (zh) | 2012-09-12 |
CN102662842B CN102662842B (zh) | 2016-02-03 |
Family
ID=46772339
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210105198.0A Active CN102662842B (zh) | 2012-04-11 | 2012-04-11 | 一种基于Java平台的航天器测试软件构架及其测试方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102662842B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014101610A1 (zh) * | 2012-12-27 | 2014-07-03 | 飞天诚信科技股份有限公司 | 一种java应用访问智能密钥装置的方法 |
CN109388430A (zh) * | 2017-08-02 | 2019-02-26 | 丰郅(上海)新能源科技有限公司 | 实现微处理器对外设硬件控制的方法 |
CN110275716A (zh) * | 2019-06-27 | 2019-09-24 | 深圳开立生物医疗科技股份有限公司 | 设备部署方法及装置、设备运行方法及电子设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1900905A (zh) * | 2005-07-24 | 2007-01-24 | 华为技术有限公司 | 测试描述语言的实现方法及其装置 |
US20100186001A1 (en) * | 2009-01-21 | 2010-07-22 | International Business Machines Corporation | Method and apparatus for native method calls |
CN102004662A (zh) * | 2010-12-07 | 2011-04-06 | 江南大学 | 嵌入式可裁剪式虚拟机 |
-
2012
- 2012-04-11 CN CN201210105198.0A patent/CN102662842B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1900905A (zh) * | 2005-07-24 | 2007-01-24 | 华为技术有限公司 | 测试描述语言的实现方法及其装置 |
US20100186001A1 (en) * | 2009-01-21 | 2010-07-22 | International Business Machines Corporation | Method and apparatus for native method calls |
CN102004662A (zh) * | 2010-12-07 | 2011-04-06 | 江南大学 | 嵌入式可裁剪式虚拟机 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014101610A1 (zh) * | 2012-12-27 | 2014-07-03 | 飞天诚信科技股份有限公司 | 一种java应用访问智能密钥装置的方法 |
CN109388430A (zh) * | 2017-08-02 | 2019-02-26 | 丰郅(上海)新能源科技有限公司 | 实现微处理器对外设硬件控制的方法 |
CN110275716A (zh) * | 2019-06-27 | 2019-09-24 | 深圳开立生物医疗科技股份有限公司 | 设备部署方法及装置、设备运行方法及电子设备 |
WO2020259163A1 (zh) * | 2019-06-27 | 2020-12-30 | 深圳开立生物医疗科技股份有限公司 | 设备部署方法及装置、设备运行方法及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN102662842B (zh) | 2016-02-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CA3008844C (en) | Automatic generation of microservices based on technical description of legacy code | |
CN107577607B (zh) | 用户界面自动化测试方法、装置、电子设备、存储介质 | |
US8572159B2 (en) | Managing device models in a virtual machine cluster environment | |
CN113312037B (zh) | 应用于微服务的数据处理方法、装置、设备和存储介质 | |
US20190026085A1 (en) | Intelligent cloud engineering platform | |
CN109643252B (zh) | 中间件接口和中间件接口生成器 | |
US20090106754A1 (en) | Handling a device related operation in a virtualization enviroment | |
US8843945B2 (en) | Automated application programming interface (API) generation | |
US10152474B2 (en) | Automated term extraction | |
CN109656646B (zh) | 一种远程桌面控制方法、装置、设备及虚拟化芯片 | |
CN102662842B (zh) | 一种基于Java平台的航天器测试软件构架及其测试方法 | |
CN109117253A (zh) | 一种微内核调度的方法和装置 | |
Lootus et al. | A VM/containerized approach for scaling tinyML applications | |
KR20110130611A (ko) | 이기종 운영체제 계층 모듈에서 동작하는 웹기반어플리케이션의 연동이 가능한 모바일 단말기용 웹 플랫폼 유닛 | |
CN111367799A (zh) | 定位源代码崩溃位置的方法、装置、介质及电子设备 | |
CN1971509A (zh) | 构件化软件系统基于设备接口实现二进制兼容运行的方法 | |
CN101876898A (zh) | 一种com组件的注册方法及装置 | |
CN113703805A (zh) | arm64架构虚拟化系统的升级方法、系统、终端及存储介质 | |
CN111273913A (zh) | 一种输出规范表示的应用程序接口数据的方法及装置 | |
Alsaffar et al. | A Lightweight Portable Multithreaded Client-Server Docker Containers | |
US8555046B2 (en) | Computer system and its HW abstraction method | |
CN110209427B (zh) | 应用系统及其启动方法、电子设备、存储介质 | |
US20210357596A1 (en) | Intelligent localization of resource data | |
CN116258205A (zh) | 网络模型推理方法、装置、存储介质及电子设备 | |
JPH11238004A (ja) | システムシミュレータ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |