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

技术编号:15837218 阅读:36 留言:0更新日期:2017-07-18 15:15
本发明专利技术提供了一种嵌入式星载软件重构系统及方法,所述系统包括装载表、外部接口单元、私有数据定义单元以及私有数据操作实现单元;所述装载表包含多个软件模块的信息数据;所述外部接口单元包括数据操作接口,用于响应用户的调用指令,以及提供封装的接口函数的接口;所述私有数据定义单元用于定义的装载表中数据的结构;所述私有数据操作实现单元用于根据地面指令通过封装的接口函数对所述装载表进行操作,以及根据装载表中提供的信息实现软件的动态星地回路重构。本发明专利技术通过封装方式实现软件重构,增加软件模块的独立性,增加对重要数据装载表的保护,节省星载计算机的存储空间,减少软件自主判断的风险。

【技术实现步骤摘要】
嵌入式星载软件重构系统及方法
本专利技术涉及航天、航空中卫星星载软件重构领域,尤其涉及一种应用于集中式管理方式的微小卫星嵌入式星载软件、可在C语言上以类面向对象封装的思想实现星地回路软件重构的嵌入式星载软件重构系统及方法。
技术介绍
为了适应各种情况下不同的任务需求以及应对各种突发故障,需要对星载软件进行重构。目前的嵌入式星载软件重构主要包括:1)使用结构化的编程方式实现星载软件重构;2)重构前卫星上已经预存程序实现的多个版本,在其中一个版本的程序出现问题时,自主选择正确版本,完成软件的重构。对于结构化的编程方式,由于多个模块软件间存在过程内聚和标记耦合,甚至控制耦合也是存在的。由于内聚性不够高,耦合性不够低,使得模块的独立性不够强,模块内部的数据对外透明,存在被修改的风险。对于多版本重构方式,需要消耗大量的程序存储空间,且软件的判断、选择算法复杂。完全的软件自主重构也带来一定的风险。因此,需要提供一种新的嵌入式星载软件重构方法,能够增加软件模块的独立性,节省星载计算机的存储空间、减少软件自主判断的风险。
技术实现思路
本专利技术的目的在于,基于软件装载表的结构,通过对装载表进行操作的封装接口函数,实现卫星嵌入式软件的重构,减少模块的耦合性,保护内部重要的私有数据,合理使用星载计算机内存。为实现上述目的,本专利技术提供了一种嵌入式星载软件重构系统,包括装载表、外部接口单元、私有数据定义单元以及私有数据操作实现单元;所述装载表包含多个软件模块的信息数据;所述外部接口单元包括数据操作接口,用于响应用户的调用指令,以及提供封装的接口函数的接口;所述私有数据定义单元用于定义的装载表中数据的结构;所述私有数据操作实现单元用于根据地面指令通过封装的接口函数对所述装载表进行操作,以及根据装载表中提供的信息实现软件的动态星地回路重构。所述私有数据操作实现单元进一步用于通过封装的接口函数更新、增加、修改装载表,并通过封装的接口函数根据装载表中提供的信息,动态的创建新进程、停止原有进程实现软件的动态星地回路重构。所述外部接口单元进一步包括数据定义接口,用于通过不完全定义的方式将装载表数据结构实现为私有。为实现上述目的,本专利技术还提供了一种嵌入式星载软件重构方法,采用本专利技术所述嵌入式星载软件重构系统,包括,(1)卫星入境时,地面通过遥控链路注入需要动态加入重构的软件代码;(2)通过遥控指令采用封装的接口函数修改进程装载表,将注入代码的信息加入到装载表中;(3)通过遥控指令使用新注入的装载表项为参数,通过封装的接口函数创建新注入的进程;(4)运行新进程,完成重构。步骤(1)之前进一步包括通过不完全定义的方式将装载表数据结构实现为私有。本专利技术的优点在于:通过封装方式实现软件重构,增加软件模块的独立性,增加对重要数据装载表的保护;卫星过境期间重构代码从地面注入,可以覆盖掉不需要的代码,节省星载计算机的存储空间;新进程的创建和旧有进程的删除通过地面指令实现,实现星地联合判断,减少软件自主判断的风险;提供了星载软件重构的设计原型,可根据相应的要求扩展新的重构功能,实现星载软件重构模型的功能可扩展性。附图说明图1,本专利技术所述的嵌入式星载软件重构系统的架构示意图;图2,本专利技术所述的嵌入式星载软件重构方法的流程示意图。具体实施方式下面结合附图对本专利技术提供的嵌入式星载软件重构系统及方法做详细说明。参考图1,本专利技术所述的嵌入式星载软件重构系统的架构示意图,所述系统10包括装载表11、外部接口单元12、私有数据定义单元13以及私有数据操作实现单元14。本专利技术基于软件装载表的结构,通过对装载表进行操作的封装接口函数,实现卫星嵌入式软件的重构。所述装载表11包含多个软件模块的信息数据,各软件模块信息具体见表1。装载表11中的数据在私有数据定义单元13中定义具体结构。数据大小结构信息16字节进程主函数名4字节模块存储地址2字节进程堆栈长度1字节装载状态1字节进程优先级1字节进程状态信息1字节唤醒方式1字节进程种类1字节进程出错处理方式表1装载表项结构所述私有数据操作实现单元14用于根据地面指令通过封装的接口函数对所述装载表11进行操作,以及根据装载表11中提供的信息实现软件的动态星地回路重构。对装载表11的数据操作通过封装的接口函数实现;可以通过封装的接口函数更新、增加、修改装载表11,并可以通过封装的接口函数根据装载表11中提供的信息,动态的创建新进程、停止原有进程等,实现软件的动态星地回路重构。这些接口函数的实现可通过文件形式封装存放在私有数据操作实现单元14。可提供的接口函数有:添加/替换装载表项:UINT8AddOneItem(UINT8iPos,sOneLoadModuleInfo*OneMoudleInfo);全部替换装载表:UINT8UpdateAllItem(sLoadModuleInfoTable*Table_name);根据装载表的某一装载表项动态加载进程:UINT8LoadOneModule(UINT8iPos,sOneLoadModuleInfo*OneMoudleInfo);以及,根据装载表的某一装载表项动态创建进程:UINT8SpawnATast(UINT8iPos,sOneLoadModuleInfoOneMoudleInfo)等。所述外部接口单元12包括数据操作接口121以及数据定义接口122。数据操作接口121用于响应用户的调用指令,以及提供封装的接口函数的接口。也即私有数据操作实现单元14中所存放的接口函数,其相应接口存放在对外的数据操作接口121中,以根据需要扩展。另外,为防止装载表11中的信息被修改,所述外部接口单元进一步包括数据定义接口122,用于通过不完全定义的方式将装载表11数据结构实现为私有。当用户通过数据操作接口121调用接口函数时,需要使用数据定义接口122定义接口类型的变量作为函数的参数。数据定义接口122提供给用户的接口定义方式如下:ifndefModeLoad_HdefineModeLoad_HtypedefstructsLoadModuleInfoTable{//空结构体}*sLoadModuleInfoTable;typedefstructsOneLoadModuleInfo{//空结构体}*sOneLoadModulelnfo;Endif卫星入境时,地面通过遥控链路注入需要动态加入重构的软件代码;之后通过遥控指令采用封装的接口函数修改进程装载表,将注入代码的信息加入到装载表中;然后通过遥控指令使用新注入的装载表项为参数,通过封装的接口函数创建新注入的进程,运行新进程,完成重构。本专利技术可根据卫星嵌入式软件重构相应的要求扩展新的重构功能,实现星载软件重构的功能可扩展性;通过封装方式实现软件重构,增加软件模块的独立性,增加对重要数据装载表的保护;且在卫星过境期间重构代码从地面注入,可以覆盖掉不需要的代码,节省星载计算机的存储空间;同时新进程的创建和旧有进程的删除通过地面指令实现,实现星地联合判断,减少软件自主判断的风险。参考图2,本专利技术所述的嵌入式星载软件重构方法的流程示意图,本专利技术所述方法采用本专利技术所述的嵌入式星载软件重构系统,基于系统中软件装载表的结构,通过对装载表进行操作的封装接口函数,实现本文档来自技高网...
嵌入式星载软件重构系统及方法

【技术保护点】
一种嵌入式星载软件重构系统,其特征在于,包括装载表、外部接口单元、私有数据定义单元以及私有数据操作实现单元;所述装载表包含多个软件模块的信息数据;所述外部接口单元包括数据操作接口,用于响应用户的调用指令,以及提供封装的接口函数的接口;所述私有数据定义单元用于定义的装载表中数据的结构;所述私有数据操作实现单元用于根据地面指令通过封装的接口函数对所述装载表进行操作,以及根据装载表中提供的信息实现软件的动态星地回路重构;其中,在卫星过境期间重构代码从地面注入,覆盖掉不需要的代码;新进程的创建和旧有进程的删除通过地面指令实现,实现星地联合判断。

【技术特征摘要】
1.一种嵌入式星载软件重构系统,其特征在于,包括装载表、外部接口单元、私有数据定义单元以及私有数据操作实现单元;所述装载表包含多个软件模块的信息数据;所述外部接口单元包括数据操作接口,用于响应用户的调用指令,以及提供封装的接口函数的接口;所述私有数据定义单元用于定义的装载表中数据的结构;所述私有数据操作实现单元用于根据地面指令通过封装的接口函数对所述装载表进行操作,以及根据装载表中提供的信息实现软件的动态星地回路重构;其中,在卫星过境期间重构代码从地面注入,覆盖掉不需要的代码;新进程的创建和旧有进程的删除通过地面指令实现,实现星地联合判断。2.根据权利要求1所述的嵌入式星载软件重构系统,其特征在于,所述私有数据操作实现单元进一步用于通过封装的接口函数更新、增加、修改装载表,并通过封装的接口函数根据装载表中提供的信息,动态的创建新进程、停止原有进程实现软件的动态星...

【专利技术属性】
技术研发人员:白雪柏贺芸徐元旭陈蕞徐文明
申请(专利权)人:上海微小卫星工程中心
类型:发明
国别省市:上海,31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1