嵌入式星載軟件重構(gòu)系統(tǒng)及方法
【專利摘要】本發(fā)明提供了一種嵌入式星載軟件重構(gòu)系統(tǒng)及方法,所述系統(tǒng)包括裝載表、外部接口單元、私有數(shù)據(jù)定義單元以及私有數(shù)據(jù)操作實(shí)現(xiàn)單元;所述裝載表包含多個(gè)軟件模塊的信息數(shù)據(jù);所述外部接口單元包括數(shù)據(jù)操作接口,用于響應(yīng)用戶的調(diào)用指令,以及提供封裝的接口函數(shù)的接口;所述私有數(shù)據(jù)定義單元用于定義的裝載表中數(shù)據(jù)的結(jié)構(gòu);所述私有數(shù)據(jù)操作實(shí)現(xiàn)單元用于根據(jù)地面指令通過封裝的接口函數(shù)對所述裝載表進(jìn)行操作,以及根據(jù)裝載表中提供的信息實(shí)現(xiàn)軟件的動態(tài)星地回路重構(gòu)。本發(fā)明通過封裝方式實(shí)現(xiàn)軟件重構(gòu),增加軟件模塊的獨(dú)立性,增加對重要數(shù)據(jù)裝載表的保護(hù),節(jié)省星載計(jì)算機(jī)的存儲空間,減少軟件自主判斷的風(fēng)險(xiǎn)。
【專利說明】嵌入式星載軟件重構(gòu)系統(tǒng)及方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及航天、航空中衛(wèi)星星載軟件重構(gòu)領(lǐng)域,尤其涉及一種應(yīng)用于集中式管理方式的微小衛(wèi)星嵌入式星載軟件、可在C語言上以類面向?qū)ο蠓庋b的思想實(shí)現(xiàn)星地回路軟件重構(gòu)的嵌入式星載軟件重構(gòu)系統(tǒng)及方法。
【背景技術(shù)】
[0002]為了適應(yīng)各種情況下不同的任務(wù)需求以及應(yīng)對各種突發(fā)故障,需要對星載軟件進(jìn)行重構(gòu)。
[0003]目前的嵌入式星載軟件重構(gòu)主要包括:I)使用結(jié)構(gòu)化的編程方式實(shí)現(xiàn)星載軟件重構(gòu);2)重構(gòu)前衛(wèi)星上已經(jīng)預(yù)存程序?qū)崿F(xiàn)的多個(gè)版本,在其中一個(gè)版本的程序出現(xiàn)問題時(shí),自主選擇正確版本,完成軟件的重構(gòu)。
[0004]對于結(jié)構(gòu)化的編程方式,由于多個(gè)模塊軟件間存在過程內(nèi)聚和標(biāo)記耦合,甚至控制耦合也是存在的。由于內(nèi)聚性不夠高,耦合性不夠低,使得模塊的獨(dú)立性不夠強(qiáng),模塊內(nèi)部的數(shù)據(jù)對外透明,存在被修改的風(fēng)險(xiǎn)。
[0005]對于多版本重構(gòu)方式,需要消耗大量的程序存儲空間,且軟件的判斷、選擇算法復(fù)雜。完全的軟件自主重構(gòu)也帶來一定的風(fēng)險(xiǎn)。
[0006]因此,需要提供一種新的嵌入式星載軟件重構(gòu)方法,能夠增加軟件模塊的獨(dú)立性,節(jié)省星載計(jì)算機(jī)的存儲空間、減少軟件自主判斷的風(fēng)險(xiǎn)。
【發(fā)明內(nèi)容】
[0007]本發(fā)明的目的在于,基于軟件裝載表的結(jié)構(gòu),通過對裝載表進(jìn)行操作的封裝接口函數(shù),實(shí)現(xiàn)衛(wèi)星嵌入式軟件的重構(gòu),減少模塊的耦合性,保護(hù)內(nèi)部重要的私有數(shù)據(jù),合理使用星載計(jì)算機(jī)內(nèi)存。
[0008]為實(shí)現(xiàn)上述目的,本發(fā)明提供了一種嵌入式星載軟件重構(gòu)系統(tǒng),包括裝載表、外部接口單元、私有數(shù)據(jù)定義單元以及私有數(shù)據(jù)操作實(shí)現(xiàn)單元;所述裝載表包含多個(gè)軟件模塊的信息數(shù)據(jù);所述外部接口單元包括數(shù)據(jù)操作接口,用于響應(yīng)用戶的調(diào)用指令,以及提供封裝的接口函數(shù)的接口 ;所述私有數(shù)據(jù)定義單元用于定義的裝載表中數(shù)據(jù)的結(jié)構(gòu);所述私有數(shù)據(jù)操作實(shí)現(xiàn)單元用于根據(jù)地面指令通過封裝的接口函數(shù)對所述裝載表進(jìn)行操作,以及根據(jù)裝載表中提供的信息實(shí)現(xiàn)軟件的動態(tài)星地回路重構(gòu)。
[0009]所述私有數(shù)據(jù)操作實(shí)現(xiàn)單元進(jìn)一步用于通過封裝的接口函數(shù)更新、增加、修改裝載表,并通過封裝的接口函數(shù)根據(jù)裝載表中提供的信息,動態(tài)的創(chuàng)建新進(jìn)程、停止原有進(jìn)程實(shí)現(xiàn)軟件的動態(tài)星地回路重構(gòu)。
[0010]所述外部接口單元進(jìn)一步包括數(shù)據(jù)定義接口,用于通過不完全定義的方式將裝載表數(shù)據(jù)結(jié)構(gòu)實(shí)現(xiàn)為私有。
[0011]為實(shí)現(xiàn)上述目的,本發(fā)明還提供了一種嵌入式星載軟件重構(gòu)方法,采用本發(fā)明所述嵌入式星載軟件重構(gòu)系統(tǒng),包括,(I)衛(wèi)星入境時(shí),地面通過遙控鏈路注入需要?jiǎng)討B(tài)加入重構(gòu)的軟件代碼;(2)通過遙控指令采用封裝的接口函數(shù)修改進(jìn)程裝載表,將注入代碼的信息加入到裝載表中;(3)通過遙控指令使用新注入的裝載表項(xiàng)為參數(shù),通過封裝的接口函數(shù)創(chuàng)建新注入的進(jìn)程;(4)運(yùn)行新進(jìn)程,完成重構(gòu)。
[0012]步驟(1)之前進(jìn)一步包括通過不完全定義的方式將裝載表數(shù)據(jù)結(jié)構(gòu)實(shí)現(xiàn)為私有。
[0013]本發(fā)明的優(yōu)點(diǎn)在于:通過封裝方式實(shí)現(xiàn)軟件重構(gòu),增加軟件模塊的獨(dú)立性,增加對重要數(shù)據(jù)裝載表的保護(hù);衛(wèi)星過境期間重構(gòu)代碼從地面注入,可以覆蓋掉不需要的代碼,節(jié)省星載計(jì)算機(jī)的存儲空間;新進(jìn)程的創(chuàng)建和舊有進(jìn)程的刪除通過地面指令實(shí)現(xiàn),實(shí)現(xiàn)星地聯(lián)合判斷,減少軟件自主判斷的風(fēng)險(xiǎn);提供了星載軟件重構(gòu)的設(shè)計(jì)原型,可根據(jù)相應(yīng)的要求擴(kuò)展新的重構(gòu)功能,實(shí)現(xiàn)星載軟件重構(gòu)模型的功能可擴(kuò)展性。
【專利附圖】
【附圖說明】
[0014]圖1,本發(fā)明所述的嵌入式星載軟件重構(gòu)系統(tǒng)的架構(gòu)示意圖;
圖2,本發(fā)明所述的嵌入式星載軟件重構(gòu)方法的流程示意圖。
【具體實(shí)施方式】
[0015]下面結(jié)合附圖對本發(fā)明提供的嵌入式星載軟件重構(gòu)系統(tǒng)及方法做詳細(xì)說明。
[0016]參考圖1,本發(fā)明所述的嵌入式星載軟件重構(gòu)系統(tǒng)的架構(gòu)示意圖,所述系統(tǒng)10包括裝載表11、外部接口單元12、私有數(shù)據(jù)定義單元13以及私有數(shù)據(jù)操作實(shí)現(xiàn)單元14。本發(fā)明基于軟件裝載表的結(jié)構(gòu),通過對裝載表進(jìn)行操作的封裝接口函數(shù),實(shí)現(xiàn)衛(wèi)星嵌入式軟件的重構(gòu)。
[0017]所述裝載表11包含多個(gè)軟件模塊的信息數(shù)據(jù),各軟件模塊信息具體見表1。裝載表11中的數(shù)據(jù)在私有數(shù)據(jù)定義單元13中定義具體結(jié)構(gòu)。
【權(quán)利要求】
1.一種嵌入式星載軟件重構(gòu)系統(tǒng),其特征在于,包括裝載表、外部接口單元、私有數(shù)據(jù)定義單元以及私有數(shù)據(jù)操作實(shí)現(xiàn)單元; 所述裝載表包含多個(gè)軟件模塊的信息數(shù)據(jù); 所述外部接口單元包括數(shù)據(jù)操作接口,用于響應(yīng)用戶的調(diào)用指令,以及提供封裝的接口函數(shù)的接口; 所述私有數(shù)據(jù)定義單元用于定義的裝載表中數(shù)據(jù)的結(jié)構(gòu); 所述私有數(shù)據(jù)操作實(shí)現(xiàn)單元用于根據(jù)地面指令通過封裝的接口函數(shù)對所述裝載表進(jìn)行操作,以及根據(jù)裝載表中提供的信息實(shí)現(xiàn)軟件的動態(tài)星地回路重構(gòu)。
2.根據(jù)權(quán)利要求1所述的嵌入式星載軟件重構(gòu)系統(tǒng),其特征在于,所述私有數(shù)據(jù)操作實(shí)現(xiàn)單元進(jìn)一步用于通過封裝的接口函數(shù)更新、增加、修改裝載表,并通過封裝的接口函數(shù)根據(jù)裝載表中提供的信息,動態(tài)的創(chuàng)建新進(jìn)程、停止原有進(jìn)程實(shí)現(xiàn)軟件的動態(tài)星地回路重構(gòu)。
3.根據(jù)權(quán)利要求1所述的嵌入式星載軟件重構(gòu)系統(tǒng),其特征在于,所述外部接口單元進(jìn)一步包括數(shù)據(jù)定義接口,用于通過不完全定義的方式將裝載表數(shù)據(jù)結(jié)構(gòu)實(shí)現(xiàn)為私有。
4.一種嵌入式星載軟件重構(gòu)方法,采用權(quán)利要求1所述嵌入式星載軟件重構(gòu)系統(tǒng),其特征在于,包括, (1)衛(wèi)星入境時(shí),地面通過遙控鏈路注入需要?jiǎng)討B(tài)加入重構(gòu)的軟件代碼; (2)通過遙控指令采用封裝的接口函數(shù)修改進(jìn)程裝載表,將注入代碼的信息加入到裝載表中; (3)通過遙控指令使用新注入的裝載表項(xiàng)為參數(shù),通過封裝的接口函數(shù)創(chuàng)建新注入的進(jìn)程; (4)運(yùn)行新進(jìn)程,完成重構(gòu)。
5.根據(jù)權(quán)利要求4所述的嵌入式星載軟件重構(gòu)方法,其特征在于,步驟(I)之前進(jìn)一步包括通過不完全定義的方式將裝載表數(shù)據(jù)結(jié)構(gòu)實(shí)現(xiàn)為私有。
【文檔編號】G06F9/44GK103853561SQ201410106639
【公開日】2014年6月11日 申請日期:2014年3月21日 優(yōu)先權(quán)日:2014年3月21日
【發(fā)明者】白雪柏, 賀蕓, 徐元旭, 陳蕞, 徐文明 申請人:上海微小衛(wèi)星工程中心