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

?

基于MDA的SCA波形開發(fā)研究與實(shí)現(xiàn)

2016-03-15 21:19黃子鴻王玲施峻武雷鵬斌李蘭花
現(xiàn)代電子技術(shù) 2016年4期

黃子鴻 王玲 施峻武 雷鵬斌 李蘭花

摘 要: SCA波形的開發(fā)存在繁雜、周期長、效率低以及波形可移植性和可重用性差等不足,在此具體分析了波形組件模型,采用模型驅(qū)動架構(gòu)(MDA)提出了SCA波形開發(fā)流程,由此開發(fā)出實(shí)用的可視化波形集成開發(fā)環(huán)境SCA Enabler。以QPSK波形為例,詳細(xì)闡述了基于MDA的SCA波形開發(fā)流程中的幾個關(guān)鍵環(huán)節(jié),為SCA波形開發(fā)提供規(guī)范。

關(guān)鍵詞: 模型驅(qū)動架構(gòu); SCA波形; 可視化裝配; 平臺無關(guān)模型

中圖分類號: TN911?34 文獻(xiàn)標(biāo)識碼: A 文章編號: 1004?373X(2016)04?0001?05

Abstract: For a long time, multifarious forms, long cycle, low efficiency, poor waveform portability and poor reusability have existed in the development of SCA waveform. The waveform component model is analyzed in this paper. The development process of SCA waveform is proposed by means of the model driven architecture (MDA). Based on this, an integrated development environment named as SCA Enabler for practical visual waveform is developed. Taking QPSK waveform as an example, several key points in the development process of SCA waveform based on MDA are elaborated in detail. The specification for the SCA waveform development is provided.

Keywords: model driven architecture; SCA waveform; visualized assembly; platform independent model

0 引 言

軟件通信體系結(jié)構(gòu)(Software Communications Architecture,SCA)[1]規(guī)范是美軍在實(shí)施聯(lián)合戰(zhàn)術(shù)無線電系統(tǒng)(JTRS)計劃過程中提出的一個標(biāo)準(zhǔn)規(guī)范集,它為軟件無線電臺的設(shè)計提供了一種與實(shí)現(xiàn)無關(guān)的開放式架構(gòu)。SCA規(guī)范的目標(biāo)是最大化軟件的可移植性和可配置性,提高按照SCA規(guī)范所開發(fā)的產(chǎn)品間的互操作性,使系統(tǒng)升級方便簡單,降低系統(tǒng)開發(fā)部署成本。SCA用于指導(dǎo)軟件無線電通信系統(tǒng)整體的設(shè)計開發(fā),但沒有給出具體的實(shí)現(xiàn)方法。傳統(tǒng)SCA波形開發(fā)方法較為繁瑣復(fù)雜、開發(fā)速度慢、所開發(fā)波形的可移植性和可重用性差,且隨著SCA規(guī)范不斷完善和豐富,開發(fā)一個符合SCA規(guī)范的波形的技術(shù)門檻也隨之提高,不可避免地涉及到很多與SCA規(guī)范相關(guān)的技術(shù)細(xì)節(jié),而這些技術(shù)在短時間內(nèi)很難全面而準(zhǔn)確地掌握,由此勢必給波形開發(fā)人員帶來很大的開發(fā)難度,造成開發(fā)周期延長、開發(fā)成本上升,測試工作量顯著增加。

為此,國外采用SCA集成開發(fā)環(huán)境工具,如SCARI++,Spectra CX和OSSIE波形開發(fā)器(OWD)等,使得波形開發(fā)更加快速高效。文獻(xiàn)[2?4]詳述了波形開發(fā)流程,但由于這幾款軟件相關(guān)資料不公開,要完全利用起來存在一定困難。面對國內(nèi)的急切需求,開發(fā)一款實(shí)現(xiàn)SCA波形開發(fā)的集成開發(fā)環(huán)境十分必要。

本文在對SCA規(guī)范中組件模型深入理解的基礎(chǔ)上,開發(fā)了一套基于Eclipse[5]平臺的可視化波形集成開發(fā)環(huán)境SCA Enabler,實(shí)現(xiàn)了基于模型驅(qū)動架構(gòu)(Model Driven Architecture,MDA)[6]的SCA波形開發(fā)流程,以波形組件封裝技術(shù)、波形組件化開發(fā)技術(shù)[7]、可視化的波形裝配和部署等技術(shù),快速高效地開發(fā)出可移植性、可重用性俱佳的SCA波形。

