CN108491330A - 一种应用于卫星cpu软件在轨重构的试验验证系统及其方法 - Google Patents

一种应用于卫星cpu软件在轨重构的试验验证系统及其方法 Download PDF

Info

Publication number
CN108491330A
CN108491330A CN201810280838.9A CN201810280838A CN108491330A CN 108491330 A CN108491330 A CN 108491330A CN 201810280838 A CN201810280838 A CN 201810280838A CN 108491330 A CN108491330 A CN 108491330A
Authority
CN
China
Prior art keywords
reconstruct
module
data
software
program
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.)
Pending
Application number
CN201810280838.9A
Other languages
English (en)
Inventor
徐元旭
尤志坚
于慧亮
许永建
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Engineering Center for Microsatellites
Original Assignee
Shanghai Engineering Center for Microsatellites
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shanghai Engineering Center for Microsatellites filed Critical Shanghai Engineering Center for Microsatellites
Priority to CN201810280838.9A priority Critical patent/CN108491330A/zh
Publication of CN108491330A publication Critical patent/CN108491330A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3624Software debugging by performing operations on the source code, e.g. via a compiler
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3644Software debugging by instrumenting at runtime

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

本发明公开了一种应用于卫星CPU软件在轨重构的试验验证系统,包括:可配置重构验证码自动生成系统模块,所述可配置重构验证码自动生成系统模块为重构的试验验证提供重构数据,并为被测软件编译并生成目标码;被测件仿真运行系统模块,所述被测件仿真运行系统模块为具有重构设计的被验证软件提供模拟真实运行环境的仿真系统;重构全实时自动监控系统模块,所述重构全实时自动监控系统模块对重构的全过程进行实时监控;和重构故障注入系统模块,所述重构故障注入系统模块为卫星CPU软件重构的试验验证提供各种类型的故障注入,并且可以在卫星软件的CPU重构设计策略验证要点的各个阶段实现故障注入。

Description

