余晟 向永清 宋宏江
(北京空間飛行器總體設計部,北京 100094)
基于插件的航天器測試總控軟件系統設計
余晟 向永清 宋宏江
(北京空間飛行器總體設計部,北京 100094)
目前,我國測試總控軟件系統存在總控核心軟件版本較老、維護和升級困難、系統開放性不足、缺少統一的標準和規范等問題,文章提出了一種基于Java OSGi標準的插件化總控軟件系統(PMCS),對PMCS軟件的體系架構設計和技術路線進行了詳細介紹。PMCS基于地面監視與控制模型(MCM),采用動態可配置的插件化體系結構,并將功能模塊劃分為核心模塊和擴展模塊,核心模塊可在不同任務間通用,擴展模塊可以根據需要進行靈活的部署和修改。經驗證,文章提出的技術路線切實可行,可為我國地面總控軟件系統的研發提供參考。
航天器測試;基于插件;總控軟件;系統架構
航天器地面測試系統由前端測試設備和總控測試設備組成[1]。航天器總控測試設備用于航天器整星電性能測試,是測試過程中的指揮監控管理中心。航天器測試總控軟件系統是航天器地面總控設備的“大腦”,負責在地面測試過程中對航天器、地面測試設備以及數據流進行統一的控制與管理,使用周期涵蓋航天器從組裝到發射的各個階段。測試總控軟件系統的主要功能包括建立航天器測試基礎信息庫,建立航天器判讀知識庫,完成航天器測試期間遙測數據的接收、處理、顯示,提供數據的顯示、查詢和分析功能,對遙控指令發送進行管理和控制,實現對航天器的狀態設置等等[2]。
目前,具有代表性的地面總控軟件系統包括美國國家航天局(NASA)的GMSEC系統[3]和歐洲航天局(ESA)的SCOS-2000[4-5]系統。GMSEC系統定義了一套開發的框架和協議,任何符合此標準協議的軟件都可以為其服務。與GMSEC系統不同,SCOS-2000系統是一套專用軟件,采用服務器/客戶端結構,服務器主要負責數據處理工作,客戶端則負責任務管理和界面顯示工作。我國對地面總控軟件系統的研究起步較晚。20世紀90年代初,我國引入ESA的ETOL總控系統,ETOL是類似SCOS-2000系統的服務器/客戶端軟件,缺點是軟件專用化程度非常高,修改軟件用于不同型號測試任務的成本很高,隨著我國航天器任務的日益增多,ETOL系統無法滿足研制需求。20世紀初,我國組織技術力量成功研制了國產測試總控軟件系統衛星測試平臺(Satellite Testing Suite,STS)[6],STS系統兼具GMSEC和SCOS-2000系統的特點,采用了以主測試處理機(Main Testing Processer,MTP)軟件為核心,基于標準通信協議的分布式軟件體系結構,最新版本STS3000具備自動化測試、集成信息管理、自動判讀等多項功能,應用廣泛,大幅提升了我國衛星測試效率。
隨著以深空探測器為代表的在研航天器的功能變得越來越復雜,現有的STS系統存在一些不足之處:①STS系統以MTP軟件為核心,MTP軟件使用C語言開發,基于較老版本的Linux系統,專用程度高,對不同航天器都需要進行適應性修改和升級。軟件版本不統一,可靠性和穩定性存在一些問題,且維護和再升級工作比較困難。②STS系統軟件體系開放性不足,增加對新的通信協議的支持比較困難,不利于新技術的兼容和引入。③現有總控軟件缺少統一的標準和規范,不同部門和公司開發的軟件難以共享,導致不必要的重復開發。
為了解決這些問題,文章提出了一種基于Java開放服務網關協議(Open Service Gateway Initiative,OSGi)標準[7-8]開發的地面插件化總控軟件系統(Plug-in Based Monitoring and Control Software,PMCS)。OSGi標準是由OSGi聯盟制定的一種基于Java語言的動態模塊化軟件框架。OSGi將每個軟件模塊封裝為獨立的插件(Bundles),每個插件可以進行動態的加載和卸載而不影響其他插件的運行。基于OSGi標準開發的軟件具有良好的模塊化、并行化和跨平臺的特點,適合構建大型分布式應用軟件系統。在PMCS系統中,為適應不同航天器測試任務的需要,插件分為核心功能插件和可擴展功能插件。其中,核心功能插件涵蓋了軟件的基礎框架和各個型號、階段通用的總控功能。可擴展功能插件則根據每個任務具體的需求進行自定義。本文首先對總控系統MCM模型進行介紹,然后詳細介紹PMCS系統的軟件架構和擬采用的技術路線,最后加以總結并對未來工作進行展望。
航天器監視與控制模型(Monitoring and Control Model,MCM)是對航天器系統從監視與控制的角度建立的模型,模型中包含了系統中與監視與控制相關的所有功能(如參數處理、活動調度、事件處理等)和所有數據的處理接口,MCM對地面總控軟件系統的功能進行完整的邏輯抽象。MCM是歐洲合作航天標準(European Cooperation for Space Standard,ECSS)中E-ST-70-31C[9]中提出的航天器系統模型(Spacecraft System Model,SSM)的衍生。在MCM中,整個航天器系統根據監視與控制功能被分解為不同的功能模塊,這些功能模塊稱為系統元素(System Element,SE)。圖1是航天器MCM模型示例圖。
在MCM模型中,交付用戶的衛星系統產品由分層化的系統元素組成。將航天器項目中星上與地面系統中與衛星監視與控制相關的部分稱之為航天器總控系統。如圖1所示,航天器總控系統可以劃分為星上監視與控制系統和地面總控系統,地面總控系統又可以劃分為專用測試設備和總控軟件系統等。子層系統元素是上層系統元素的進一步分解。MCM模型中的系統元素可以是分系統、設備、硬件產品或軟件產品等,而且并不一定與實際的物理對象相對應,系統元素對應的是具體的數據結構,用于將與總控活動相關的信息組織成為一個完整的分層結構。