1 波形組件模型

SCA規(guī)范中的組件是指實(shí)現(xiàn)了某種特定功能的軟件模塊或單元。具體來說,組件是指繼承并實(shí)現(xiàn)了Resource接口的波形組件。組件是波形功能模塊的高度抽象,為了使其具有良好的可復(fù)用性,波形功能劃分的組件粒度大小要適中。若是過大,則會影響組件的可復(fù)用性,也不利于組件的升級維護(hù);若是過小,則將增加設(shè)置難度,并且在實(shí)際運(yùn)行中勢必會由于組件過于頻繁的通信而影響運(yùn)行效率。同時,組件內(nèi)部的功能要盡可能的獨(dú)立,組件間的交互應(yīng)盡可能減少,并且組件的接口應(yīng)簡潔明了,只提供對外交互所必須的接口,使組件具有良好的封裝性。

組件對外暴露的是外部接口(包括接口和端口),而封裝的是具體的功能實(shí)現(xiàn)。為使波形組件具有良好封裝性,將外部接口統(tǒng)一抽象為端口對象,與組件分離。端口具有方向性,一種是指該組件能為其他組件提供的接口,即Provides端口;另一種是指該組件需要使用的其他組件接口,即Uses端口。

組件內(nèi)部具體的功能實(shí)現(xiàn),即組件代碼,由外到內(nèi)主要由三部分組成:包裝代碼和XML域配置文件、膠水代碼和功能代碼[8]。其中包裝代碼和XML域配置文件是SCA相關(guān)代碼,膠水代碼和功能代碼與具體的組件實(shí)現(xiàn)相關(guān),如圖1所示。

各部分的作用如下:

包裝代碼和XML域配置文件:XML文件用于描述組件實(shí)現(xiàn)、組件接口和端口、組件加載的設(shè)備以及用戶自定義屬性等;包裝代碼則負(fù)責(zé)封裝組件內(nèi)部的功能代碼,需要處理組件與核心框架通信的一系列過程,涉及到接口、端口、組件入口函數(shù)、SCA控制接口等。

膠水代碼:負(fù)責(zé)把通信數(shù)據(jù)從包裝代碼中轉(zhuǎn)發(fā)到功能代碼及其相反過程,例如數(shù)據(jù)格式的轉(zhuǎn)換等。

功能代碼:實(shí)現(xiàn)組件的信號處理功能或更高級的控制功能,是波形通信功能實(shí)現(xiàn)的核心部分。

2 基于MDA的SCA波形開發(fā)

組件化的波形開發(fā)是軟件無線電的一個重要技術(shù)優(yōu)勢,是提高波形可移植性,增強(qiáng)波形部署靈活性,提升硬件資源使用效率的技術(shù)基礎(chǔ);對于提高波形開發(fā)的模塊化、專業(yè)化程度,加速新波形的開發(fā)進(jìn)度,降低新波形的開發(fā)風(fēng)險都具有十分重要的作用。

然而,組件化的波形開發(fā)并不僅僅是傳統(tǒng)意義上對波形進(jìn)行功能模塊劃分,還需要按照軟件無線電規(guī)范,對功能模塊進(jìn)行接口封裝。由于涉及到的規(guī)范十分復(fù)雜,完全由傳統(tǒng)波形開發(fā)人員手工編寫全部代碼既費(fèi)時又容易出錯,所以需要制定一套標(biāo)準(zhǔn)的波形開發(fā)流程,并且通過集成開發(fā)環(huán)境軟件的使用,盡量提高波形開發(fā)過程中的自動化水平,從而提高波形組件的開發(fā)效率,降低錯誤發(fā)生。

2.1 SCA Enabler

SCA Enabler的各種功能都基于Eclipse平臺進(jìn)行設(shè)計與開發(fā),以插件的形式進(jìn)行集成,形成可擴(kuò)展性強(qiáng)、資源豐富、功能完整的集成開發(fā)環(huán)境,提高了SCA波形軟件開發(fā)的效率和規(guī)范化程度。SCA Enabler的系統(tǒng)架構(gòu)如圖2所示。