一种应用于卫星CPU软件在轨重构的试验验证系统及其方法
技术领域
本发明涉及计算机软件验证测试领域,尤其涉及可以对卫星CPU软件在轨重构流程及结果进行地面多种类故障注入试验验证的平台系统的模块组成、模块架构及其功能。
背景技术
卫星运行需要大量的卫星CPU软件的协同工作。这些软件互相配合保证卫星的正常运行和任务执行。卫星在轨运行时,其CPU软件往往会由于意外情况而发生运行异常。此时,地面会通过测控系统向该卫星的故障CPU软件上注更新的软件代码,以替代该出故障的CPU软件的代码。此外,出于任务调整的需求,地面通过测控系统更新当前在轨卫星的一个或多个CPU软件的软件代码。这一整套完整的卫星CPU软件更新系统称之为对卫星CPU软件的重构。通常,重构包括重构数据准备过程、上注过程、存储过程以及启动过程。在重构数据准备过程中,需要在地面对需要上注的程序进行准备。然后,将准备好的数据通过上注通道上注到在轨运行的卫星中卫星接收到后会将接收到的代码存储在对应的硬件存储区。然后,卫星通过重启等方式启动存储区内上注的代码。最后,软件正常运行,卫星在轨重构就结束了。
由于整套卫星在轨重构过程涉及环节较多,为了尽量避免出现差池,业内通常会提前在地面进行重构试验,也就是在地面模拟在轨重构过程。但是目前地面在轨重构试验的验证手段还很少,而且基本停留在利用真实卫星单机进行重构功能的正常验证,缺少针对性的对在轨重构流程进行试验验证的系统或平台设备。而利用真实单机进行在轨重构试验验证,会由于真实单机的局限性,导致重构流程验证不充分,存在很多的隐患。
具体而言,现有的利用卫星单机进行在轨重构试验验证的方法,是通过在地面使用测试设备向其上注重构代码,来验证重构结果是否正常。这种方法,由于使用了单机的整星测试设备,会导致重构上注方式固定,和地面无法灵活的模拟重构上注过程中的各种变化。另外,上注的重构代码在真实卫星单机收到后会按照既定的方式放置到相应位置并正常启动,但是这种方式下,真实的单机内部的设备都是厂家新提供的,而且没有收到在轨宇宙环境的任何影响,而真实单机内部各种硬件状态都是密封在单机设备内部,导致地面验证人员无法更改真实卫星单机内部的各种硬件状态,就无法对重构过程的可靠性进行充分的验证。
因此,本领域急需一种能够针对卫星CPU软件进行全面故障排查的在轨重构试验验证系统或平台。
理想地,将可以利用该系统方便地搭建实物平台,解决目前没有可应用于卫星CPU软件在轨重构的试验验证平台的局面;
该平台架构能够实现针对卫星CPU软件在轨重构过程的全程实时监控,方便验证人员随时关注重构过程中的各种数据变化;
该平台架构能够实现数据生成到上注过程再到写入存储区再到启动的全过程的故障注入技术手段,方便验证人员在各个阶段注入各种类型的故障,全过程的故障注入技术手段,方便验证人员实现重构数据的故障注入、程序上下行故障注入、软件运行过程故障注入、存储区CPU等硬件设备故障注入以及EDAC粒子翻转故障注入的重构全流程故障注入;和
该平台架构能够为被验证的具有在轨重构功能的软件提供可直接运行的仿真平台,不需要更改被测软件就可以实现对其的验证和全实时全流程的重构过程监控。
发明内容
本发明的一个方面提供了一种应用于卫星CPU软件在轨重构的试验验证系统,包括:
可配置重构验证码自动生成系统模块,所述可配置重构验证码自动生成系统模块为重构的试验验证提供重构数据,并为被测软件编译并生成目标码;
被测件仿真运行系统模块,所述被测件仿真运行系统模块为具有重构设计的被验证软件提供模拟真实运行环境的仿真系统;
重构全实时自动监控系统模块,所述重构全实时自动监控系统模块对重构的全过程进行实时监控;和
重构故障注入系统模块,所述重构故障注入系统模块为卫星CPU软件重构的试验验证提供各种类型的故障注入,并且在卫星软件的CPU重构设计策略验证要点的各个阶段实现故障注入。
在本发明的一个实施例中,所述重构故障注入系统模块根据用户的各种需要进行定制。
在本发明的一个实施例中,所述被测件仿真运行系统模块包括:
遥测遥控设备,所述遥测遥控设备是上下行提供的具体硬件仿真设备,提供数据上行仿真和数据下行仿真,在该设备中实现数据上下行的故障注入;
程序上注指令上注接口,所述程序上注指令上注接口接受地面的程序上注和指令上注,是模拟卫星地面上注的外部接口;
遥测数据下行接口,所述遥测数据下行接口向模拟卫星向地面下行遥测数据,是遥测下行的外部接口;和
被测件运行设备,所述被测件运行设备是被测软件仿真运行的平台。
在本发明的一个实施例中,所述可配置重构验证码自动生成系统模块根据实际情况配置不同的数据协议格式,配置不同的数据大小,设置不同的上注位置等。
在本发明的一个实施例中,所述可配置重构验证码自动生成系统模块在生成重构数据的同时,在重构数据中添加一个或多个关键识别码。
在本发明的一个实施例中,所述被测件仿真运行系统模块还提供多种类存储器下的重构验证。
在本发明的一个实施例中,所述被测件仿真运行系统模块仿真被测软件的重构相关的各项功能包括重构程序的上注、重构程序的存储、重构程序的启用、重构程序的运行、被测软件的遥测遥控等。
在本发明的一个实施例中,所述可配置重构验证码自动生成系统模块包括:
正规重构程序注入接口,所述正规重构程序注入接口是为重构验证测试人员上注真实的重构程序提供的外部接口;
配置模拟上注程序模块,配置模拟上注程序模块根据实际需要配置生成相应大小相应格式的上注数据文件;
插桩设备,所述插桩设备接收来自正规重构程序注入接口的上注的真实程序,并在上注的程序里自动添加相应的关键识别代码;
程序编译目标码生成模块,所述程序编译目标码生成模块将插桩好的程序编译后生成目标码,发送给重构程序注入模块;和
重构程序注入模块,所述重构程序注入模块与被测件仿真运行系统模块的程序上注指令上注接口有接口连接,具有一致的标准协议格式,实现重构程序注入模块将目标码上注给被测件仿真运行系统。
在本发明的一个实施例中,所述重构全实时自动监控系统模块包括:
软件运行数据采集模块,所述软件运行数据采集模块实时采集被测软件在运行过程中下传的各种遥测数据,包括上注的带有插桩代码信息的程序如果成功运行起来之后发送出去的关键标识数据的采集;
硬件设备数据采集模块,所述硬件设备数据采集模块通过随时访问被测件仿真运行系统中的CPU各个寄存器、内存、FLASH、EEPROM、PROM等硬件,读取收集其中的各项数据,包括在重构过程中配置重构验证码自动生成系统产生的数据中的关键标记,实时收集重构过程中的各项监控数据;
采集数据收集模块,所述采集数据收集模块将软件运行数据采集和硬件设备数据采集软件采集到的信息收集汇总之后,将软件的遥测数据传递到被测软件运行遥测显示模块,将重构过程的监控数据在经过初步分析处理分类整理后发送到重构过程实时监控数据显示模块中;
被测软件运行遥测显示模块和重构过程实时监控数据显示模块;和
采集数据分析模块,将采集到的软件运行数据和硬件设备数据进行分类整理,按照一定的协议格式归类组包下传给重构过程实时监控数据显示模块,同时通过关键识别码的原始数据与采样数据的比对以及相应的数据校验判断,自动分析软件上注、软件重构写入、软件重构运行等流程的正确性,将分析结果组包下传到重构过程实时监控数据显示模块。
在本发明的一个实施例中,所述重构故障注入系统模块包括:
重构故障注入用例库,所述重构故障注入用例库包括由测试人员根据实际情况定制的特殊的故障注入用例;和
提供各类型故障注入方式的测控上下行故障模拟注入模块、软件运行过程故障模拟注入模块、存储区CPU等硬件设备故障模拟注入模块、EDAC单粒子双粒子故障模拟注入模块和重构数据故障注入模块。
附图说明
为了进一步阐明本发明的各实施例的以上和其它优点和特征,将参考附图来呈现本发明的各实施例的更具体的描述。可以理解,这些附图只描绘本发明的典型实施例,因此将不被认为是对其范围的限制。在附图中,为了清楚明了,相同或相应的部件将用相同或类似的标记表示。
图1示出了本发明的应用于卫星CPU软件在轨重构的试验验证系统的示意框图。
图2示出了本发明应用于卫星CPU软件在轨重构的试验验证系统的详细示意框图。
图3示出了根据本发明的一个实施例的被测件仿真运行系统模块的示意框图。
图4示出了根据本发明的一个实施例的重构故障注入系统模块的重构监控上行故障注入方式的示意框图。
图5示出了根据本发明的一个实施例的重构故障注入系统模块的被测软件运行过程故障注入方式的示意框图。
图6示出了根据本发明的一个实施例的重构故障注入系统模块的存储区、内存、CPU等硬件设备故障模拟注入方式以及太空辐射环境模拟即EDAC粒子翻转故障注入方式的示意框图。
图7示出了根据本发明的一个实施例的重构故障注入系统模块的重构数据生成过程中的故障注入方式的示意框图。
具体实施方式
在以下的描述中,参考各实施例对本发明进行描述。然而,本领域的技术人员将认识到可在没有一个或多个特定细节的情况下或者与其它替换和/或附加方法、材料或组件一起实施各实施例。在其它情形中,未示出或未详细描述公知的结构、材料或操作以免使本发明的各实施例的诸方面晦涩。类似地,为了解释的目的,阐述了特定数量、材料和配置,以便提供对本发明的实施例的全面理解。然而,本发明可在没有特定细节的情况下实施。此外,应理解附图中示出的各实施例是说明性表示且不一定按比例绘制。
在本说明书中,对“一个实施例”或“该实施例”的引用意味着结合该实施例描述的特定特征、结构或特性被包括在本发明的至少一个实施例中。在本说明书各处中出现的短语“在一个实施例中”并不一定全部指代同一实施例。
图1所示为本发明的应用于卫星CPU软件在轨重构的试验验证系统的示意框图,其包括:可配置重构验证码自动生成系统模块、被测件仿真运行系统模块、重构全实时自动监控系统模块和重构故障注入系统模块。可配置重构验证码自动生成系统向被测件仿真运行系统中注入需要上注的重构目标码数据;重构故障注入系统向可配置重构验证码自动生成系统中注入重构数据的故障,向被测件仿真运行系统注入程序上下行故障、软件运行过程故障、存储区CPU等硬件设备故障以及EDAC粒子翻转故障;重构全实时自动监控系统向被测件仿真运行系统发送软件运行数据及硬件设备数据采集请求,被测件仿真运行系统向重构全实时自动监控系统发送软件运行采集遥测数据以及硬件设备采集遥测数据。
所述重构故障注入系统模块为卫星CPU软件重构的试验验证提供各种类型的故障注入,可以在卫星软件的CPU重构设计策略验证要点的各个阶段实现故障注入:包括1)在程序上注过程中的故障注入,如上注数据中断、上注短时间大数据量等;2)程序存储时期的各种类型存储区的故障注入,如EDAC、存储区数据异常、写入异常等;3)程序启动时期的故障注入,如复位、切机等情况下下故障注入等;4)重构数据本身的故障注入,如协议错误、丢帧、校验异常等;和5)重构故障处理过程中的故障注入,如上注数据缓存异常等。
在本发明的一个实施例中,所述重构故障注入系统模块可以根据用户的各种需要进行定制。用户使用该卫星CPU软件重构可靠性试验验证平台进行正常的重构功能验证,也可以通过重构故障注入系统开展多种类的故障注入验证,可以使用重构全实时自动监控系统开展重构时间等性能验证,开展重构故障的分析,开展重构失效恢复等验证,同时还可以在平台上进行各种新的重构方案的试验和验证分析,随时调整重构策略,对卫星软件的重构可靠性提供有力的技术支持。
所述可配置重构验证码自动生成系统模块是为重构的试验验证提供重构数据,这些重构数据可以根据实际需要为不同的被测软件在不同的要求下提供不同的重构数据并编译生成相应的目标码。
在本发明的一个实施例中,所述可配置重构验证码自动生成系统模块可以根据实际情况配置不同的数据协议格式,配置不同的数据大小,设置不同的上注位置等。
在本发明的另一个实施例中,所述可配置重构验证码自动生成系统模块在生成重构数据的同时,会在重构数据中添加一个或多个具有一定意义的关键识别码,这些识别码在重构过程中和重构结束后可以通过外部的访问,随时追踪重构数据的状态和重构过程,通过识别码将重构数据添加上标记,使重构过程透明化。
在本发明的另一个实施例中,如果验证人员想使用真实的重构上注的程序重构,也可以先将真实的重构代码放入可配置重构验证码自动生成系统中,由系统在代码中插入桩代码(即关键识别码),并编译生成相应的目标码后,再传递到被测件仿真运行系统模块中开展上注重构过程,这样就可以使真实的上注代码的重构过程也透明化,更容易监控。
所述被测件仿真运行系统模块是为具有重构设计的被验证软件提供的一个模拟真实运行环境的仿真系统,可以提供多种类CPU运行下的软件重构试验,包括龙芯处理器、695/697处理器等。
在本发明的一个实施例中,所述被测件仿真运行系统模块还提供多种类存储器下的重构验证,包括flash、EEPROM等。
在本发明的另一个实施例中,被测的卫星软件可以在所述被测件仿真运行系统模块上独立运行,各项操作与被测软件在真实单机上的运行无差异。
在本发明的另一个实施例中,所述被测件仿真运行系统模块可以仿真被测软件的重构相关的各项功能:包括重构程序的上注、重构程序的存储、重构程序的启用、重构程序的运行、被测软件的遥测遥控等。
所述重构全实时自动监控系统模块可以对重构的全过程进行实时监控,方便重构试验验证的测试人员随时查看重构流程。
在本发明的一个实施例中,所述重构全实时监控系统模块具有自己独立的处理器内存等硬件,与被测件仿真运行系统独立开,但是却可以随时访问读取被测件仿真运行系统模块中的cpu运行的状态、内存的实时状态、flash或者eeprom等硬件设备内部的状态性能和数据内容,同时还可以随时读取可配置重构验证码自动生成系统模块生成的需要上注的重构程序中的关键标识数据。重构全实时自动监控系统模块通过这些手段可以实现全透明的实时监控重构流程和结果,为测试验证人员的结果分析提供技术支持。
图2所示为本发明应用于卫星CPU软件在轨重构的试验验证系统的详细示意框图。
如图2所示,所述被测件仿真运行系统模块由遥测遥控设备、程序上注指令上注接口、遥测数据下行接口、被测件运行设备组成。程序上注指令上注接口可以接收地面的程序上注和指令上注,是模拟卫星地面上注的外部接口,可以配置上行的相关协议。遥测数据下行接口可以向模拟卫星向地面下行遥测数据,是遥测下行的外部接口,可以配置下行的相关协议使用不同卫星种类。遥测遥控设备是上下行提供的具体硬件仿真设备,提供数据上行仿真和数据下行仿真,在该设备中可以实现数据上下行的故障注入。被测件运行设备是被测软件仿真运行的平台,内含的CPU处理可以根据不同的软件需要进行选择,可提供龙芯、695、697等处理器的运行。同时被测件运行设备中还包含硬件存储区,软件在内存中运行,固话的程序可以放在PROM中,上注的重构程序可以写入FLASH和EEPROM中。同时被测件运行设备中的CPU、内存、FLASH、EEPROM、PROM都对外提供了相应的访问功能,可以方便重构全实时自动监控系统随时查看各个硬件设备的状态和访问存储区内的数据,可以方便重构故障注入系统向其中注入相关的故障。
所述可配置重构验证码自动生成系统模块由正规重构程序注入接口、配置模拟上注程序模块、插桩设备、程序编译目标码生成模块、重构程序注入模块组成。正规重构程序注入接口是为重构验证测试人员上注真实的重构程序提供的外部接口。上注的真实程序通过该接口传递给插桩设备,插桩设备在上注的程序里自动添加相应的关键识别代码,这些插入的代码可以在重构过程中通过特定的监控系统访问读取,监控重构代码的相关状态。程序编译目标码生成模块将插桩好的程序编译后生成目标码,发送给重构程序注入模块,重构程序注入模块与被测件仿真运行系统的程序上注指令上注接口有接口连接,具有一致的标准协议格式,可以实现重构程序注入模块将目标码上注给被测件仿真运行系统。另外,测试人员还可以不使用真实的上注程序,而是通过配置模拟上注程序模块根据实际需要配置生成相应大小相应格式的上注数据文件,并通过插桩设备在上注文件中插入相关关键识别码,生成最终的目标码后通过重构程序注入模块上注给被测件仿真运行系统。在使用可配置重构验证码自动生成系统过程中,可以随时通过重构故障注入系统向上注的数据中注入相应的故障。
所述重构全实时自动监控系统模块由软件运行数据采集模块、硬件设备数据采集模块、采集数据收集模块、采集数据分析模块、被测软件运行遥测显示模块、重构过程实时监控数据显示模块组成。软件运行数据采集模块实时采集被测软件在运行过程中下传的各种遥测数据,包括上注的带有插桩代码信息的程序如果成功运行起来之后发送出去的关键标识数据的采集。硬件设备数据采集模块通过随时访问被测件仿真运行系统中的CPU各个寄存器、内存、FLASH、EEPROM、PROM等硬件,读取收集其中的各项数据,尤其是在重构过程中配置重构验证码自动生成系统产生的数据中的关键标记,实时收集重构过程中的各项监控数据。采集数据分析模块主要将采集到的软件运行数据和硬件设备数据进行分类整理,按照一定的协议格式归类组包下传给重构过程实时监控数据显示模块,同时通过关键识别码的原始数据与采样数据的比对以及相应的数据校验判断,自动分析软件上注、软件重构写入、软件重构运行等流程的正确性,将分析结果组包下传到重构过程实时监控数据显示模块。采集数据收集模块将软件运行数据采集和硬件设备数据采集软件采集到的信息收集汇总之后,将软件的遥测数据传递到被测软件运行遥测显示模块,以及重构过程的监控数据在经过初步分析处理分类整理后发送到重构过程实时监控数据显示模块中,通过两个监控显示模块实时向测试人员反映当前的被测软件状态和重构情况。
所述重构故障注入系统模块由重构故障注入用例库、测控上下行故障模拟注入模块、软件运行过程故障模拟注入模块、存储区CPU等硬件设备故障模拟注入模块、EDAC单粒子双粒子故障模拟注入模块、重构数据故障注入模块组成。重构故障注入用例库,通过分析重构关键点结合验证方法学的研究结果形成常见的重构故障注入用例库,方便对各种常见的重构故障直接调取使用。也可以由测试人员临时根据实际情况定制特殊的故障注入用例,该模块可以将每次定制的故障注入用例都保存到用例库中方便后续的重复使用。测控上下行故障模拟注入模块、软件运行过程故障模拟注入模块、存储区CPU等硬件设备故障模拟注入模块、EDAC单粒子双粒子故障模拟注入模块、重构数据故障注入模块可以提供各个类型的故障注入方式,从重构的初始数据到重构上注过程再到重构启动运行流程都可以进行故障注入,可以为测试人员模拟任意情况下的故障发生,并通过重构全实时自动监控系统观察故障发生后的被测软件状态,为测试人员评估当前重构可靠性提供技术支持。
如图3所示,为本发明的一个实施例的被测件仿真运行系统模块的示意框图,其包含独立的主板,以及其上的CPU、独立的内存、FLASH、EEPROM、PROM;通过422串口与主板交互数据的遥测遥控设备,遥测遥控设备上接收程序指令的软件,遥测下行的软件,和上行和下行的标准协议。虽然被测件仿真运行系统是独立的内存,但是该内存留有外部硬件接口可以令其他CPU直接访问实时读取更改该内存中的数据。
在本发明的另一个实施例中,所述重构全实时自动监控系统模块上具有独立的主板运行,独立的多核CPU,独立的内存和硬盘,但是和被测件仿真运行系统模块共享FLASH、EEPROM、和PROM存储区,可以直接读取FLASH、EEPROM、PROM中的数据,和可以访问读取被测件仿真运行系统模块的内存。
所述重构全实时自动监控系统模块的监控重构过程有2种方式:
1)通过软件采集数据的方式,这种方式就是通过被测件仿真运行系统的数据下行接口读取遥测下行的数据,这些遥测下行的数据都是被测件(即被测的卫星软件)的遥测数据包中的各个数据。
2)通过硬件采集数据的方式。这种方式相对软件复杂一些。重构全实时自动监控系统的CPU可以直接读取共享存储区内的flash、eeprom、prom中的数据,同时可以直接读取被测件运行主板内存中的数据。根据重构代码生成方式中描述,生成的上注的重构代码在发送给被测件仿真运行系统的同时,也发送给了全实时自动监控系统,当重构的代码被被测件软件在重构上注接收放入内存中的时候,重构全实时自动监控软件可以读取被测件运行主板内存中的数据,通过与之前保存的重构验证码自动生成系统发送过来的原始上注数据比对,观察当前被测件运行主板内存中的重构数据是否被完整的接收到,以验证重构上注接收过程的正确性。被测件仿真运行过程中,会将接收到的上注的重构数据写入到存储区中,重构全实时自动监控软件还可以读取共享存储区中的写入的数据,与之前保存的重构验证码自动生成系统发送过来的原始上注数据比对,观察当前被测件软件重构过程中是否正确的将上注的重构目标码写入到了指定的存储区中,验证当前存储区中的数据是否正确。
通过硬件采集数据的方式可以监控到重构过程中的上注过程、程序写入硬件过程,而通过软件采集数据的方式可以监控到重构过程中的被测软件重构遥测显示的重构过程和重构程序启动后的运行情况。这样就通过软件和硬件两种监控手段全实时的监控了整个重构流程。
在本发明的另一个实施例中,所述可配置重构验证码自动生成系统模块是一个软件,且其与重构全实时自动监控系统模块共用硬件设备,包括主板、cpu、内存、和硬盘。该软件可以自己编写数据,可以对代码实现自动插桩,提供标准的调用编译器的接口,可以调用编译器,tonado、
workbanch、keil等对代码进行编译。
所述可配置重构验证码自动生成系统模块的重构代码生成方式包括:1)直接使用真实上注的重构程序原代码,软件读取原代码,在程序原代码的主函数中加入向内存特定区域(内存中留出特定的监控访问区域)写入关键标识字(关键标识字可以由用户自由设定)的代码,然后调用编译器将该程序代码编译生成目标码,接着将生成的目标码按照协议组成上注帧格式数据,同时将生成的目标码发送给重构全实时自动监控系统,全实时自动监控系统收到该目标码后保存到内存中,可配置重构验证码自动生成系统将形成的上注帧格式数据通过数据传输通道发送给被测件仿真运行系统的数据上行接口,被测件仿真运行系统接收到该数据后就可以进行重构流程了;和2)测试人员还可以使用自己生成的重构代码,验证重构流程,首先测试人员自己编写上注的二进制数据,二进制数据可以由工具自动随机生成,其中由测试人员编写关键识别码,工具自动将关键识别码插入生成的二进制数据中,然后工具将数据按照协议组成上注帧格式数据,同时将生成的目标码发送给重构全实时自动监控系统,全实时自动监控系统收到该目标码后保存到内存中,可配置重构验证码自动生成系统将形成的上注帧格式数据通过数据传输通道发送给被测件仿真运行系统的数据上行接口,被测件仿真运行系统接收到该数据后就可以进行重构流程了。
所述重构故障注入系统模块在重构过程中的故障注入方式有以下5种:1)重构测控上行故障注入;2)被测软件运行过程故障注入;3)存储区、内存、CPU等硬件设备故障模拟注入;4)太空辐射环境模拟即EDAC粒子翻转故障注入;和5)重构数据生成过程中的故障注入。
其中,所述重构监控上行故障注入方式如图4所示,重构故障注入系统可以直接访问遥测遥控设备,对数据上行接口进行干预。在遥测遥控设备中存在故障注入接口和是否上行故障注入的选择端口。测试人员可以通过重构故障注入系统向遥测遥控设备发送指令,选择当前进行上行故障注入还是不进行上行故障注入。如果当前不进行上行故障注入,则上行的数据帧直接发送给数据上行接口,通过422串口发送给被测件运行软件;如果当前进行上行故障注入,则上行的数据先发送给故障注入接口模块,该模块对上行数据按照要求进行故障处理,一般可以对上行的数据进行数据包顺序的变化、上行数据内容的丢帧操作、上行数据中插入外来数据等,总之可以根据实际需要对上行数据做任意的处理,然后将已经加入故障的上行数据发送给数据上行接口,再通过422串口发送给被测件运行软件。
其中,所述被测软件运行过程故障注入方式如图5所示,被测软件运行过程中的故障注入对重构过程影响关注点一般在被测软件正常重构过程中的重构指令上注顺序和重构过程中的其他指令的影响以及被测软件本身的各个进程任务的影响。其中被测软件本身的各个进行任务对重构的影响,是通过重构全实时自动监控系统可直接进行观察的,不需要人为的故障注入。而重构指令上注顺序和重构过程中的其他指令的影响是可以通过故障注入的形式试验的。通过重构故障注入系统可以向遥测遥控设备发送不按要求顺序发送的重构指令,也可以在重构过程中,通过重构故障注入系统向遥测遥控设备上注会影响重构的外部指令进行干扰。
其中,所述存储区、内存、CPU等硬件设备故障模拟注入方式以及太空辐射环境模拟即EDAC粒子翻转故障注入方式,如图6所示,在被测件仿真运行系统的硬件搭建时,硬件主板上将CPU处理器、内存、FLASH、EEPROM、PROM的各个管脚引出来,让重构全实时自动监控软件及可配置重构验证码自动生成软件运行主板上的CPU处理器可以直接读写被测件仿真系统运行主板上的CPU的各个寄存器、内存区域、FLASH区域、EEPROM区域、PROM区域。重构故障注入系统也运行在重构全实时自动监控软件及可配置重构验证码自动生成软件运行主板上,重构故障注入系统可以直接通过主板上的CPU方便的读取更改被测件仿真系统运行主板上的CPU的各个寄存器、内存区域、FLASH区域、EEPROM区域、PROM区域,实现对被测件仿真运行系统的存储区、内存、CPU等硬件设备故障模拟注入。重构故障注入系统还可以通过改变这种更改硬件数据的方式,模拟EDAC单粒子和双粒子翻转,形成EDAC粒子翻转的故障注入。
其中,所述重构数据生成过程中的故障注入方式如图7所示,重构数据生成过程中的故障注入主要是对生成的目标码加入故障,在可配置重构验证码自动生成系统中存在故障注入软件的接口和是否数据故障注入选择模块。重构故障注入系统向可配置重构验证码自动生成系统发送指令通知当前是否进行生成数据的故障注入,如果不进行故障注入,则生成的目标码直接发送给重构程序注入模块,发送给被测件仿真运行系统的遥测遥控设备;如果进行生成数据的故障注入,则将生成的目标码发送给故障注入接口,重构故障注入系统会更改目标码数据,向其中注入故障(比如增减文件中的二进制数据制造校验异常等),生成的带有故障的数据再发送给重构程序注入模块发送出去。
重构故障注入系统中会提前根据重构过程中的故障注入的需要试验验证的方式定制好用例,放到用例库中,这些用例采用脚本化的语言编写,形成脚本文件保存起来。当使用时,可以直接选择某类故障的脚本执行,将故障注入到对应的重构流程中,方便测试人员操作故障注入过程。另外测试人员也可以根据实际需要定制化的编写故障注入脚本,实现特定的故障注入用例。
尽管上文描述了本发明的各实施例,但是,应该理解,它们只是作为示例来呈现的,而不作为限制。对于相关领域的技术人员显而易见的是,可以对其做出各种组合、变型和改变而不背离本发明的精神和范围。因此,此处所公开的本发明的宽度和范围不应被上述所公开的示例性实施例所限制,而应当仅根据所附权利要求书及其等同替换来定义。

