周勇吉 呂良慶 白云飛
(1 中國科學院國家空間科學中心,北京 101499)
(2 中國科學院大學,北京 101408)
隨著空間組網技術的發(fā)展,在星載系統(tǒng)中需實現部件的即插即用技術,因此需要在異構系統(tǒng)間進行信息的傳遞,實現互聯(lián)互通。電子數據單(Electronic Data Sheet,EDS)是某個系統(tǒng)中一個部件的自描述信息載體,是異構系統(tǒng)間傳遞信息的一種標準化數據格式,可以解決在信息傳遞過程中存在的數據標準、格式不統(tǒng)一的問題[1]。EDS一般采用可擴展標記語言(EXtensible Markup Language,XML)來描述,在互聯(lián)網通信及傳感器方面已經得到了廣泛的應用。國際空間數據系統(tǒng)咨詢委員會(Consultative Committee for Space Data Systems,CCSDS)提出了兩個與EDS 相關的標準,分別是XML描述的遙測遙控數據交換(XML Telemetric and Command Exchange,XTCE)[2-4]和航天器星載接口(SOIS)業(yè)務電子數據單(SOIS Electronic Data Sheet,SEDS)[5],XTCE用于描述在地面測試、設計系統(tǒng)間及星地之間傳遞的遙測遙控數據,SEDS用于描述星載設備及其接口關系。
EDS工具鏈[1]指的是基于一個標準的數據對象和應用場景而設計開發(fā)的一組EDS工具,可以實現該數據對象EDS 數據文件的自動編輯和轉換。因此,對于不同的標準和數據對象,應結合應用場景設計開發(fā)不同的EDS工具鏈。EDS工具鏈可以設計編輯模板格式,自動生成實例文件及二進制文件,用于異構系統(tǒng)間數據的無縫傳遞[6],本文中異構系統(tǒng)指的是不同的機構組織按照自身的需要設計的數據系統(tǒng)。國內外對XTCE 遙測遙控數據的模板文件格式進行了分析與設計[7-11],其可作為對應EDS工具鏈的起始數據文件。設計了基于XTCE 的遙測數據處理軟件架構[12-13]和遙控指令生成系統(tǒng)[14],可實現對應數據對象的EDS工具鏈基本功能。此外,還設計了基于SEDS的設備數據解析工具[6],實現實例文件到二進制文件的自動轉換。由于目前的EDS工具是基于一個數據對象獨立開發(fā)的,沒有考慮不同數據對象的EDS工具之間的關系,導致EDS工具不易擴展和重用。另外,EDS工具可能只實現了數據文件轉換的一部分過程,導致某些EDS數據文件不能自動生成,需要手動填寫,給用戶使用帶來困難。
為了解決上述問題,本文提出了一種EDS工具鏈的設計思路和架構模型,可以結合應用場景實現對應數據對象的EDS數據文件自動轉換的功能,并具有一定的通用性,不同標準、不同數據對象的EDS工具鏈都可基于此架構進行設計開發(fā)。以SEDS標準的1533B 數據總線為實例,對工具鏈架構設計進行驗證。本文為了解決業(yè)務和應用之間接口信息及其關系的描述問題,在SEDS基礎上提出了航天器業(yè)務電子數據單(Service-SEDS,S-SEDS)的概念并設計其元素結構,可使用本文提出的通用架構設計其EDS工具鏈。
對于符合XTCE標準的遙測數據,其工具鏈可將衛(wèi)星設計階段、地面測試階段或在軌運行階段的源數據,打包形成統(tǒng)一格式的遙測數據實例文件,在各個異構系統(tǒng)間進行無縫的信息傳遞。通過在異構系統(tǒng)間規(guī)范EDS數據文件的標準和格式,就可以在不改變原有系統(tǒng)設計的情況下傳遞數據對象的信息[6]。結合XTCE 遙測數據的應用場景,基于XTCE 標準的遙測數據數據流轉換關系如圖1所示。
圖1 基于XTCE標準的遙測數據數據流Fig.1 Telemetry data stream based on XTCE standard
遙測數據通常由包頭、副導頭、數據組成遙測數據包[2-4]。在進行模板文件設計時,為了通用起見,將包頭、副導頭與數據內容分成不同的模板文件。在設計好各自部分的組成結構后再進行合成,形成一個模板文件。將在衛(wèi)星測試或在軌運行期間獲得的數據填入模板文件中,生成實例文件[7]。
對于符合XTCE標準的遙控數據,其工具鏈可根據用戶填寫的遙控指令參數數據,由模板文件生成指令文件,提供給測試系統(tǒng)或運控系統(tǒng)用于指令的上行注入。結合XTCE遙控數據的應用場景,基于XTCE標準的遙控數據數據流關系如圖2所示。
圖2 基于XTCE標準的遙控數據數據流Fig.2 Command data stream based on XTCE standard
數據注入指令通常由指令包頭、指令副導頭、指令數據組成指令包[2-4]。在上行遙控注入的時候,需要將多個指令包組裝到數據注入包中。因此,在進行模板文件設計時,需要將指令包頭、指令副導頭、指令數據、注入包頭、注入副導頭單獨編輯成不同的模板文件。在衛(wèi)星測試和在軌運行期間需要使用時,可進行編輯,填入指令所需的參數數值,生成指令實例文件。當所有指令實例文件生成后,由于需要組成數據注入包,因此需要將它們都轉換成二進制格式,再進行組包,形成可以直接上行注入的數據注入包。
不同的EDS工具鏈描述的數據對象和應用場景也不同,可按照對應數據對象的數據流轉換各階段對EDS工具鏈進行功能劃分,對各部分工具進行開發(fā),有利于工具鏈的擴展和工具的重用,可以結合應用場景選擇組合各部分工具。
因此,基于上述介紹的XTCE 遙測數據和遙控數據的數據流關系,對其各自的工具鏈劃分和應用背景總結見表1。
表1 基于XTCE標準的工具鏈劃分Table 1 Tool chain based on XTCE standard
SEDS標準主要用于描述星載設備接口信息及其關系,SEDS標準的元素結構如圖3所示[5],描述了設備接口的元素組成格式。
圖3中包元素描述了一組接口信息和對應的組件信息及其數據類型,設備元素通過其下的元數據元素對包中定義信息再組合成模板文件,進一步可以對參數信息賦值,組成完整的描述設備接口的實例文件。
圖3 SEDS標準元素結構圖Fig.3 SEDS element structure
接口元素中包含了參數、指令、已有接口的引用,以及對其他接口類型泛型的定義,可以根據需要使用不同的基本數據類型、數組、容器等來定義多樣的信息類型,如復雜的數據總線、機、電、熱等接口。
對于符合SEDS標準的星上設備數據,其工具鏈可以設計編輯模板格式,根據用戶填寫的參數數據,生成實例文件,當互聯(lián)雙方是對等機構組織設計的系統(tǒng)時,實例文件是對外表達的自描述信息,其作用類似于個人名片,用來在異構系統(tǒng)之間交換設備接口信息[6]。工具鏈還可以實現實例文件到二進制文件的自動轉換,再將二進制文件固化到星上設備中,當設備接入系統(tǒng)時,在即插即用協(xié)議基礎上,標準和格式統(tǒng)一化的二進制文件作為數據內容在星上設備間、設備與系統(tǒng)間交換傳輸,有助于實現設備的即插即用技術。結合SEDS設備接口數據的應用場景,基于SEDS標準的一般性通用設備接口數據數據流關系如圖4所示。
圖4 基于SEDS標準的設備接口數據數據流Fig.4 Device interface data stream based on SEDS
設備接口數據通常由包頭、副導頭、數據組成設備接口數據包,也可以不使用數據包的形式,直接采用數據描述。在進行模板文件設計時,為了通用起見,將包頭、副導頭與數據內容分成不同的模板文件,再進行合成,形成一個模板文件,此時包頭和副導頭部分是可選的。根據填入的設備接口參數數值,生成實例文件,再根據設備的不同選擇是否轉換成二進制文件,形成可以直接配置在設備中的數據文件。
基于上述介紹的SEDS設備接口數據的數據流關系,對其工具鏈的劃分和應用背景總結見表2。
表2 基于SEDS標準的工具鏈劃分Table 2 Tool chain based on SEDS
航天器系統(tǒng)的組成部件在概念上可分為設備、業(yè)務、應用,它們可以有各自獨立的EDS,也可以相互關聯(lián)[15]。業(yè)務部件可以包括包標準(Packet Utilization Standard,PUS)中規(guī)定的標準業(yè)務類型[16]。因此,在設備接口的基礎上,為了描述星載航天器業(yè)務接口及其關系的信息,主要針對PUS中的業(yè)務,以SEDS標準為基礎補充設計了S-SEDS,其元素結構見圖5。
圖5 S-SEDS標準元素結構圖Fig.5 S-SEDS element structure
S-SEDS是對業(yè)務信息的實例化,提供了一種業(yè)務間信息交換傳遞的方法,在內容上包括數據和方法,即業(yè)務接口信息和行為。SEDS是從信息視角描述了設備的接口對象信息,如數據格式、語義語法的定義等。S-SEDS是從功能視角描述了業(yè)務的接口對象的處理信息,如數據處理的方法和功能的定義。
對比SEDS,S-SEDS主要有兩處修改:①用業(yè)務元素替換設備元素;②用子業(yè)務元素替換了組件元素,并在其中增加了對業(yè)務接口可提供的行為和所需要的行為信息的描述。
按照前文所述的EDS 工具鏈設計思路,S-SEDS工具鏈的數據流轉換關系和工具鏈功能劃分情況與SEDS 相同,詳見2.2 節(jié)的圖4 和表2。S-SEDS的業(yè)務接口信息的應用場景,與SEDS的設備接口信息相比,設備接口信息一般相對固定,而業(yè)務信息的變化會更頻繁一些,二者對工具鏈的使用需求不太相同,但整體思路類似。
S-SEDS中業(yè)務元素與SEDS中設備元素描述和使用方法相同,其差別在于描述的數據對象不同,都可以對數據對象的參數進行實例化賦值。
S-SEDS中子業(yè)務元素中包括提供行為元素、所需行為元素、提供接口元素和所需接口元素。SEDS中組件元素描述的狀態(tài)機和行為可作為S-SEDS中提供行為元素描述的內容,而其他三個元素都可以直接引用行為或接口的名稱,可描述業(yè)務接口之間的關系。
因此,S-SEDS實例文件中包含了業(yè)務接口信息及其關系的內容,可作為業(yè)務與其他業(yè)務之間互相協(xié)同工作所需要的信息在業(yè)務間傳遞。同時,S-SEDS為業(yè)務接口信息標準和格式的統(tǒng)一化提供了解決方法,雙方都采用同樣的標準、格式可使業(yè)務信息被其他業(yè)務識別,有助于在異構系統(tǒng)間進行業(yè)務接口信息的交換。
S-SEDS的元素結構是以SEDS 標準為基礎的,二者的主要區(qū)別在于所描述數據對象的層次不同,SEDS可以描述設備接口及其關系,因此使用SSEDS來描述業(yè)務信息是合理的。對比SEDS標準的元素結構,S-SEDS有兩處修改,但其元素結構在總體上仍符合SEDS標準,SEDS 目前已經得到了應用,因此使用S-SEDS來描述業(yè)務信息是可行的??梢园凑誗-SEDS工具鏈的劃分情況,進行S-SEDS工具鏈的設計開發(fā),從而有助于實現業(yè)務級的即插即用技術。
對于XTCE和SEDS標準,二者都是EDS的應用標準,區(qū)別在于描述的數據對象不同。雖然應用場景有所不同,但二者的EDS數據文件轉換流程大體上類似,因此可以采用同樣的思路分別對各數據對象的EDS工具鏈進行設計。結合前文所述三種數據對象的數據流轉換關系和工具鏈劃分情況,提出了EDS工具鏈的通用架構設計方案,如圖6 所示。EDS工具鏈通用架構應該包括各種數據對象可能具備的全部EDS數據文件處理功能,并允許用戶根據數據對象及應用場景的不同選擇并組合各功能模塊,其通用性表現在不同標準、不同數據對象的EDS工具鏈都可基于此架構進行設計開發(fā),提高開發(fā)效率。
圖6 EDS工具鏈通用架構Fig.6 General architecture of EDS tool chain
架構上分為3層,從上至下分別為表示層、業(yè)務邏輯層、數據訪問層。表示層的用戶界面可供用戶選擇要執(zhí)行的操作、填寫參數數據。業(yè)務邏輯層是EDS工具鏈中處理數據和文件的部分,其中的5個功能模塊對應EDS工具鏈處理數據文件的各部分過程。數據訪問層的數據庫管理模塊與數據庫相連接,可以對數據庫中存放的3種EDS數據文件執(zhí)行增刪改查操作。
以1553B數據總線EDS為實例,對EDS工具鏈通用架構的設計進行驗證。1553B數據總線的EDS格式見表3,按照此格式對基于SEDS的1553B數據總線EDS模板文件進行設計。
表3 1553B數據總線EDS格式Table 3 1553B data bus EDS format byte
基于SEDS的1553B 數據總線EDS工具鏈按照圖6中的通用架構層次進行設計。
從用戶使用角度來說,用戶無需熟悉SEDS標準及EDS數據文件的格式,只需按照工具鏈軟件的操作流程填寫參數數據,工具鏈可以根據這些信息在后臺將模板文件轉換為實例文件,并進一步轉換為二進制文件,全程自動化,用戶無需編輯數據文件,對用戶友好。工具鏈可將生成的三種EDS數據文件分別保存在數據庫中,供用戶查看和使用。
從工具鏈自身角度來說,工具鏈是在地面使用的,其生成的實例文件遵循SEDS標準和統(tǒng)一的格式,在地面測試階段可在異構系統(tǒng)之間進行設備接口信息的傳遞。衛(wèi)星在軌運行期間,工具鏈生成的二進制數據文件可以填入到XTCE 遙控指令數據文件的數據域中,作為透明傳輸的數據塊,上行注入到星載設備中,設備信息可以被系統(tǒng)及其他設備識別并讀取,有助于實現設備間的信息交換以及設備的即插即用技術。
部分EDS數據文件的轉換內容見圖7,文件的結果符合EDS標準和格式的要求,可以正確實現預期的EDS數據文件自動轉換功能,驗證了EDS工具鏈設計思路的正確性和EDS工具鏈通用架構設計的可行性。對于其他數據對象的EDS工具鏈,也可基于EDS 工具鏈通用架構進行設計開發(fā),實現EDS數據文件的自動轉換。
圖7 部分文件轉換內容圖Fig.7 Part of converted content of files
在SEDS數據文件中可能包含遙測遙控數據,這一部分可以使用XTCE 來描述,因此可以在SEDS實例文件中直接導入XTCE 實例文件,其他信息如設備接口參數仍由用戶來填寫。
SEDS標準中有導入包文件的XInclude關鍵字機制[5],由于SEDS包文件和XTCE 的遙測遙控文件處理方式不同,為了有所區(qū)分并導入XTCE 實例文件,在EDS工具鏈實例中設計了功能類似的CInclude關鍵字。在SEDS實例文件中描述遙測遙控數據的元素節(jié)點位置,通過CInclude關鍵字導入XTCE實例文件。EDS 工具鏈在進行實例文件解析時,可以識別CInclude關鍵字,并解析其導入的XTCE實例文件內容,獲取遙測遙控信息,可在一定程度上避免重復編寫和信息冗余。
表4列舉了兩類EDS工具鏈的使用效果。從表中可以看出,基于本文提出的通用架構設計開發(fā)的EDS工具鏈在通用性、自動生成數據文件完整程度以及對用戶的要求方面都具有一定的優(yōu)勢,可以提高EDS數據文件的設計效率。
表4 不同EDS工具鏈使用效果對比Table 4 Comparison of effects of different EDS tools
本文提出了EDS工具鏈的設計思路,結合應用場景介紹了數據流轉換關系,為驗證工具鏈劃分的正確性以及EDS 工具鏈的通用架構的可行性,以1553B數據總線的EDS為實例進行了驗證,能夠正確實現數據文件的自動轉換,有助于實現設備信息交換和設備級的即插即用技術,該設計思路和方案具有一定的通用性。本文在SEDS的基礎上,提出了描述業(yè)務接口信息及其關系的S-SEDS,為業(yè)務層面的數據交換提供了解決方法。
在空間數據系統(tǒng)中采用EDS來描述信息,可以解決異構系統(tǒng)互聯(lián)互通的問題,但是需要建立相關的EDS標準,并且在基于模型的系統(tǒng)工程(Model Based System Engineering,MBSE)[17-18]的開發(fā)方式下,配備工具鏈才有可能發(fā)揮其應有的作用。未來可基于本文提出的S-SEDS和通用架構設計業(yè)務EDS工具鏈,可自動生成業(yè)務接口數據文件。EDS工具鏈生成的數據文件為人-機之間和機-機之間交換數據信息提供標準化的方式,并保證數據的一致性和可靠性,在即插即用協(xié)議的基礎上,進而有助于實現星載系統(tǒng)中部件的即插即用技術。