SCA Enabler具備以下特點(diǎn):基于開放式的體系架構(gòu);基于MDA的波形開發(fā)模式;支持Windows,VxWorks,Linux等多種平臺;支持XML編輯器、XML解析器、UML編輯器等插件;支持波形組件、平臺設(shè)備、平臺服務(wù)等的PIM建模;支持PIM到PSM模型的自動轉(zhuǎn)換,包括域描述文件、包裝代碼等;支持波形、節(jié)點(diǎn)、平臺的可視化裝配與導(dǎo)出;支持波形的集成測試。

2.2 基于MDA的波形開發(fā)流程

SCA 4.0規(guī)范使用MDA的開發(fā)模式來指導(dǎo)軟件無線電通信系統(tǒng)整體的設(shè)計開發(fā)。MDA是對象管理組織(Object Management Group,OMG)提出的一種軟件開發(fā)框架,OMG針對波形應(yīng)用開發(fā),提出了基于MDA的波形設(shè)計方法。波形應(yīng)用的開發(fā)過程通過對軟件系統(tǒng)的建模行為驅(qū)動。波形應(yīng)用的開發(fā)框架如圖3所示。

在基于MDA的波形開發(fā)中,核心的概念是平臺無關(guān)模型(Platform Independent Model,PIM)和平臺相關(guān)模型(Platform Specific Model,PSM)[9]。其中,PIM是純粹不考慮實(shí)現(xiàn)技術(shù)的分析模型,是獨(dú)立于具體實(shí)現(xiàn)平臺的用戶需求描述;而PSM可以視為對PIM模型在具體平臺上的一種特定實(shí)現(xiàn),即完成高度抽象的用戶需求在特定平臺上的實(shí)現(xiàn)。結(jié)合使用集成開發(fā)環(huán)境SCA Enabler,基于MDA的SCA波形開發(fā)的流程如下:

(1) 分析波形功能需求,明確波形的各個層次及其連接關(guān)系。

(2) 將各個層次劃分為波形組件,分析波形組件的功能需求,明確組件的功能。

(3) 根據(jù)波形組件的功能以及組件間的連接,確定各組件的API,通過SCA Enabler集成的UML建模工具,建立各組件的UML模型,生成IDL文件。

(4) 通過SCA Enabler對各組件進(jìn)行組件建模,用戶對組件進(jìn)行可視化描述。

以上4步相當(dāng)于建立波形的PIM模型。

(5) 根據(jù)用戶進(jìn)行組件可視化描述輸入的信息,SCA Enabler為各組件自動生成符合SCA規(guī)范的域描述文件,包括軟件包描述符(Software Package Descriptor,SPD)、軟件組件描述符(Software Component Descriptor,SCD)、屬性描述符(Properties Descriptor,PRF)。

(6) SCA Enabler收集各組件的IDL文件信息、域描述文件等信息,結(jié)合核心框架庫、操作系統(tǒng)、編程語言以及CORBA,通過IDL編譯器為各組件自動生成包裝代碼,包括客戶端程序、服務(wù)器端程序、組件實(shí)現(xiàn)代碼、Provides端口實(shí)現(xiàn)代碼以及組件的入口點(diǎn)代碼。

(7) 用戶為各組件添加實(shí)現(xiàn)代碼,使用SCA Enabler的編譯器編譯連接組件代碼,生成可執(zhí)行代碼。

(8) 各波形組件入庫,用戶可在波形裝配視圖,根據(jù)波形組件的連接關(guān)系,將各波形組件可視化裝配連接成波形,并根據(jù)已有軟硬件平臺進(jìn)行波形部署,生成軟件裝配描述符(SAD),波形入庫。

以上第(5)~(8)步在用戶的參與下,完成PIM到PSM的自動轉(zhuǎn)換。

(9) 通過SCA Enabler的導(dǎo)出工具將波形導(dǎo)出。

(10) 通過SCA Enabler的連接管理模塊將導(dǎo)出波形安裝到目標(biāo)平臺,進(jìn)行集成測試,驗(yàn)證波形應(yīng)用。

SCA波形開發(fā)流程如圖4所示。圖4中的虛線區(qū)域都是在波形開發(fā)人員的參與下,主要由集成開發(fā)環(huán)境軟件SCA Enabler負(fù)責(zé)完成的。SCA Enabler將用戶從SCA規(guī)范和復(fù)雜的底層實(shí)現(xiàn)中脫離出來,專注于最重要的數(shù)據(jù)處理運(yùn)算,從而極大地減少用戶的工作量,降低開發(fā)難度。與此同時,SCA Enabler中的組件庫、波形庫、平臺庫等的存在進(jìn)一步形成了一次開發(fā)、重復(fù)使用的能力,新波形可以不經(jīng)過修改或者只經(jīng)過少量修改就能移植到不同的硬件平臺,從而能夠顯著縮短新波形的開發(fā)周期,降低開發(fā)成本,以及將已有波形向新平臺移植的周期和成本。