Claims (10)

1.一种应用于卫星CPU软件在轨重构的试验验证系统,包括:
可配置重构验证码自动生成系统模块,所述可配置重构验证码自动生成系统模块为重构的试验验证提供重构数据,并为被测软件编译并生成目标码;
被测件仿真运行系统模块,所述被测件仿真运行系统模块为具有重构设计的被验证软件提供模拟真实运行环境的仿真系统;
重构全实时自动监控系统模块,所述重构全实时自动监控系统模块对重构的全过程进行实时监控;和
重构故障注入系统模块,所述重构故障注入系统模块为卫星CPU软件重构的试验验证提供各种类型的故障注入,并且在卫星软件的CPU重构设计策略验证要点的各个阶段实现故障注入。
2.如权利要求1所述的应用于卫星CPU软件在轨重构的试验验证系统,其特征在于,所述重构故障注入系统模块根据用户的各种需要进行定制。
3.如权利要求1所述的应用于卫星CPU软件在轨重构的试验验证系统,其特征在于,所述被测件仿真运行系统模块包括:
遥测遥控设备,所述遥测遥控设备是上下行提供的具体硬件仿真设备,提供数据上行仿真和数据下行仿真,在该设备中实现数据上下行的故障注入;
程序上注指令上注接口,所述程序上注指令上注接口接受地面的程序上注和指令上注,是模拟卫星地面上注的外部接口;
遥测数据下行接口,所述遥测数据下行接口向模拟卫星向地面下行遥测数据,是遥测下行的外部接口;和
被测件运行设备,所述被测件运行设备是被测软件仿真运行的平台。
4.如权利要求1所述的应用于卫星CPU软件在轨重构的试验验证系统,其特征在于,所述可配置重构验证码自动生成系统模块根据实际情况配置不同的数据协议格式,配置不同的数据大小,设置不同的上注位置等。
5.如权利要求1所述的应用于卫星CPU软件在轨重构的试验验证系统,其特征在于,所述可配置重构验证码自动生成系统模块在生成重构数据的同时,在重构数据中添加一个或多个关键识别码。
6.如权利要求1所述的应用于卫星CPU软件在轨重构的试验验证系统,其特征在于,所述被测件仿真运行系统模块还提供多种类存储器下的重构验证。
7.如权利要求1所述的应用于卫星CPU软件在轨重构的试验验证系统,其特征在于,所述被测件仿真运行系统模块仿真被测软件的重构相关的各项功能包括重构程序的上注、重构程序的存储、重构程序的启用、重构程序的运行、被测软件的遥测遥控等。
8.如权利要求1所述的应用于卫星CPU软件在轨重构的试验验证系统,其特征在于,所述可配置重构验证码自动生成系统模块包括:
正规重构程序注入接口,所述正规重构程序注入接口是为重构验证测试人员上注真实的重构程序提供的外部接口;
配置模拟上注程序模块,配置模拟上注程序模块根据实际需要配置生成相应大小相应格式的上注数据文件;
插桩设备,所述插桩设备接收来自正规重构程序注入接口的上注的真实程序,并在上注的程序里自动添加相应的关键识别代码;
程序编译目标码生成模块,所述程序编译目标码生成模块将插桩好的程序编译后生成目标码,发送给重构程序注入模块;和
重构程序注入模块,所述重构程序注入模块与被测件仿真运行系统模块的程序上注指令上注接口有接口连接,具有一致的标准协议格式,实现重构程序注入模块将目标码上注给被测件仿真运行系统。
9.如权利要求1所述的应用于卫星CPU软件在轨重构的试验验证系统,其特征在于,所述重构全实时自动监控系统模块包括:
软件运行数据采集模块,所述软件运行数据采集模块实时采集被测软件在运行过程中下传的各种遥测数据,包括上注的带有插桩代码信息的程序如果成功运行起来之后发送出去的关键标识数据的采集;
硬件设备数据采集模块,所述硬件设备数据采集模块通过随时访问被测件仿真运行系统中的CPU各个寄存器、内存、FLASH、EEPROM、PROM等硬件,读取收集其中的各项数据,包括在重构过程中配置重构验证码自动生成系统产生的数据中的关键标记,实时收集重构过程中的各项监控数据;
采集数据收集模块,所述采集数据收集模块将软件运行数据采集和硬件设备数据采集软件采集到的信息收集汇总之后,将软件的遥测数据传递到被测软件运行遥测显示模块,将重构过程的监控数据在经过初步分析处理分类整理后发送到重构过程实时监控数据显示模块中;
被测软件运行遥测显示模块和重构过程实时监控数据显示模块;和
采集数据分析模块,将采集到的软件运行数据和硬件设备数据进行分类整理,按照一定的协议格式归类组包下传给重构过程实时监控数据显示模块,同时通过关键识别码的原始数据与采样数据的比对以及相应的数据校验判断,自动分析软件上注、软件重构写入、软件重构运行等流程的正确性,将分析结果组包下传到重构过程实时监控数据显示模块。
10.如权利要求1所述的应用于卫星CPU软件在轨重构的试验验证系统,其特征在于,所述重构故障注入系统模块包括:
重构故障注入用例库,所述重构故障注入用例库包括由测试人员根据实际情况定制的特殊的故障注入用例;和
提供各类型故障注入方式的测控上下行故障模拟注入模块、软件运行过程故障模拟注入模块、存储区CPU等硬件设备故障模拟注入模块、EDAC单粒子双粒子故障模拟注入模块和重构数据故障注入模块。
CN201810280838.9A 2018-04-02 2018-04-02 一种应用于卫星cpu软件在轨重构的试验验证系统及其方法 Pending CN108491330A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810280838.9A CN108491330A (zh) 2018-04-02 2018-04-02 一种应用于卫星cpu软件在轨重构的试验验证系统及其方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810280838.9A CN108491330A (zh) 2018-04-02 2018-04-02 一种应用于卫星cpu软件在轨重构的试验验证系统及其方法

