The invention discloses an on orbit upgrade system for aerospace software, which includes a storage path input module, a code reading module, a code analysis module, a version judgment module, an upgrade mark insertion module and a code upgrade module. Through the above system, the software that needs on orbit upgrade can be compiled and linked, and the user can define the functional modules that need to be upgraded Load parameter optimization based on data, reliability improvement based on code and fault handling based on the whole are applied to realize on-line regression test and system on-line reconstruction, so as to realize on orbit upgrade of aerospace software.
【技术实现步骤摘要】
面向航天软件的在轨升级系统
本专利技术主要涉及航天软件在轨升级领域,尤其涉及面向航天软件的在轨升级系统。
技术介绍
航天飞行器系统软件在应用领域划分中属于“安全关键领域”软件,一旦出现故障,将会导致难以预计的可怕后果。而随着航天器的飞行任务越来越复杂、在轨寿命越来越长,其控制系统软件也日益复杂、庞大和多样化,这无疑对航天器控制系统的可靠性和安全性要求提出了更大的挑战。随着航天器寿命的增长和任务难度的加大,航天软件的复杂度越来越高,需要具备在轨重构和更新能力,以应对可能出现的任务扩展和软件潜在缺陷。航天飞行器系统的计算能力和内存容量有限,众多软件协同工作,共享系统的资源,系统结合比较复杂,出现软件故障后难以及时修复。航天软件的在轨升级是指通过地面控制系统以远程注入的形式在软件不重启的情况下而完成的软件升级。对航天软件在轨升级有利于维持系统平台的稳定性,可实现在线回归测试,支持系统在线重构,是提高系统可靠性的有效途径。因此,如何实现对航天软件的在轨升级,是本领域亟需解决的技术问题。
技术实现思路
为解决以上问题,本专利技术提出了面向航天软件的在轨升级系统,通过对需要在轨升级的软件进行编译链接操作,并使用户划定需要升级的功能模块,再实施基于数据的载荷参数优化、基于代码的可靠性提升、基于整体的故障处理,来实现在线回归测试和系统在线重构,从而实现对航天软件的在轨升级。具体的,本专利技术提出了一种面向航天软件的在轨升级系统,包括:存储路径输入模块,用于在显示界面显示输入框,以使 ...
【技术保护点】
1.一种面向航天软件的在轨升级系统,其特征在于,包括:/n存储路径输入模块,用于在显示界面显示输入框,以使用户在输入框输入待升级目标代码的文件存储路径;/n代码读取模块,用于根据所述文件存储路径读取目标代码;/n代码解析模块,用于通过语法分析和词法分析将所述目标代码解析成抽象语法树并保存相应的版本数据以及版本标识;/n版本判断模块,用于根据所述版本标识判断所述目标代码是否为初始版本;/n升级标记插入模块,用于若所述目标代码是初始版本,则在所述目标代码中对长循环代码进行提取,并在所述目标代码中插入所述长循环代码对应的在轨升级标记;/n代码升级模块,用于将新代码上载至航天器系统,并根据所述在轨升级标记对所述目标代码进行升级,并开始执行。/n
【技术特征摘要】 【专利技术属性】
1.一种面向航天软件的在轨升级系统,其特征在于,包括:
存储路径输入模块,用于在显示界面显示输入框,以使用户在输入框输入待升级目标代码的文件存储路径;
代码读取模块,用于根据所述文件存储路径读取目标代码;
代码解析模块,用于通过语法分析和词法分析将所述目标代码解析成抽象语法树并保存相应的版本数据以及版本标识;
版本判断模块,用于根据所述版本标识判断所述目标代码是否为初始版本;
升级标记插入模块,用于若所述目标代码是初始版本,则在所述目标代码中对长循环代码进行提取,并在所述目标代码中插入所述长循环代码对应的在轨升级标记;
代码升级模块,用于将新代码上载至航天器系统,并根据所述在轨升级标记对所述目标代码进行升级,并开始执行。
2.如权利要求1所述的面向航天软件的在轨升级系统,其特征在于,还包括:
安全性检查模块,用于若所述目标代码不是初始版本,则对当前版本以及前一版本的抽象语法树进行分析,遍历两个抽象语法树的所有子树,检查函数、全局变量和类型的变更安全性;
声明识别模块,用于若通过变更安全性检查,则识别所述当前版本以及所述前一版本间有升级的所有声明,所述声明包括函数声明,全局变量声明、类型声明;对所述类型声明的变更生成相应的类型转换函数;
编译模块,用于编译处理所述声明,并将更新点设置在全局不变量所在的位置,所述更新点为对所述当前版本进行替换的位置;
版本替换模块,用于将新版本代码上载至航天器系统,并根据所述更新点在内存中替换所述当前版本。
3.如权利要求2所述的面向航天软件的在轨升级系统,其特征在于,还包括:
二次开发模块,用于若没有通过变更安全性检查,则识别所述当前版本以及所述前一版本间有升级的所有声明,对没有通过变更安全性检查的声明对应的代码模块实施二次开发。
4.如权利要求2所述的面向航天软件的在轨升级系统,其特征在于,所述代码解析模块包括映射生成单元和差异分类单元。
技术研发人员:史建琦,林荣峰,黄滟鸿,朱晏庆,沈怡颹,
申请(专利权)人:华东师范大学,上海航天控制技术研究所,
类型:发明
国别省市:上海;31
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。