專利名稱:一種基于Java平臺的航天器測試軟件構架及其測試方法
技術領域:
本發(fā)明涉及一種基于Java平臺的航天器測試軟件構架及其測試方法。
背景技術:
航天器上設備眾多,涉及到的配套單位眾多,各單位根據(jù)航天器上設備具體情況實現(xiàn)了不同架構的單元測試設備。這些單元測試設備有些是由普通工控機實現(xiàn)的,有些是 由DSP、FPGA實現(xiàn)的,有些是基于Windows操作系統(tǒng)的,有些是基于Linux操作系統(tǒng)的,還有些是基于其它嵌入式操作系統(tǒng)的。設備間通信也會采用RS422、1553B、LXI、VXI等各種不同的總線。一般情況下,測試軟件為了平衡硬件操作、運行速度、開發(fā)復雜度等幾個方面,都采用C/C++作為開發(fā)工具,開發(fā)出的測試軟件在運行平臺、硬件接口方面存在很大差異。航天器在總裝單位進行綜合測試時,總裝單位要根據(jù)各配套廠家的單元測試設備搭建航天器測試系統(tǒng),這就造成了綜合測試軟件結構復雜,通用性不強,配套廠家實現(xiàn)的中間件不能得以有效利用的問題?,F(xiàn)階段,航天器性能已到達或接近國際先進水平,外貿出口也日趨頻繁。外貿過程中,需提交符合采購方語言、操作習慣的測試軟件。整套測試軟件從操作系統(tǒng)、硬件驅動等底層支撐開始都應是基于采購方官方語言的。測試軟件的研制完成到外貿出口之間往往相隔時間較長,有的接近10年。這期間存在基于采購方官方語言的操作系統(tǒng)、硬件驅動、數(shù)據(jù)庫、支撐開發(fā)環(huán)境的情況。因此,航天器測試軟件的外貿出口不僅僅是翻譯軟件界面,而可能從操作系統(tǒng)開始重新架構。重新開發(fā)測試軟件存在周期長、維護復雜的問題,且沒有經(jīng)過批產(chǎn)考核的測試軟件存在大量質量隱患。
發(fā)明內容
本發(fā)明的目的在于克服現(xiàn)有技術的缺點,提供一種基于Java平臺的航天器測試軟件架構及其測試方法,以解決航天器測試軟件面臨硬件、操作系統(tǒng)、總線通信、支撐環(huán)境類型多而造成的架構復雜,通用性不強等問題。本發(fā)明的目的是通過以下技術方案來實現(xiàn)的一種基于Java平臺的航天器測試軟件構架,它包含航天器摘要信息單元,用于提供與航天器的硬件、操作系統(tǒng)、總線通信以及支撐環(huán)境相關操作的基礎信息并獨立出來;適配單元,用于接收與航天器的硬件、操作系統(tǒng)、總線通信以及支撐環(huán)境相關操作的信息,由硬件管理器、語言版本適配器、操作系統(tǒng)適配器和Java支持環(huán)境組成;應用單元,與適配單元相互聯(lián)系,用于負責軟件的業(yè)務邏輯;Java虛擬機,用于將航天器摘要信息單元獨立出來的基礎信息封裝到適配單元中相對應的部分。所述的操作系統(tǒng)為嵌入式操作系統(tǒng),包含Windows操作系統(tǒng)、Linux操作系統(tǒng)。所述的應用單元與適配單元通過XML格式配置文件相互聯(lián)系。
一種基于Java平臺的航天器測試軟件測試方法,它包含以下步驟(I)將與航天器的硬件、操作系統(tǒng)、總線通信以及支撐環(huán)境相關操作的基礎信息并獨立出來;(2)通過Java虛擬機,將航天器的基礎信息封裝到適配單元中相對應的部分,其中,硬件管理器中建立建立基于CBaseDriver的硬件適配器列表,并定義硬件適配器接口,經(jīng)過硬件適配器信息讀寫、處理函數(shù)和ID唯一性編號;(3)將適配單元中的信息通過接口傳遞給應用單元;(4)應用單元業(yè)務邏輯計算,所述的應用單元業(yè)務邏輯計算包括以下的內容a、硬件的操作,通過Java本地接口(JNI)技術,硬件適配器定義一套調用本地動態(tài)鏈接庫文件的接口,硬件管理器根據(jù)統(tǒng)一分配的硬件ID號查找相應硬件適配器,并通過接口調用動態(tài)鏈接庫,從而對具體硬件進行操作; b、語言版本的設置;C、操作系統(tǒng)的調用。本發(fā)明的有益效果是統(tǒng)一采用Java平臺架構,該架構中實現(xiàn)了硬件管理器、語言版本適配器、操作系統(tǒng)適配器,將硬件操作、語言習慣及操作系統(tǒng)相關的特性從測試軟件中隔離出來,從而實現(xiàn)了針對不同硬件、語言習慣、操作系統(tǒng)的平臺無關的通用測試軟件,通用性強。
圖I是本發(fā)明的架構示意圖。
具體實施例方式下面結合附圖進一步描述本發(fā)明的技術方案,但要求保護的范圍并不局限于所述。如圖I, 一種基于Java平臺的航天器測試軟件構架,它包含航天器摘要信息單元,用于提供與航天器的硬件、操作系統(tǒng)、總線通信以及支撐環(huán)境相關操作的基礎信息并獨立出來,包括硬件驅動、數(shù)據(jù)庫、操作系統(tǒng)相關的軟件以及操作系統(tǒng)相關的支撐環(huán)境;適配單元,用于接收與航天器的硬件、操作系統(tǒng)、總線通信以及支撐環(huán)境相關操作的信息,由硬件管理器、語言版本適配器、操作系統(tǒng)適配器和Java支持環(huán)境組成;應用單元,與適配單元相互聯(lián)系,用于負責軟件的業(yè)務邏輯;Java虛擬機,用于將航天器摘要信息單元獨立出來的基礎信息封裝到適配單元中相對應的部分。所述的操作系統(tǒng)為嵌入式操作系統(tǒng),包含Windows操作系統(tǒng)、Linux操作系統(tǒng)。所述的應用單元與適配單元通過XML格式配置文件相互聯(lián)系,減小了代碼的耦
八
口 ο為方便開發(fā),航天器測試軟件在Windows下完成中文版本開發(fā),同時在Windows、Linux系統(tǒng)下分別封裝了硬件操作函數(shù)的動態(tài)鏈接庫,各平臺下的動態(tài)鏈接庫調用名稱保持一致。開發(fā)完成的測試軟件通過修改spring_config. xml文件即可移植到Linux運行平臺。soft_config. xml文件的修改如下所不,將filename修改為english. xml, class修改為Linux平臺的適配類名即可。
<language>
<fileaname>chinese.xml</filename>
〈/language >
<beans>
<bean name="/system Adaptar" class="testsoft.WindowsSystemAdaptar"/>
</beans>一種基于Java平臺的航天器測試軟件測試方法,它包含以下步驟(I)將與航天器的硬件、操作系統(tǒng)、總線通信以及支撐環(huán)境相關操作的基礎信息并獨立出來;(2)通過Java虛擬機,將航天器的基礎信息封裝到適配單元中相對應的部分,硬件基礎信息封裝到硬件管理器中,操作系統(tǒng)基礎信息封裝到操作系統(tǒng)適配器中,其中,硬件管理器中建立建立基于CBaseDriver的硬件適配器列表,并定義硬件適配器接口,經(jīng)過硬件適配器信息讀寫、處理函數(shù)和ID唯一性編號;(3)將適配單元中的信息通過接口傳遞給應用單元;(4)應用單元業(yè)務邏輯計算,所述的應用單元業(yè)務邏輯計算包括以下的內容a、硬件的操作,通過Java本地接口(JNI)技術,硬件適配器定義一套調用本地動態(tài)鏈接庫文件的接口,調用方法為System. IoadLibrary ( “動態(tài)鏈接庫調用名稱”)。在不同操作系統(tǒng)平臺上實現(xiàn)硬件操作的動態(tài)鏈接庫,不同操作系統(tǒng)平臺下的動態(tài)鏈接庫調用名稱保持一致,因此平臺相關性限制在動態(tài)鏈接庫里。硬件管理器根據(jù)統(tǒng)一分配的硬件ID號查找相應硬件適配器,并通過接口調用動態(tài)鏈接庫,從而對具體硬件進行操作;b、語言版本的設置,以中英文為例,將軟件中的字符串常量定義在Chinese, xml和english. xml文件中。Chinese, xml文件中的字符串節(jié)點定義如下
<StringNode>
<ID>CS_SOFT_VERSION</ID>
<Content> 軟件標題 </Content>
</StringNode>english. xml 中將該節(jié)點 Content 字段內容定義為〈Content>Sof_tVersion〈/Content〉,語言版本適配類根據(jù)ID字段CS_S0FT_VERSI0N返〈Content〉字段內容。因此根據(jù) soft_config. xml 中的〈language〉節(jié)點描述決定讀取 Chinese, xml 或 english. xml,從而達到設置不同語言版本的目的;C、操作系統(tǒng)的調用,將操作系統(tǒng)平臺相關的操作封裝成操作系統(tǒng)適配器類。平臺相關的操作主要包括環(huán)境變量、路徑分隔符讀取 等。
權利要求
1.一種基于Java平臺的航天器測試軟件構架,其特征在于它包含 航天器摘要信息單元,用于提供與航天器的硬件、操作系統(tǒng)、總線通信以及支撐環(huán)境相關操作的基礎信息并獨立出來; 適配單元,用于接收與航天器的硬件、操作系統(tǒng)、總線通信以及支撐環(huán)境相關操作的信息,由硬件管理器、語言版本適配器、操作系統(tǒng)適配器和Java支持環(huán)境組成; 應用單元,與適配單元相互聯(lián)系,用于負責軟件的業(yè)務邏輯; Java虛擬機,用于將航天器摘要信息單元獨立出來的基礎信息封裝到適配單元中相對應的部分。
2.根據(jù)權利要求I所述的一種基于Java平臺的航天器測試軟件構架,其特征在于所述的操作系統(tǒng)為嵌入式操作系統(tǒng),包含Windows操作系統(tǒng)、LinuX操作系統(tǒng)。
3.根據(jù)權利要求I所述的一種基于Java平臺的航天器測試軟件構架,其特征在于所述的應用單元與適配單元通過XML格式配置文件相互聯(lián)系。
4.一種基于Java平臺的航天器測試軟件測試方法,其特征在于它包含以下步驟 (1)將與航天器的硬件、操作系統(tǒng)、總線通信以及支撐環(huán)境相關操作的基礎信息并獨立出來; (2)通過Java虛擬機,將航天器的基礎信息封裝到適配單元中相對應的部分,其中,硬件管理器中建立建立基于CBaseDriver的硬件適配器列表,并定義硬件適配器接口,經(jīng)過硬件適配器信息讀寫、處理函數(shù)和ID唯一性編號; (3)將適配單元中的信息通過接口傳遞給應用單元; (4)應用單元業(yè)務邏輯計算,所述的應用單元業(yè)務邏輯計算包括以下的內容 a、硬件的操作,通過Java本地接口(JNI)技術,硬件適配器定義一套調用本地動態(tài)鏈接庫文件的接口,硬件管理器根據(jù)統(tǒng)一分配的硬件ID號查找相應硬件適配器,并通過接口調用動態(tài)鏈接庫,從而對具體硬件進行操作; b、語言版本的設置; C、操作系統(tǒng)的調用。
全文摘要
本發(fā)明公開了一種基于Java平臺的航天器測試軟件構架及其測試方法,它包含航天器摘要信息單元、適配單元、應用單元以及Java虛擬機,經(jīng)過將與航天器的硬件、操作系統(tǒng)、總線通信以及支撐環(huán)境相關操作的基礎信息并獨立出來;通過Java虛擬機,將航天器的基礎信息封裝到適配單元中相對應的部分,將適配單元中的信息通過接口傳遞給應用單元,應用單元業(yè)務邏輯計算的過程。本發(fā)明的有益效果是統(tǒng)一采用Java平臺架構,該架構中實現(xiàn)了硬件管理器、語言版本適配器、操作系統(tǒng)適配器,將硬件操作、語言習慣及操作系統(tǒng)相關的特性從測試軟件中隔離出來,從而實現(xiàn)了針對不同硬件、語言習慣、操作系統(tǒng)的平臺無關的通用測試軟件。
文檔編號G06F11/36GK102662842SQ201210105198
公開日2012年9月12日 申請日期2012年4月11日 優(yōu)先權日2012年4月11日
發(fā)明者王麗霞, 胡業(yè)火, 莫應強 申請人:貴州航天風華精密設備有限公司