圖1 航天器項目MCM模型示例Fig.1 Example of the MCM for a spacecraft project
在MCM模型中,與總控活動相關的所有信息被歸為3類,活動、時間和報告數據[6],每個系統元素由這3類信息定義。以下對這3類信息進行介紹。
(1)活動:指總控系統支持的功能。這一功能既可以是在地面總控系統中直接執行的功能,也可以是總控系統通過發送指令在星上或者其他分系統專用設備上執行的功能。
(2)事件:指整個系統中滿足預先設置條件的某一狀態或多個狀態的改變。事件用于觸發活動的執行。
(3)報告數據:指系統元素在運行過程中產生的信息。報告數據可以用于判斷該系統元素的狀態,也可以提供給其他系統元素作為輸入。
MCM模型中,通過活動、事件和報告數據可以完全描述一個系統元素在總控系統中所完成的功能。此外,這3類信息又進一步被分為靜態和動態兩類。靜態信息包含在航天器的設計和開發階段產生的所有總控相關信息的數據,這一部分信息在具體總控活動中是不會發生改變的,所以又可稱為靜態知識庫。動態信息則是在航天器的AIT和在軌控制階段產生的所有總控相關信息,具體總控活動中是不斷變化的,因此又可以稱為總控系統狀態。MCM模型將行為和數據,通用功能和專用功能,靜態信息和動態信息在邏輯上進行分離
MCM模型覆蓋星上和地面系統,與具體的型號與任務無關。目前我國對整星監視與控制系統尚未有統一的標準化模型,本文通過建立MCM模型,一方面可以理清地面總控軟件系統功能與星上總控系統功能之間的接口關系,另一方面有利于指導通用模塊化的地面總控軟件系統的設計工作。
PMCS軟件系統用于航天器地面測試過程,負責在地面測試過程中對所有星上和地面設備進行設置、管理和控制的工作,是航天器地面測試系統的核心組成部分。PMCS軟件系統主要功能包括遙測數據解析、判讀和顯示,遙控指令編碼、檢驗、發送和序列管理,進行測試數據的分發、歸檔、入庫和查詢,進行測試設備統籌管理以及向測試人員提供圖形交互界面等。
PMCS軟件系統的核心設計思想是采用插件化的系統結構,插件間通過服務總線和消息總線進行通信,整體軟件系統分為核心功能部分和擴展功能部分,在保證系統通用性的同時盡量增加系統的可擴展性。PMCS軟件系統采用的關鍵技術包括:①采用OSGi開發框架進行插件化設計,OSGi是目前基于Java的動態模塊化軟件實現的主流標準,PMCS軟件系統均由插件構成,插件相互獨立,插件的開發者只需要知道其他插件提供的服務接口而不必關心其服務的具體實現,非常適合分布式的開發工作。②插件間通過服務總線進行插件間代碼調用,插件通過向服務總線發布服務來向外提供接口,通過訂閱服務來調用接口。服務總線機制由OSGi框架提供,服務的具體實現對其他插件來說是不可見的。插件間通過消息總線進行數據通信,插件向消息總線發布數據,通過訂閱數據來接收數據。插件與服務總線和消息總線的接口進行標準化,實現接口與具體實現的分離。③將整個系統劃分為核心功能插件集和擴展功能插件集,其中核心功能插件實現基礎通用功能,擴展功能插件實現某個具體任務的專用功能。核心功能插件在不同任務間可以直接移植,不需要進行修改,而擴展部分向用戶提供參考。系統由許多獨立的功能模塊組成,對模塊的內部修改不會影響其他模塊的功能。這樣可以很大地增強系統的通用性和可移植性。
從整體上看,PMCS軟件的核心功能部分包括基礎功能層、數據管理層和總控核心功能層,擴展功能部分包括協議轉換層、準備工具層和用戶交互層。這些層之間的關系如圖2所示。下面對每個層包含的主要功能插件以及這些插件之間的關系進行簡要的介紹。

