[发明专利]面向航天软件的在轨升级系统有效
申请号: | 201910684590.7 | 申请日: | 2019-07-26 |
公开(公告)号: | CN110532015B | 公开(公告)日: | 2021-01-29 |
发明(设计)人: | 史建琦;林荣峰;黄滟鸿;朱晏庆;沈怡颹 | 申请(专利权)人: | 华东师范大学;上海航天控制技术研究所 |
主分类号: | G06F8/656 | 分类号: | G06F8/656;G06F8/71;G06F8/41 |
代理公司: | 北京辰权知识产权代理有限公司 11619 | 代理人: | 刘广达 |
地址: | 200062 上*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 面向 航天 软件 升级 系统 | ||
本发明公开了一种面向航天软件的在轨升级系统,包括存储路径输入模块,代码读取模块,代码解析模块、版本判断模块、升级标记插入模块以及代码升级模块,通过上述系统可以对需要在轨升级的软件进行编译链接操作,并使用户划定需要升级的功能模块,再实施基于数据的载荷参数优化、基于代码的可靠性提升、基于整体的故障处理,来实现在线回归测试和系统在线重构,从而实现对航天软件的在轨升级。
技术领域
本发明主要涉及航天软件在轨升级领域,尤其涉及面向航天软件的在轨升级系统。
背景技术
航天飞行器系统软件在应用领域划分中属于“安全关键领域”软件,一旦出现故障,将会导致难以预计的可怕后果。而随着航天器的飞行任务越来越复杂、在轨寿命越来越长,其控制系统软件也日益复杂、庞大和多样化,这无疑对航天器控制系统的可靠性和安全性要求提出了更大的挑战。随着航天器寿命的增长和任务难度的加大,航天软件的复杂度越来越高,需要具备在轨重构和更新能力,以应对可能出现的任务扩展和软件潜在缺陷。
航天飞行器系统的计算能力和内存容量有限,众多软件协同工作,共享系统的资源,系统结合比较复杂,出现软件故障后难以及时修复。航天软件的在轨升级是指通过地面控制系统以远程注入的形式在软件不重启的情况下而完成的软件升级。对航天软件在轨升级有利于维持系统平台的稳定性,可实现在线回归测试,支持系统在线重构,是提高系统可靠性的有效途径。
因此,如何实现对航天软件的在轨升级,是本领域亟需解决的技术问题。
发明内容
为解决以上问题,本发明提出了面向航天软件的在轨升级系统,通过对需要在轨升级的软件进行编译链接操作,并使用户划定需要升级的功能模块,再实施基于数据的载荷参数优化、基于代码的可靠性提升、基于整体的故障处理,来实现在线回归测试和系统在线重构,从而实现对航天软件的在轨升级。
具体的,本发明提出了一种面向航天软件的在轨升级系统,包括:
存储路径输入模块,用于在显示界面显示输入框,以使用户在输入框输入待升级目标代码的文件存储路径;
代码读取模块,用于根据所述文件存储路径读取目标代码;
代码解析模块,用于通过语法分析和词法分析将所述目标代码解析成抽象语法树并保存相应的版本数据以及版本标识;
版本判断模块,用于根据所述版本标识判断所述目标代码是否为初始版本;
升级标记插入模块,用于若所述目标代码是初始版本,则在所述目标代码中对长循环代码进行提取,并在所述目标代码中插入所述长循环代码对应的在轨升级标记;
代码升级模块,用于将新代码上载至航天器系统,并根据所述在轨升级标记对所述目标代码进行升级,并开始执行。
优选的,如上所述的面向航天软件的在轨升级系统,还包括:
安全性检查模块,用于若所述目标代码不是初始版本,则对当前版本以及前一版本的抽象语法树进行分析,遍历两个抽象语法树的所有子树,检查函数、全局变量和类型的变更安全性;
声明识别模块,用于若通过变更安全性检查,则识别所述当前版本以及所述前一版本间有升级的所有声明,所述声明包括函数声明,全局变量声明、类型声明;对所述类型声明的变更生成相应的类型转换函数;
编译模块,用于编译处理所述声明,并将更新点设置在全局不变量所在的位置,所述更新点为对所述当前版本进行替换的位置;
版本替换模块,用于将新版本代码上载至航天器系统,并根据所述更新点在内存中替换所述当前版本。
优选的,如上所述的面向航天软件的在轨升级系统,还包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华东师范大学;上海航天控制技术研究所,未经华东师范大学;上海航天控制技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910684590.7/2.html,转载请声明来源钻瓜专利网。