嵌入式星载软件重构系统及方法

文档序号:6541260阅读:182来源:国知局
嵌入式星载软件重构系统及方法
【专利摘要】本发明提供了一种嵌入式星载软件重构系统及方法,所述系统包括装载表、外部接口单元、私有数据定义单元以及私有数据操作实现单元;所述装载表包含多个软件模块的信息数据;所述外部接口单元包括数据操作接口,用于响应用户的调用指令,以及提供封装的接口函数的接口;所述私有数据定义单元用于定义的装载表中数据的结构;所述私有数据操作实现单元用于根据地面指令通过封装的接口函数对所述装载表进行操作,以及根据装载表中提供的信息实现软件的动态星地回路重构。本发明通过封装方式实现软件重构,增加软件模块的独立性,增加对重要数据装载表的保护,节省星载计算机的存储空间,减少软件自主判断的风险。
【专利说明】嵌入式星载软件重构系统及方法
【技术领域】
[0001]本发明涉及航天、航空中卫星星载软件重构领域,尤其涉及一种应用于集中式管理方式的微小卫星嵌入式星载软件、可在C语言上以类面向对象封装的思想实现星地回路软件重构的嵌入式星载软件重构系统及方法。
【背景技术】
[0002]为了适应各种情况下不同的任务需求以及应对各种突发故障,需要对星载软件进行重构。
[0003]目前的嵌入式星载软件重构主要包括:I)使用结构化的编程方式实现星载软件重构;2)重构前卫星上已经预存程序实现的多个版本,在其中一个版本的程序出现问题时,自主选择正确版本,完成软件的重构。
[0004]对于结构化的编程方式,由于多个模块软件间存在过程内聚和标记耦合,甚至控制耦合也是存在的。由于内聚性不够高,耦合性不够低,使得模块的独立性不够强,模块内部的数据对外透明,存在被修改的风险。
[0005]对于多版本重构方式,需要消耗大量的程序存储空间,且软件的判断、选择算法复杂。完全的软件自主重构也带来一定的风险。
[0006]因此,需要提供一种新的嵌入式星载软件重构方法,能够增加软件模块的独立性,节省星载计算机的存储空间、减少软件自主判断的风险。

【发明内容】

[0007]本发明的目的在于,基于软件装载表的结构,通过对装载表进行操作的封装接口函数,实现卫星嵌入式软件的重构,减少模块的耦合性,保护内部重要的私有数据,合理使用星载计算机内存。
[0008]为实现上述目的,本发明提供了一种嵌入式星载软件重构系统,包括装载表、外部接口单元、私有数据定义单元以及私有数据操作实现单元;所述装载表包含多个软件模块的信息数据;所述外部接口单元包括数据操作接口,用于响应用户的调用指令,以及提供封装的接口函数的接口 ;所述私有数据定义单元用于定义的装载表中数据的结构;所述私有数据操作实现单元用于根据地面指令通过封装的接口函数对所述装载表进行操作,以及根据装载表中提供的信息实现软件的动态星地回路重构。
[0009]所述私有数据操作实现单元进一步用于通过封装的接口函数更新、增加、修改装载表,并通过封装的接口函数根据装载表中提供的信息,动态的创建新进程、停止原有进程实现软件的动态星地回路重构。
[0010]所述外部接口单元进一步包括数据定义接口,用于通过不完全定义的方式将装载表数据结构实现为私有。
[0011]为实现上述目的,本发明还提供了一种嵌入式星载软件重构方法,采用本发明所述嵌入式星载软件重构系统,包括,(I)卫星入境时,地面通过遥控链路注入需要动态加入重构的软件代码;(2)通过遥控指令采用封装的接口函数修改进程装载表,将注入代码的信息加入到装载表中;(3)通过遥控指令使用新注入的装载表项为参数,通过封装的接口函数创建新注入的进程;(4)运行新进程,完成重构。
[0012]步骤(1)之前进一步包括通过不完全定义的方式将装载表数据结构实现为私有。
[0013]本发明的优点在于:通过封装方式实现软件重构,增加软件模块的独立性,增加对重要数据装载表的保护;卫星过境期间重构代码从地面注入,可以覆盖掉不需要的代码,节省星载计算机的存储空间;新进程的创建和旧有进程的删除通过地面指令实现,实现星地联合判断,减少软件自主判断的风险;提供了星载软件重构的设计原型,可根据相应的要求扩展新的重构功能,实现星载软件重构模型的功能可扩展性。
【专利附图】

【附图说明】
[0014]图1,本发明所述的嵌入式星载软件重构系统的架构示意图;
图2,本发明所述的嵌入式星载软件重构方法的流程示意图。
【具体实施方式】
[0015]下面结合附图对本发明提供的嵌入式星载软件重构系统及方法做详细说明。
[0016]参考图1,本发明所述的嵌入式星载软件重构系统的架构示意图,所述系统10包括装载表11、外部接口单元12、私有数据定义单元13以及私有数据操作实现单元14。本发明基于软件装载表的结构,通过对装载表进行操作的封装接口函数,实现卫星嵌入式软件的重构。
[0017]所述装载表11包含多个软件模块的信息数据,各软件模块信息具体见表1。装载表11中的数据在私有数据定义单元13中定义具体结构。
【权利要求】
1.一种嵌入式星载软件重构系统,其特征在于,包括装载表、外部接口单元、私有数据定义单元以及私有数据操作实现单元; 所述装载表包含多个软件模块的信息数据; 所述外部接口单元包括数据操作接口,用于响应用户的调用指令,以及提供封装的接口函数的接口; 所述私有数据定义单元用于定义的装载表中数据的结构; 所述私有数据操作实现单元用于根据地面指令通过封装的接口函数对所述装载表进行操作,以及根据装载表中提供的信息实现软件的动态星地回路重构。
2.根据权利要求1所述的嵌入式星载软件重构系统,其特征在于,所述私有数据操作实现单元进一步用于通过封装的接口函数更新、增加、修改装载表,并通过封装的接口函数根据装载表中提供的信息,动态的创建新进程、停止原有进程实现软件的动态星地回路重构。
3.根据权利要求1所述的嵌入式星载软件重构系统,其特征在于,所述外部接口单元进一步包括数据定义接口,用于通过不完全定义的方式将装载表数据结构实现为私有。
4.一种嵌入式星载软件重构方法,采用权利要求1所述嵌入式星载软件重构系统,其特征在于,包括, (1)卫星入境时,地面通过遥控链路注入需要动态加入重构的软件代码; (2)通过遥控指令采用封装的接口函数修改进程装载表,将注入代码的信息加入到装载表中; (3)通过遥控指令使用新注入的装载表项为参数,通过封装的接口函数创建新注入的进程; (4)运行新进程,完成重构。
5.根据权利要求4所述的嵌入式星载软件重构方法,其特征在于,步骤(I)之前进一步包括通过不完全定义的方式将装载表数据结构实现为私有。
【文档编号】G06F9/44GK103853561SQ201410106639
【公开日】2014年6月11日 申请日期:2014年3月21日 优先权日:2014年3月21日
【发明者】白雪柏, 贺芸, 徐元旭, 陈蕞, 徐文明 申请人:上海微小卫星工程中心
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1