圖2 PMCS軟件體系分層結構示意圖Fig.2 Layer architecture of the PMCS system
基礎功能層中的插件為其他插件提供基礎功能庫,這些功能通過服務的方式向外發布。基礎功能層包括的主要插件有:①用戶管理插件:提供接入總控軟件系統的用戶身份的認證服務,是重要的安全機制;②配置管理插件:為整個系統提供統一的配置管理服務,保存系統配置項,其他插件可以通過獲取配置管理插件的服務來進行配置文件管理操作;③消息服務插件:提供軟件內部進行數據通信的標準服務接口,主要功能包括實現不同格式數據的序列化(serialization)通信。④日志管理插件:為整個系統提供日志服務。
數據管理層中的插件主要為上層總控功能提供與數據相關的服務。數據管理層包括的主要插件有:①數據結構定義模塊:定義總控有關的重要數據結構;②數據庫服務接口插件:向上層提供封裝好的數據庫服務,隱藏具體的數據庫信息;③數據庫服務實現插件:實現對某個具體的數據庫軟件的操作功能。
總控功能層中的插件提供總控系統核心業務邏輯的具體實現。總控功能層中包括的主要插件有:①遙測數據處理插件,負責從遙測前端或歸檔數據庫中獲取遙測數據并進行處理;②遙控指令管理插件,負責獲取遙控指令信息,并向遙控前端發送遙控指令;③指令序列管理插件,提供管理指令序列的服務;④測試數據歸檔插件,提供將測試數據保存于歸檔數據庫的服務;⑤測試數據查詢插件,提供從歸檔數據庫中查詢歷史測試數據的服務。
以上核心功能層包含的模塊在設計時需要滿足通用性的要求,插件提供的服務接口應在設計過程中加以確定,服務的內部實現盡量與某個具體任務無關,在不同任務的使用中盡量減少對核心功能插件代碼的修改。核心功能層上是擴展功能層,擴展功能插件的內容可以根據任務的具體需要進行適應性修改。擴展功能層包括協議轉換層、準備工具層和用戶工具層。
協議轉換層的主要功能是進行與具體任務相關的數據格式的轉換與解析,包括遙控指令、遙測數據、設備管理數據以及需要與外部軟件通信的數據。該層包含的主要插件有:①遙測數據接收插件,從遙測前端接收遙測數據并將原始數據轉換為具體工程值;②遙控指令發送插件,封裝指令內容并發送給遙控前端;③SCOE管理插件,負責進行SCOE設備的管理;④外部通信協議插件,提供發送和接收負責外部通信協議的數據的服務。
準備工具層指在某項具體任務的準備階段對軟件進行有關設置的工具。該層包含的主要插件有:①數據規則設置工具,為用戶提供設置遙測數據的解析和判斷規則、指令封裝和校驗規則等工具;②軟件配置管理工具,為用戶提供軟件配置文件的編輯工具。
用戶交互層的主要功能是在測試過程中向測試人員提供交互的圖形界面。圖3表示PMCS軟件的體系架構。
PMCS軟件系統是地面測試系統的核心組成部分,基于PMCS軟件搭建的地面測試系統總體結構如圖4所示。

