• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于SOIS EDS的實例化設計

      2020-09-29 08:08:56張煦冬呂良慶安軍社
      計算機工程與設計 2020年9期
      關鍵詞:實例總線解析

      張煦冬,呂良慶,安軍社

      (1.中國科學院復雜航天系統(tǒng)電子信息技術重點實驗室 國家空間科學中心,北京 100190;2.中國科學院大學 計算機與控制學院,北京 100049)

      0 引 言

      針對不同的任務需求,航天器設計出現(xiàn)了種類繁多的接口方式和通信方案,工程項目中的星上數(shù)據(jù)管理系統(tǒng)往往是個性化設計,使得跨項目重用設備、部件、軟件的難度增大。為解決這一問題,特別是跨組織的互聯(lián)互通,空間數(shù)據(jù)系統(tǒng)咨詢委員會(consultative committee for space data systems, CCSDS)開展了航天器接口業(yè)務(space onboard interface services, SOIS)領域的研究工作[1]。SOIS領域主要解決的是航天器數(shù)據(jù)管理的接口服務問題。SOIS架構針對航天器系統(tǒng)設計提出了標準的層次劃分,使得個性化設計的設備、部件可以在幾乎不更改軟件的情況下連入系統(tǒng)。為此SOIS工作組提出了基于SOIS架構的EDS(SEDS)的相關建議標準。

      1 SEDS簡介

      為解決異構部件的兼容使用問題,每個部件需要一個自描述EDS,內(nèi)容是數(shù)據(jù)格式、接口、功能、協(xié)議等[2]。當一個部件要接入一個系統(tǒng)時,系統(tǒng)通過解析這個部件的EDS,獲得它在系統(tǒng)中運行所需要的信息,實現(xiàn)對部件的識別和配置。符合CCSDS SOIS 876.0[3]規(guī)定的EDS稱為SOIS EDS(SEDS)。在SEDS文件中按照SOIS的層次劃分描述部件的信息,支持SOIS架構的實現(xiàn)。SEDS所使用的元素和類型的抽象概念及其之間的關系如圖1所示。

      圖1 SEDS的關鍵元素和抽象類型[3]

      SEDS文件使用可擴展標記語言(eXtensible Markup Language, XML)[4]按照圖1描述系統(tǒng)定義,構建XML文件。

      圖1中,SEDS以Datasheet元素為根元素,Package元素包含Data Type、Interface、Component這3部分,其中Data Type包括9種數(shù)據(jù)類型的定義:兩種復雜數(shù)據(jù)類型,數(shù)組類型、容器類型;6種標量類型變量,整型、二進制型、枚舉型等;一種范圍數(shù)據(jù)類型,表示變量的取值范圍。

      SEDS元素類型分為兩類,語法類型和語義類型。語法類型指SEDS元素的拼寫語法規(guī)則,比如特定的字符串、變量的比特數(shù)、變量的編碼方式等。語義類型指SEDS元素代表的行為和含義[1]。在SEDS XML文件中使用的元素和屬性的標簽所對應的這兩類類型在術語字典(dictionary of terms, DoT)[5]中定義。DoT以XML Schema的形式供用戶使用。

      文件對象模型(document object model, DOM)[6]是解析XML文件的方法之一。XML和DOM都是萬維網(wǎng)聯(lián)盟(world wide web consortium, W3C)的推薦標準。DOM解析文件的方法是將XML文件的元素作為節(jié)點組成樹形數(shù)據(jù)結構[7],通過對樹的通用訪問,實現(xiàn)對信息的歸納。很多程序設計語言(如java,python)都支持DOM方法。

      2 基于SEDS的系統(tǒng)設計

      采用EDS進行星載軟件設計的路線需要解決工具鏈的建設和EDS的設計問題。

      EDS的編輯、傳遞和解析,以及系統(tǒng)內(nèi)部的管理信息庫(management information base, MIB)[8]配置過程應該是工具化的,即工具鏈設計。異構系統(tǒng)之間交換EDS需要的轉(zhuǎn)換工具如圖2所示。

      異構系統(tǒng)是由不同機構組織按照自身的需要設計的,在需要進行互聯(lián)互通時,異構系統(tǒng)及其軟件系統(tǒng)提供的功能業(yè)務都需要繼承使用,而不是重新設計。這也是引入EDS概念的應用背景之一。為此,異構系統(tǒng)之間傳遞的EDS應遵循統(tǒng)一的標準(如CCSDS由space assigned numbers authority(SANA)統(tǒng)一管理的、用XML描述的SEDS[9])。通常設備方將自身的信息(requirement list, RL)按照系統(tǒng)要求的實現(xiàn)一致性聲明(implementation conformance statement, ICS)的規(guī)則,使用ICS編輯工具或手工填寫數(shù)據(jù)表單。876.0中有ICS的推薦內(nèi)容,可以根據(jù)需要補充設計,類似于接口數(shù)據(jù)單(interface data sheet, IDS)。設備方可以通過SEDS編輯工具,或直接手工編輯,生成SEDS的XML文件。

      系統(tǒng)方接收的個性化EDS文件用以繼承系統(tǒng)內(nèi)部的數(shù)據(jù)設計。道理上EDS文件是對外的數(shù)據(jù)隔離墻,可以進行統(tǒng)一設計。但是由于繼承系統(tǒng)內(nèi)部原有的設計未必是規(guī)范化的,而且不同業(yè)務的MIB和使用的EDS內(nèi)容千差萬別,使得EDS文件難以統(tǒng)一設計。因此這一點只能通過規(guī)范化ICS來針對性、逐一、積累完成。其設計的有限性則取決于系統(tǒng)架構的規(guī)范性,如規(guī)范的CCSDS SOIS架構和歐空局的包應用標準(package utilization standard, PUS)業(yè)務[10]。

      數(shù)據(jù)解析工具的作用是將SEDS XML文件解析成系統(tǒng)可以識別的個性化EDS文件。這一解析過程是按照SEDS的XML編輯語法進行的,包括提取信息、綜合屬性和組織數(shù)據(jù)對象等過程,可以采用常規(guī)的XML解析工具軟件(函數(shù))來完成。最后按照系統(tǒng)內(nèi)部的數(shù)據(jù)設計生成實例化EDS文件,供系統(tǒng)直接使用,實現(xiàn)對系統(tǒng)已有部分的繼承。而在進行系統(tǒng)新增業(yè)務設計時,直接按照個性化ICS、SEDS XML文件和實例化EDS的思路進行規(guī)范化設計,從而實現(xiàn)新增部分和繼承部分在EDS表達方式上的統(tǒng)一,方便系統(tǒng)業(yè)務的積累。

      在EDS設計方面,EDS的產(chǎn)生可以來自于模型化業(yè)務需要的數(shù)據(jù)結構,包括業(yè)務的輸入、輸出,以及內(nèi)部的MIB管理的信息,因服務模型不同而不同。其主要思路是服務模型的MIB應有明確的格式,內(nèi)容可以配置。EDS在格式設計上應具有可修改性和可擴充性,以允許同屬一個服務模型的不同實例業(yè)務的設計,從而實現(xiàn)業(yè)務的即插即用,適應不同系統(tǒng)的不同配置需要。

      圖2 異構系統(tǒng)之間的EDS轉(zhuǎn)換過程

      圖2中有兩種工具使用場景。一種是互聯(lián)雙方是對等機構組織,則以SEDS XML文件為界,各自開發(fā)各自的工具。這種情況下,雙方各自有自己的ICS編輯工具、SEDS編輯和解析工具,輸出的SEDS XML文件是對外表達的自描述信息,就如同個人的名片那樣,可以被任何可識別這種信息的系統(tǒng)所接納。另外一種是單純的設備接入系統(tǒng)的場景。這種情況下,設備方可以直接使用系統(tǒng)方提供的ICS和SEDS編輯工具,規(guī)范ICS表單和SEDS XML文件的生成,也可以直接手工編寫SEDS XML文件,從而最大限度地降低了設備方使用EDS的難度和工作量,也不改變約定IDS的工作習慣。通過這一基于工具的過程,互聯(lián)雙方可以表達自身的需求,了解對方提供的服務能力,達到需求自動匹配的效果。而上述兩種場景既有利于接口標準化,也有利于非標準化設備繼承使用。

      3 基于SEDS的工具鏈設計

      3.1 從ICS到SEDS XML

      表1將CCSDS 876.0推薦的ICS表進行補充和整理,這些內(nèi)容所使用的數(shù)據(jù)元素和圖1中SEDS規(guī)定的內(nèi)容對應。

      表1 在CCSDS 876.0推薦的ICS基礎上的補充設計

      表1(續(xù))

      在ICS的基礎上,經(jīng)過編輯過程,將用戶填寫好的個性化需求ICS轉(zhuǎn)化為SEDS的XML文件。編輯過程依據(jù)SEDS和DoT的規(guī)則進行。這一過程可以手工完成,也可以建造相關的編輯工具,以方便項目使用。

      3.2 SEDS XML文件的解析工具

      SEDS XML文件解析工具實現(xiàn)從SEDS個性化XML文件到實例化EDS文件的轉(zhuǎn)化,即二者之間的映射過程。它的轉(zhuǎn)化過程和使用的數(shù)據(jù)結構如圖3所示。

      圖3 SEDS XML文件的解析過程

      圖3中使用DOM方法讀入XML文件中的元素數(shù)據(jù)作為節(jié)點,形成樹形數(shù)據(jù)結構,稱為文檔樹。文檔樹和XML文件之間有嚴格元素數(shù)據(jù)的對應關系。通過文檔樹可以添加、更改、刪除、查找XML文件中的元素。

      XML文件中的所有元素標簽都要在解析工具中識別,相同標簽的節(jié)點組成鏈表。在SEDS規(guī)則下,標簽相同的元素具有一致的屬性,為下一步提取元素屬性的值,形成SEDS數(shù)據(jù)對象做準備。每種數(shù)據(jù)類型定義所需的元素構成一個SEDS數(shù)據(jù)類型定義實體。圖3中以數(shù)組類型為例,數(shù)組類型包含2種元素,ArrayDataType元素和Dimension元素,后者是前者的子元素,因此SEDS數(shù)組類型定義包括2個鏈表,是由這2種元素節(jié)點組成的。從SEDS元素、ICS到解析過程的對應關系見表2。從表中可以看出解析過程需要對所有的SEDS元素進行針對性處理,而ICS的填寫只關心內(nèi)容。

      圖3中的SEDS數(shù)據(jù)對象是對SEDS XML元素定義的實現(xiàn),例如,SEDS對數(shù)組數(shù)據(jù)對象的定義是標簽為ArrayDataType的元素,其中的屬性定義了每個數(shù)據(jù)單元的數(shù)據(jù)類型,它的子元素Dimension定義了數(shù)組的長度。相同SEDS XML元素定義對應的SEDS數(shù)據(jù)對象是同一類型的,它們的集合對應于圖3中的SEDS對象鏈表。

      表2 SEDS標簽對應關系

      一個SEDS數(shù)據(jù)對象中包含對應的SEDS XML元素的所有信息,但輸出文件是根據(jù)系統(tǒng)需要,對ICS中填寫的數(shù)據(jù)值選擇輸出后的實例化EDS,可以直接提供給系統(tǒng)使用。因此從ICS的內(nèi)容開始反映的就是用戶的個性化需求,此后的XML文件中的數(shù)據(jù)與ICS內(nèi)容是等價的,而實例化EDS則是針對某個系統(tǒng)的輸出。這種針對性表現(xiàn)在某個系統(tǒng)的特定數(shù)據(jù)格式和選擇的內(nèi)容上。(例如4.2節(jié)所舉示例)

      4 1553B EDS的實例設計

      4.1 1553B EDS的應用背景

      EDS的概念源于即插即用技術。在網(wǎng)絡環(huán)境下,首先需要在鏈路協(xié)議層解決EDS的傳送交換問題,然后是反映傳輸需求的EDS內(nèi)容設計,即插即用的傳輸協(xié)議設計。在此以1553B總線為例進行說明。

      1553B總線是總線型、主從式的單工通信方式,總線上的總線控制器(bus controller, BC)控制著全部的通信協(xié)議過程[11]。為不影響接入的設備終端(remote terminal, RT)原有的通信設計,1553B總線即插即用協(xié)議[12]是在已有的鏈路層通信協(xié)議基礎上,增加在初始階段交換RT EDS的協(xié)議過程,由BC根據(jù)RT EDS動態(tài)配置和調(diào)度總線,實現(xiàn)RT的自動加入和撤出,并滿足其通信需求,系統(tǒng)仍然能夠穩(wěn)定運行。而RT方只需要遵守初始握手協(xié)議要求,其設計重點放在了RT EDS的內(nèi)容設計上[13,14]。

      4.2 1553B總線的ICS設計

      根據(jù)1553B總線通信協(xié)議的特點,BC方需要了解的RT傳輸需求包括兩個部分,即如何握手和子地址消息配置需求。這兩部分通過RT EDS定義,首先反映在用戶填寫RL完成后的ICS中,見表3。

      4.3 1553B總線的RT SEDS XML文件

      根據(jù)用戶填寫的1553B總線ICS,可以編輯相應的1553B總線的RT SEDS XML文件,如圖4所示。

      圖4中,第6行至10行定義了矢量字數(shù)據(jù)域是數(shù)組類型。第11至19行定義了子地址定義的第1個字為容器類型。第20至25行規(guī)定了子地址定義是容器類型。第26至30行為子地址定義數(shù)組規(guī)定了發(fā)送子地址定義和接收子地址定義這2個域的格式。第31行至第144行定義了矢量字和子地址消息定義的各個字段的值。

      圖5為1553B總線SEDS實例的文檔樹結構,元素的屬性數(shù)據(jù)作為元素節(jié)點的葉子節(jié)點。解析過程是將XML文檔樹的節(jié)點轉(zhuǎn)化為SEDS數(shù)據(jù)對象的過程。例如,圖5中的ArrayDataType節(jié)點是SEDS定義的數(shù)組類型變量,該節(jié)點及其所有子孫節(jié)點所構成的分支樹對應于SEDS的數(shù)組類型數(shù)據(jù)對象。需要說明的是圖3中的節(jié)點鏈表是元素節(jié)點組成的鏈表,不包含屬性節(jié)點,因為通過元素節(jié)點即可訪問屬性節(jié)點,不需要將屬性節(jié)點組成鏈表。

      表3 1553B總線即插即用協(xié)議所需的ICS

      圖4 1553B總線RT SEDS XML文件

      圖5 1553B實例的文檔樹結構

      4.4 1553B EDS的實例化輸出

      在收到圖4的XML文件后,系統(tǒng)根據(jù)自身使用的RT EDS的格式定義(見表4),進行針對性的信息提取和轉(zhuǎn)換,生成實例化的EDS文件(如圖6所示)。

      本文設計的SEDS解析工具輸出的結果如圖6所示,為了方便理解增加了注釋。

      表4 RT EDS格式[13-15]

      圖6 二進制文件結果

      圖6中矢量字定義數(shù)組的前5個值,發(fā)送子地址定義數(shù)組前2個值,以及接收子地址前3個值見表5。

      5 結束語

      在航天器數(shù)據(jù)系統(tǒng)中使用EDS,使系統(tǒng)能夠?qū)€性化需求做出通用性設計。通用性表現(xiàn)在處理方法上,是指對每個部件的數(shù)據(jù)設計上,都要包括3個數(shù)據(jù)對象(ICS、SEDS XML文件、EDS),以及對它們進行轉(zhuǎn)換的工具鏈設計思路。3個數(shù)據(jù)對象內(nèi)容是系統(tǒng)針對性選擇的信息結果。正因為如此,EDS技術可以解決異構系統(tǒng)之間的信息傳遞和互聯(lián)互通問題,以及新增設計和原有設計的兼容、繼承、重用等問題。工具鏈的設計和使用能夠進一步擴充EDS內(nèi)容和應用范圍,并方便使用。本文介紹的1553B總線即插即用SEDS實例設計說明了這一思路的可行性。

      由于星上和地面EDS都可以采用XML進行描述,因此SEDS與XML Telemetric and Command Exchange (XTCE)[15]可以銜接。XTCE主要描述遙測遙控,這恰與PUS的請求與報告可以掛鉤,應作為EDS內(nèi)容的一部分,加入EDS工具鏈中的數(shù)據(jù)庫,供通用設計使用。當積累的標準服務、請求、報告的內(nèi)容足夠多時,可以支持重用、數(shù)據(jù)挖掘,作為深度學習的數(shù)據(jù)源使用。再擴展,可以支持星地一體化智能信息系統(tǒng)的設計和建設。

      表5 實例化EDS結果含義

      猜你喜歡
      實例總線解析
      三角函數(shù)解析式中ω的幾種求法
      基于PCI Express總線的xHC與FPGA的直接通信
      測控技術(2018年6期)2018-11-25 09:50:12
      機載飛控1553B總線轉(zhuǎn)以太網(wǎng)總線設計
      測控技術(2018年8期)2018-11-25 07:42:08
      睡夢解析儀
      電競初解析
      商周刊(2017年12期)2017-06-22 12:02:01
      相機解析
      多通道ARINC429總線檢查儀
      完形填空Ⅱ
      完形填空Ⅰ
      基于EtherCAT總線的ROV控制系統(tǒng)設計
      河南科技(2014年16期)2014-02-27 14:13:22
      抚州市| 饶阳县| 社旗县| 北流市| 南安市| 扬州市| 延川县| 新乐市| 襄汾县| 含山县| 绵阳市| 湖北省| 蓬溪县| 武宣县| 六枝特区| 民乐县| 娱乐| 石嘴山市| 永康市| 白玉县| 永安市| 阿勒泰市| 民丰县| 平南县| 安塞县| 远安县| 阿拉善盟| 梁山县| 怀仁县| 清流县| 柞水县| 玉山县| 宜丰县| 东乡族自治县| 英吉沙县| 梧州市| 罗田县| 徐闻县| 临澧县| 雷州市| 礼泉县|