2.3 幾個關(guān)鍵環(huán)節(jié)

為體現(xiàn)基于MDA的SCA波形開發(fā)方法的優(yōu)勢,結(jié)合集成開發(fā)環(huán)境SCA Enabler,以QPSK基帶波形為例介紹基于MDA的SCA波形開發(fā)流程中區(qū)別于傳統(tǒng)波形開發(fā)的幾個重點(diǎn)環(huán)節(jié),包括波形組件設(shè)計與PIM建模、組件代碼生成、波形可視化裝配等。

2.3.1 波形總體設(shè)計

QPSK基帶波形截取了典型通信系統(tǒng)中基帶信號處理的一部分,調(diào)制方式采用四相位調(diào)制,其完整工作的原理設(shè)計如圖5所示。

2.3.2 波形組件設(shè)計與PIM建模

根據(jù)圖5中QPSK波形結(jié)構(gòu),將波形設(shè)計成了5個組件,并定義波形組件API接口,其中升余弦濾波組件RRcFilter的接口UML類圖如圖6所示。

根據(jù)組件API接口定義建立組件PIM模型,使得用戶需求與具體實(shí)現(xiàn)分離,從而達(dá)到將波形應(yīng)用與硬件平臺分離的目的。由于PIM模型獨(dú)立于具體實(shí)現(xiàn)平臺,不會隨著具體實(shí)現(xiàn)平臺的變化而變化,所以PIM模型在波形組件化開發(fā)中具有重要的研究意義。

波形開發(fā)人員使用SCA Enabler進(jìn)行波形組件開發(fā)的流程如圖7所示。此外,SCA Enabler實(shí)現(xiàn)了組件庫,不僅可以提高波形組件的可復(fù)用性和波形的可移植性,而且有利于波形的移植、升級和維護(hù)。在進(jìn)行波形組件建模時,應(yīng)遵循如下原則和優(yōu)先級順序:

(1) 使用組件庫中的現(xiàn)有波形組件模型;

(2) 對現(xiàn)有波形組件模型進(jìn)行修改和擴(kuò)展;

(3) 建立全新的波形組件模型。

按照上述順序建立組件模型能有效地提高組件庫中已有組件模型的利用率,同時還可以減少前期組件設(shè)計以及后續(xù)的組件可視化描述等工作,從而縮短開發(fā)周期。

2.3.3 組件代碼生成

組件代碼中的包裝代碼與XML域配置文件是SCA相關(guān)代碼,可由集成開發(fā)環(huán)境自動生成,從而加速組件開發(fā)。SCA規(guī)范使用接口定義語言(IDL)定義波形組件接口,使得波形組件具有高度的抽象性,波形組件的設(shè)計與具體的編程語言、運(yùn)行平臺和傳輸機(jī)制相分離,保證了波形組件的復(fù)用性,能夠明顯降低波形組件的開發(fā)周期和成本。在具體實(shí)現(xiàn)時,將IDL按照平臺相關(guān)模型映射規(guī)則以某種程序語言進(jìn)行映射,將IDL接口模型轉(zhuǎn)換為與軟件運(yùn)行平臺相關(guān)的軟件代碼,而組件開發(fā)者只需針對接口功能進(jìn)行實(shí)現(xiàn),無需考慮與波形組件運(yùn)行平臺相關(guān)的其他問題,從而給波形組件開發(fā)帶來極大幫助,具體的映射規(guī)則可參考公共對象請求代理體系結(jié)構(gòu)(CORBA)相應(yīng)的映射規(guī)范。為使組件具有良好的封裝以及組件間相互獨(dú)立,本文設(shè)計了一套組件代碼框架,具體包括組件實(shí)現(xiàn)、端口實(shí)現(xiàn)、CORBA樁和框架碼、組件入口點(diǎn)代碼,如圖8所示。

各部分的功能如表1所示。