圖3 PMCS軟件系統體系架構圖Fig 3 Software architecture of the PMCS system

圖4 基于PMCS系統的航天器地面總控測試系統Fig.4 An illustration of a ground testing monitoring and control system based on PMCS
PMCS軟件基于開源的Java OSGi技術實現。Java OSGi技術是一種基于Java語言的軟件動態模塊化技術,OSGi的技術規范由Adobe、IBM、Oracle、SAP、Red Hat和Siemens等公司組成的OSGi聯盟共同制定。最初OSGi規范只關注于嵌入式領域,前3個版本的OSGi規范主要滿足諸如機頂盒、服務網關、手機等應用的模塊化需求,從第4個版本開始,OSGi將主要關注點轉向了Java標準版(Standard Edition,SE)和企業版(Enterprise Edition,EE)領域,并在這些領域中獲得了很大的發展,成為Java平臺事實上的模塊化規范。采用Java OSGi技術實現的軟件是由一定數量的被稱為插件(Bundle)的代碼單元構成,OSGi技術框架主要提供了插件的執行環境、生命周期管理和依賴關系管理等功能,同時OSGi規范還提供了很多的OSGi標準服務,如事件管理、日志管理、配置管理和HTTP服務等等,可以滿足多種多樣的開發場景的需要。
實現了Java OSGi技術規范的知名開發框架有Eclipse Equinox、Apache Felix等。與傳統的Spring、EJB、Hibernate等企業級Java軟件框架相比,OSGi技術的目標是從底層提供軟件模塊化的支持。采用OSGi技術的優點包括:①提供標準的軟件動態模塊化解決方案,開發人員不需要考慮軟件模塊化的實現細節,只需專注于具體的業務邏輯的實現,模塊生存周期以及模塊間依賴關系的管理只需要交給OSGi運行框架去管理;②系統可裁剪,開發人員在不同項目里可根據需要的選擇合適的插件來組成新的系統,因此核心插件具有很好的可復用性,擴展插件可以靈活配置;③支持基于插件的版本管理,可以對單個插件發布新的版本,降低了軟件升級和測試的難度;④體系結構開放,可與其他Java EE框架(如Spring、EJB、Hibernate等)結合開發功能強大的軟件系統。圖5顯示了在PMCS軟件系統中擬采用的Java和OSGi規范的開源技術框架。

