国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于SOIS EDS的實(shí)例化設(shè)計(jì)

2020-09-29 08:08:56張煦冬呂良慶安軍社
關(guān)鍵詞:實(shí)例總線解析

張煦冬,呂良慶,安軍社

(1.中國(guó)科學(xué)院復(fù)雜航天系統(tǒng)電子信息技術(shù)重點(diǎn)實(shí)驗(yàn)室 國(guó)家空間科學(xué)中心,北京 100190;2.中國(guó)科學(xué)院大學(xué) 計(jì)算機(jī)與控制學(xué)院,北京 100049)

0 引 言

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

1 SEDS簡(jiǎn)介

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

圖1 SEDS的關(guān)鍵元素和抽象類型[3]

SEDS文件使用可擴(kuò)展標(biāo)記語言(eXtensible Markup Language, XML)[4]按照?qǐng)D1描述系統(tǒng)定義,構(gòu)建XML文件。

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

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

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

2 基于SEDS的系統(tǒng)設(shè)計(jì)

采用EDS進(jìn)行星載軟件設(shè)計(jì)的路線需要解決工具鏈的建設(shè)和EDS的設(shè)計(jì)問題。

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

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

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

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

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

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

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

3 基于SEDS的工具鏈設(shè)計(jì)

3.1 從ICS到SEDS XML

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

表1 在CCSDS 876.0推薦的ICS基礎(chǔ)上的補(bǔ)充設(shè)計(jì)

表1(續(xù))

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

3.2 SEDS XML文件的解析工具

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

圖3 SEDS XML文件的解析過程

圖3中使用DOM方法讀入XML文件中的元素?cái)?shù)據(jù)作為節(jié)點(diǎn),形成樹形數(shù)據(jù)結(jié)構(gòu),稱為文檔樹。文檔樹和XML文件之間有嚴(yán)格元素?cái)?shù)據(jù)的對(duì)應(yīng)關(guān)系。通過文檔樹可以添加、更改、刪除、查找XML文件中的元素。

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

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

表2 SEDS標(biāo)簽對(duì)應(yīng)關(guān)系

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

4 1553B EDS的實(shí)例設(shè)計(jì)

4.1 1553B EDS的應(yīng)用背景

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

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

4.2 1553B總線的ICS設(shè)計(jì)

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

4.3 1553B總線的RT SEDS XML文件

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

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

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

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

圖4 1553B總線RT SEDS XML文件

圖5 1553B實(shí)例的文檔樹結(jié)構(gòu)

4.4 1553B EDS的實(shí)例化輸出

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

本文設(shè)計(jì)的SEDS解析工具輸出的結(jié)果如圖6所示,為了方便理解增加了注釋。

表4 RT EDS格式[13-15]

圖6 二進(jìn)制文件結(jié)果

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

5 結(jié)束語

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

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

表5 實(shí)例化EDS結(jié)果含義

猜你喜歡
實(shí)例總線解析
三角函數(shù)解析式中ω的幾種求法
基于PCI Express總線的xHC與FPGA的直接通信
機(jī)載飛控1553B總線轉(zhuǎn)以太網(wǎng)總線設(shè)計(jì)
睡夢(mèng)解析儀
電競(jìng)初解析
商周刊(2017年12期)2017-06-22 12:02:01
相機(jī)解析
多通道ARINC429總線檢查儀
完形填空Ⅱ
完形填空Ⅰ
基于EtherCAT總線的ROV控制系統(tǒng)設(shè)計(jì)
河南科技(2014年16期)2014-02-27 14:13:22
迭部县| 集贤县| 易门县| 名山县| 翁源县| 依安县| 社会| 万源市| 屏东县| 赣州市| 渝中区| 和林格尔县| 桐梓县| 前郭尔| 彰化市| 油尖旺区| 肥乡县| 闸北区| 沿河| 普宁市| 上高县| 辽阳市| 宝鸡市| 新建县| 肇州县| 西藏| 桂东县| 平阴县| 普陀区| 琼海市| 清水河县| 邻水| 万全县| 顺昌县| 砚山县| 涿州市| 万安县| 凤凰县| 遂川县| 东丽区| 包头市|