SCA 規(guī)范要求為每個波形組件編寫相應(yīng)的XML配置文件以實(shí)現(xiàn)核心框架對波形進(jìn)行動態(tài)加載、控制和配置的目標(biāo)。符合SCA規(guī)范的波形組件XML描述文件都具有相似的結(jié)構(gòu),不同類型的描述文件可以采用對應(yīng)的文件模板來簡化編制,同時通過可視化的組件描述由集成開發(fā)環(huán)境自動生成,從而簡化了組件開發(fā)難度。

2.3.4 波形可視化裝配

為了實(shí)現(xiàn)既定的波形功能,波形組件需要裝配連接成一個完整的波形應(yīng)用,波形組件端口連接示意圖如圖9所示。

波形連接支持SAD文件中為源和目的組件定義的各種描述方式,其中源通過usesport描述使用者組件端口,包括4種元素描述方式,如表2所示。

目標(biāo)對象通過providesport,Componentsupportedinterface,findby三種元素描述方式定義對象的獲取方式,如表3所示。SCA規(guī)范針對源和目標(biāo)對象的不同采用不同的連接方式,具體可見文獻(xiàn)[10],本文不做詳細(xì)描述。

基于MDA的SCA波形開發(fā)通過集成開發(fā)環(huán)境以可視化的界面進(jìn)行波形裝配,以圖形化的方式建立端口連接,自動生成符合SCA規(guī)范的波形裝配描述文件SAD,避免了由于手動編寫的不規(guī)范造成的錯誤,提高了波形開發(fā)質(zhì)量,加速了波形開發(fā)進(jìn)程。QPSK波形可視化裝配如圖10所示。

3 結(jié) 語

基于MDA的SCA波形開發(fā)方法符合SCA規(guī)范,結(jié)合開發(fā)的集成開發(fā)環(huán)境SCA Enabler,可以快速、高效、高質(zhì)量地完成波形開發(fā),使得SCA通信裝備升級維護(hù)更加快捷高效,可廣泛應(yīng)用于軍事通信、移動通信等領(lǐng)域,對于軟件無線電的推廣發(fā)展具有深遠(yuǎn)影響。

參考文獻(xiàn)

[1] Joint Program Executive Office (JPEO), Joint Tactical Radio System (JTRS). Software communications architecture specification, Version 4.0 [S]. [S.l.]: Joint Program Executive Office, 2012.

[2] 葛正平.基于SCARI++的SCA系統(tǒng)(波形)開發(fā)方法研究與實(shí)現(xiàn)[D].成都:電子科技大學(xué),2009.

[3] 刁笳.基于OSSIE的SCA波形開發(fā)方法與實(shí)現(xiàn)[D].成都:電子科技大學(xué),2008.

[4] 雷剛.基于OSSIE的波形開發(fā)及API設(shè)計實(shí)現(xiàn)[D].成都:電子科技大學(xué),2011.

[5] CLAYBERG Eric, RUBEL Dan. Eclipse插件開發(fā)[M].陳沛,譯.3版.北京:機(jī)械工業(yè)出版社,2010.

[6] 葉發(fā)忠,何希瓊,鐘勇.模型驅(qū)動架構(gòu)的研究[J].計算機(jī)應(yīng)用,2006(z1):248?249.

[7] 王琳,劉濤,余秀美.基于軟件通信體系結(jié)構(gòu)的波形組件化開發(fā)技術(shù)研究[J].移動通信,2011(6):68?71.

[8] HERMELING Mark. Code generation for SCA components [EB/L]. [2008?10?25]. http://www.zeligsoft.com/node/202.

[9] Object Management Group. PIM and PSM for software radio components [S/OL]. [2005?05?31]. http://solitaire.omg.org/issue.

[10] 洪錫軍,錢晨,張激.基于SCA的波形開發(fā)[J].計算機(jī)工程,2006(18):270?272.

[11] 洪錫軍,陳小鳳,張激.SCA波形組件的可視化裝配與部署[J].計算機(jī)工程,2008(1):283?285.

[12] 王汗青,高俊.基于模型驅(qū)動體系結(jié)構(gòu)的軟件無線電波形開發(fā)研究[J].艦船電子工程,2008(4):87?90.

[13] 李莉,李鷹.基于SCA的戰(zhàn)術(shù)數(shù)據(jù)鏈波形設(shè)計和實(shí)現(xiàn)[J].艦船電子工程,2013(7):54?56.