圖5 PMCS軟件系統技術路線示意圖Fig.5 Technical roadmap of the PMCS system
本文介紹航天器總控功能的MCM模型,提出了基于該模型PMCS軟件系統的設計方案。PMCS的核心設計思想包括采用OSGi技術規范進行軟件的模塊化設計和將整個系統劃分為核心功能插件集和擴展功能插件集,其中內核模塊在不同任務間通用,擴展模塊根據具體任務需要修改。本文對PMCS軟件系統的功能需求、體系架構以及技術路線進行了詳細的介紹。未來將在衛星測試工作中驗證軟件的有效性,并結合開放式的開發框架探索數字化虛擬測試、大數據智能化測試等前沿發展方向。
(References)
[1]王慶成.航天器電測技術[M].北京:中國科學技術出版社,2007 Wang Qingcheng.Electrical test technology of spacecraft[M].Beijing:China Science and Technology Press, 2007(in Chinese)
[2]朱維寶,孫波,李砥擎.航天器綜合測試系統設計[J].計算機測量與控制,2009,17(8):1457-1466 Zhu Weibao,Sun Bo,Li Diqing.Design of spacecraft overall checkout system[J].Computer Measurement& Control,2009,17(8):1457-1466(in Chinese)
[3]Danford S S,Bristow,John O B,et al,A successful component architecture for interoperable and evolvable ground data systems[R].USA:Goddard Space Flight Center,2006
[4]張曉光,魏晨曦,焦文.歐洲空間局第三代任務控制系統—SCOS2000[C].航天測控技術研討會.北京:中國宇航學會,2005 Zhang Xiaoguang,Wei Chenxi,Jiao Wen.The third generation mission control system of ESA-SCOS200[C].The Seminar of Space Measure and Control Technology.Beijing:Chinese Society of Astronautics,2005(in Chinese)
[5]Matthew C,Giuseppe C,Gianluca M.et al.SCOS-2000 release 5:a milestone in the evolution of the MCSInfrastructure at ESOC[C].SpaceOps 2006 Conference.Paris:ESA,2006
[6]孫亞楠,涂歆瀅,向開恒,等.航天器仿真與測試一體化系統[J].航天器工程,2009,18(1):73-78 Sun Yanan,Tu Xinying,Xiang Kaihen,et al.Integrated system for spacecraft simulation and testing[J]. Spacecraft Engineering,2009,18(1):73-78(in Chinese)
[7]OSGi Alliance.OSGi release 6 specification[S].San Ramon:OSGi Alliance,2014
[8]Pecchioli M.Objectives and concepts of the european ground systems common core(EGS-CC)[C]//Simulation and EGSE Facilities for Space Programmes.Noordwijk.Paris:ESA,2012
[9]ESA.ECSS-E-ST-70-31C:Ground systems and operations-monitoring and control data definition[S].Paris:ESA,2008
(編輯:李多)
Design of Software System Based on Plug-ins for Monitoring and Control in Spacecraft Testing
YU Sheng XIANG Yongqing SONG Hongjiang
(Beijing Institute of Spacecraft System Engineering,Beijing 100094,China)
The current monitoring and control software for spacecraft testing in our country has several drawbacks,such as old hardware and software platform,high complexity for maintenance and upgrade,closed software framework and lack of unified software specifications and standards. This paper proposes a design of a plug-in based monitoring and control software(PMCS)system,and introduces the architecture and technologies used in PMCS in details.PMCS is based on the monitoring and control model(MCM)of the ground monitoring and control system and consists of many dynamic and reconfigurable plug-ins The software modules of PMCS can be classified into kernel modules and reference modules.The kernel modules construct the common core among different tasks and the reference modules can be modified to meet specified needs.Through verification,the technique of PMCS is applicable,and PMCS can be used as a reference for the research and development of ground monitoring and control software in our country.
spacecraft testing;plug-in based;monitoring and control software;system architecture
V557.1
:ADOI:10.3969/j.issn.1673-8748.2015.05.018
2015-03-31;
:2015-08-27
余晟,男,博士,工程師,從事航天器綜合測試設計工作。Email:yusheng00@hotmail.com。