資源描述:
《數(shù)字衛(wèi)星源代碼生成技術(shù)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。
1、數(shù)字衛(wèi)星源代碼生成技術(shù)董云峰李暢北京航空航天大學(xué)宇航學(xué)院,北京100191摘要數(shù)字衛(wèi)星是一個(gè)復(fù)雜的系統(tǒng),開發(fā)難度大、研制周期長(zhǎng)、可擴(kuò)展性低、調(diào)試與測(cè)試難度大。本文將工程方法論中維分解理論與認(rèn)知科學(xué)相結(jié)合,提出了將復(fù)雜系統(tǒng)分解成可由程序執(zhí)行的底層決策的集合,使程序可按照人的邏輯處理復(fù)雜系統(tǒng)的理論。將該理論應(yīng)用于數(shù)字衛(wèi)星開發(fā)中,設(shè)計(jì)了可由程序自動(dòng)完成的一整套數(shù)字衛(wèi)星源代碼生成流程?;诙喾N型號(hào)衛(wèi)星完成了數(shù)字衛(wèi)星的定義與生成,使用數(shù)字衛(wèi)星進(jìn)行了典型工況的仿真驗(yàn)證。驗(yàn)證結(jié)果表明采用該理論能夠成功裝配出數(shù)字衛(wèi)星。關(guān)鍵詞數(shù)字衛(wèi)星;衛(wèi)星模擬器;分形;代碼生
2、成1引言數(shù)字化、信息化是新一代智能制造的核心[1引,平行系統(tǒng)是處理復(fù)雜系統(tǒng)的有效方式[3],數(shù)字衛(wèi)星是真實(shí)衛(wèi)星的平行系統(tǒng),是衛(wèi)星設(shè)計(jì)研制運(yùn)行全生命過(guò)程中的重要工具。衛(wèi)星的數(shù)字化研究已經(jīng)取得了一定的研究成果[4‘5]。但數(shù)字衛(wèi)星傳統(tǒng)研制模式研制難度大、周期長(zhǎng),需要消耗大量的人力物力,且傳統(tǒng)的數(shù)字衛(wèi)星可擴(kuò)展性較低,需求的改變往往伴隨大量源代碼的修改。隨著認(rèn)知水平的提高和數(shù)字仿真技術(shù)的發(fā)展,數(shù)字衛(wèi)星仿真粒度越來(lái)越精細(xì),傳統(tǒng)數(shù)字衛(wèi)星研制模式已難以滿足真實(shí)衛(wèi)星研制生產(chǎn)和仿真驗(yàn)證的需求。人工智能的核心是讓機(jī)器代替人進(jìn)行決策和完成工作。認(rèn)知科學(xué)是人工智能的
3、基礎(chǔ),也是推動(dòng)人工智能向前發(fā)展的重要力量‘6
4、。如今認(rèn)知科學(xué)已成為前沿學(xué)科[7],在學(xué)術(shù)界受到廣泛關(guān)注,在多個(gè)領(lǐng)域開展了應(yīng)用并產(chǎn)生了成功的應(yīng)用成果印柚]。讓機(jī)器代替人完成源代碼書寫工作,不僅可以提高效率,而且可將研制規(guī)范封裝在工具中,為航天工業(yè)信息化提供了一個(gè)新的發(fā)展思路。2程序員決策的維分解人的智能表現(xiàn)在對(duì)復(fù)雜情況的處理過(guò)程中。面對(duì)復(fù)雜情況時(shí),人能夠分析問題,將復(fù)雜問題等效分解為若干子問題的集合,如果子問題都有解,則復(fù)雜問題有解。工程方法論是對(duì)人解決問題方法的抽象和提煉,如果教會(huì)程序按工程方法論分解問題,則程序就不是簡(jiǎn)單的程序,也具備一定的
5、智能。利用維的概念分解問題是一種不重不漏的分解方法,常用的維有系統(tǒng)維、時(shí)間維和邏輯維。按照系統(tǒng)維的概念可將衛(wèi)星分解為有效載荷和服務(wù)艙;服務(wù)艙可進(jìn)一步分為結(jié)構(gòu)、電源、溫控、遙測(cè)遙控、推進(jìn)、姿軌控、星務(wù)與數(shù)據(jù)管理等子系統(tǒng)。按照時(shí)間維的概念可將衛(wèi)星裝配過(guò)程分解為成部件入庫(kù)、衛(wèi)星物理構(gòu)成裝配、衛(wèi)星信息傳輸裝配、仿真部署配置、仿真運(yùn)行配置和通用代碼裝配。邏輯維是按處理問題邏輯過(guò)程分解,可分為先明確問題再解決問題。明確問題可分解為明確目標(biāo)和指標(biāo)設(shè)計(jì)。明確目標(biāo)是指明確干什么,怎么干;指標(biāo)設(shè)計(jì)是指在數(shù)字衛(wèi)星設(shè)計(jì)前期,要明確衛(wèi)星的任務(wù)目標(biāo)(如工作時(shí)間與觀測(cè)目標(biāo)
6、)以及明確衛(wèi)星的性能指標(biāo)(如覆蓋性能指標(biāo)與測(cè)控性能指標(biāo))。解決問題分解為先有解決問題方案,然后再執(zhí)行。在生成數(shù)字衛(wèi)星源代碼時(shí),要先有數(shù)字衛(wèi)星的設(shè)計(jì)結(jié)果,生成程序方能根據(jù)設(shè)計(jì)結(jié)果生成數(shù)字衛(wèi)星的源代碼。圖1為維中的某一格。·50·數(shù)字衛(wèi)星源代碼生成技術(shù)圖1維中的某一格維具有分形特征,某一格還可以進(jìn)行下一層次維的分解。圖1中系統(tǒng)維上的子系統(tǒng)、時(shí)間維上的設(shè)計(jì)過(guò)程、邏輯維上的系統(tǒng)綜合步驟所構(gòu)成的格依然可以按系統(tǒng)維、時(shí)間維和邏輯維展開。系統(tǒng)維與時(shí)間維往往體現(xiàn)在高層次的分解,而越接近底層日常操作,邏輯維的分形特征越明顯。對(duì)數(shù)字衛(wèi)星的各個(gè)階段和各個(gè)步驟進(jìn)行逐
7、層次分解,可將其分解成有限個(gè)可由機(jī)器處理的數(shù)據(jù)或源代碼,使源代碼自動(dòng)生成成為可行。每個(gè)工作按維分解后可以形成一個(gè)由若干環(huán)節(jié)組成的樹形結(jié)構(gòu),遍歷一個(gè)樹就完成一個(gè)工作??蓪淳S分解的樹形結(jié)構(gòu)存儲(chǔ)在數(shù)據(jù)庫(kù)中方便工作的執(zhí)行。存儲(chǔ)時(shí)可以將樹形結(jié)構(gòu)的定性描述與定量分析分開,根據(jù)一般定性描述映射出定量分析的完整信息,從而精簡(jiǎn)存儲(chǔ)的數(shù)據(jù),提高程序的可伸縮性與可擴(kuò)展性。程序讀取數(shù)據(jù)庫(kù)中各條信息并執(zhí)行相應(yīng)的操作,通過(guò)完成各個(gè)子環(huán)節(jié)來(lái)完成工作,最終裝配出完整的數(shù)字衛(wèi)星。3程序裝配3.1程序的生成方法數(shù)字衛(wèi)星仿真程序源代碼可按維分解成語(yǔ)句,語(yǔ)句是構(gòu)成程序源代碼的基礎(chǔ)
8、要素。語(yǔ)句的生成實(shí)際上就是從數(shù)據(jù)庫(kù)中讀取可變的信息,將各條信息按照一定的格式與固定不變的部分組裝拼接成一條字符串,最后將字符串打印至源代碼文件的過(guò)程。語(yǔ)句可分成變量定義、變量賦值、調(diào)用函數(shù)與條件判斷語(yǔ)句。變量定義即為一條字符串,為了滿足編程需求,在定義時(shí)還需表明其類型并賦初值,如doubleGyroMeasureValueE13一{0);其等號(hào)前的部分依次為變量的類型、名稱與維數(shù),等號(hào)后的部分是為變量賦初值,是固定不變的。程序可從數(shù)據(jù)庫(kù)中讀取該變量的類型為double,名稱為GyroMeasureValue,維數(shù)為1,將其按照“類型”+“名稱
9、”+“[維數(shù)]”+“一{0);”的格式拼接成一個(gè)字符串,并將字符串打印至文件中,即可完成變量定義語(yǔ)句的生成。變量賦值語(yǔ)句與變量定義語(yǔ)句類似,如GyroMeasure