Publications (1)

Publication Number Publication Date
CN108491330A true CN108491330A (zh) 2018-09-04

Family

ID=63317819

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810280838.9A Pending CN108491330A (zh) 2018-04-02 2018-04-02 一种应用于卫星cpu软件在轨重构的试验验证系统及其方法

Country Status (1)

Country Link
CN (1) CN108491330A (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109240127A (zh) * 2018-11-20 2019-01-18 上海航天控制技术研究所 仿真验证平台和仿真验证方法
CN110824508A (zh) * 2019-11-27 2020-02-21 中国科学院微小卫星创新研究院 一种可重构的导航卫星模拟器
CN110851309A (zh) * 2019-10-31 2020-02-28 广东安可云科技有限公司 一种集成验证系统及方法
CN111552598A (zh) * 2020-04-22 2020-08-18 上海京济通信技术有限公司 在轨可重构测控模块
CN111953403A (zh) * 2020-08-12 2020-11-17 中国科学院微小卫星创新研究院 一种导航卫星载荷的在轨重构系统及方法
CN112100602A (zh) * 2020-07-22 2020-12-18 武汉极意网络科技有限公司 基于验证码产品的策略监控与优化系统及方法
CN114297084A (zh) * 2021-12-31 2022-04-08 北京航天驭星科技有限公司 卫星测运控数据接口的测试方法、装置、电子设备及介质
CN115494525A (zh) * 2022-10-28 2022-12-20 中国人民解放军国防科技大学 一种卫星在轨故障白盒式地面平行诊断系统及方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101344788A (zh) * 2008-09-02 2009-01-14 南京航空航天大学 小卫星姿态控制可靠性验证的仿真测试设备及其测试方法
CN101770541A (zh) * 2010-02-03 2010-07-07 北京航空航天大学 一种基于aos标准的卫星数据系统仿真平台
CN103336249A (zh) * 2013-06-18 2013-10-02 北京空间飞行器总体设计部 一种导航卫星电源系统自主管理仿真验证系统
CN103869700A (zh) * 2014-02-21 2014-06-18 南京航空航天大学 卫星执行机构在线重构的半物理平台以及控制方法
CN104765281A (zh) * 2015-04-08 2015-07-08 南京航空航天大学 航空发动机控制系统仿真接口适配器
CN106292336A (zh) * 2016-10-10 2017-01-04 上海航天控制技术研究所 基于嵌入式VxWorks的卫星姿轨控系统的故障模拟系统及方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101344788A (zh) * 2008-09-02 2009-01-14 南京航空航天大学 小卫星姿态控制可靠性验证的仿真测试设备及其测试方法
CN101770541A (zh) * 2010-02-03 2010-07-07 北京航空航天大学 一种基于aos标准的卫星数据系统仿真平台
CN103336249A (zh) * 2013-06-18 2013-10-02 北京空间飞行器总体设计部 一种导航卫星电源系统自主管理仿真验证系统
CN103869700A (zh) * 2014-02-21 2014-06-18 南京航空航天大学 卫星执行机构在线重构的半物理平台以及控制方法
CN104765281A (zh) * 2015-04-08 2015-07-08 南京航空航天大学 航空发动机控制系统仿真接口适配器
CN106292336A (zh) * 2016-10-10 2017-01-04 上海航天控制技术研究所 基于嵌入式VxWorks的卫星姿轨控系统的故障模拟系统及方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
秦嘉萍: ""卫星星载计算机软件测试平台"", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109240127A (zh) * 2018-11-20 2019-01-18 上海航天控制技术研究所 仿真验证平台和仿真验证方法
CN110851309A (zh) * 2019-10-31 2020-02-28 广东安可云科技有限公司 一种集成验证系统及方法
CN110851309B (zh) * 2019-10-31 2024-03-19 广东安可云科技有限公司 一种集成验证系统及方法
CN110824508A (zh) * 2019-11-27 2020-02-21 中国科学院微小卫星创新研究院 一种可重构的导航卫星模拟器
CN111552598B (zh) * 2020-04-22 2023-01-10 上海京济通信技术有限公司 在轨可重构测控模块
CN111552598A (zh) * 2020-04-22 2020-08-18 上海京济通信技术有限公司 在轨可重构测控模块
CN112100602A (zh) * 2020-07-22 2020-12-18 武汉极意网络科技有限公司 基于验证码产品的策略监控与优化系统及方法
CN112100602B (zh) * 2020-07-22 2023-11-10 武汉极意网络科技有限公司 基于验证码产品的策略监控与优化系统及方法
CN111953403B (zh) * 2020-08-12 2022-03-29 中国科学院微小卫星创新研究院 一种导航卫星载荷的在轨重构系统及方法
CN111953403A (zh) * 2020-08-12 2020-11-17 中国科学院微小卫星创新研究院 一种导航卫星载荷的在轨重构系统及方法
CN114297084B (zh) * 2021-12-31 2022-08-19 北京航天驭星科技有限公司 卫星测运控数据接口的测试方法、装置、电子设备及介质
CN114297084A (zh) * 2021-12-31 2022-04-08 北京航天驭星科技有限公司 卫星测运控数据接口的测试方法、装置、电子设备及介质
CN115494525A (zh) * 2022-10-28 2022-12-20 中国人民解放军国防科技大学 一种卫星在轨故障白盒式地面平行诊断系统及方法
CN115494525B (zh) * 2022-10-28 2023-03-10 中国人民解放军国防科技大学 一种卫星在轨故障白盒式地面平行诊断系统及方法

Similar Documents

Publication Publication Date Title
CN108491330A (zh) 一种应用于卫星cpu软件在轨重构的试验验证系统及其方法
US11281570B2 (en) Software testing method, system, apparatus, device medium, and computer program product
CN104407980B (zh) 移动应用自动化测试装置和方法
US9465718B2 (en) Filter generation for load testing managed environments
CN104731566B (zh) 集成开发环境测试装置、方法及系统
US20020091968A1 (en) Object-oriented data driven software GUI automated test harness
CN103634154B (zh) 网络状态的模拟系统及其模拟方法
US7933759B2 (en) Predicate checking for distributed systems
Tsai et al. Scenario-based functional regression testing
US20090320002A1 (en) Method and system for testing and analyzing user interfaces
Marchetto et al. A case study-based comparison of web testing techniques applied to AJAX web applications
US20030204784A1 (en) System and method for automatic test case generation
CN104750603B (zh) 一种多核dsp软件仿真器及其物理层软件测试方法
CN105608012A (zh) 一种自动化测试方法及系统
Nivas Test harness and script design principles for automated testing of non-GUI or web based applications
CN107832207A (zh) 接口性能测试方法、装置、存储介质和计算机设备
CN104915287B (zh) 单元测试方法及系统
CN106909498A (zh) 一种Java程序注入故障的方法和系统
CN111428431A (zh) 一种支持eda软件的自动化测试并记录的方法及系统
Meszaros Agile regression testing using record & playback
CN108572895A (zh) 一种Linux下自动检查软硬件配置的稳定性测试方法
US7859706B2 (en) Method and apparatus for model driven testing
CN116467183A (zh) 一种星地协同卫星单机在轨重构自动管理系统
CN108763079A (zh) 项目流自动化测试和部署的方法及其系统
us Saqib et al. Functionality, performance, and compatibility testing: a model based approach

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
RJ01 Rejection of invention patent application after publication

Application publication date: 20180904

RJ01 Rejection of invention patent application after publication