• 
    

    
    

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

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

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

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

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

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

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

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

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

      1 波形組件模型

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

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

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

      各部分的作用如下:

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

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

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

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

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

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

      2.1 SCA Enabler

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

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

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

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

      在基于MDA的波形開發(fā)中,核心的概念是平臺無關(guān)模型(Platform Independent Model,PIM)和平臺相關(guān)模型(Platform Specific Model,PSM)[9]。其中,PIM是純粹不考慮實現(xiàn)技術(shù)的分析模型,是獨立于具體實現(xiàn)平臺的用戶需求描述;而PSM可以視為對PIM模型在具體平臺上的一種特定實現(xiàn),即完成高度抽象的用戶需求在特定平臺上的實現(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對各組件進行組件建模,用戶對組件進行可視化描述。

      以上4步相當于建立波形的PIM模型。

      (5) 根據(jù)用戶進行組件可視化描述輸入的信息,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ù)器端程序、組件實現(xiàn)代碼、Provides端口實現(xiàn)代碼以及組件的入口點代碼。

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

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

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

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

      (10) 通過SCA Enabler的連接管理模塊將導出波形安裝到目標平臺,進行集成測試,驗證波形應用。

      SCA波形開發(fā)流程如圖4所示。圖4中的虛線區(qū)域都是在波形開發(fā)人員的參與下,主要由集成開發(fā)環(huán)境軟件SCA Enabler負責完成的。SCA Enabler將用戶從SCA規(guī)范和復雜的底層實現(xiàn)中脫離出來,專注于最重要的數(shù)據(jù)處理運算,從而極大地減少用戶的工作量,降低開發(fā)難度。與此同時,SCA Enabler中的組件庫、波形庫、平臺庫等的存在進一步形成了一次開發(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ā)的幾個重點環(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模型,使得用戶需求與具體實現(xiàn)分離,從而達到將波形應用與硬件平臺分離的目的。由于PIM模型獨立于具體實現(xiàn)平臺,不會隨著具體實現(xiàn)平臺的變化而變化,所以PIM模型在波形組件化開發(fā)中具有重要的研究意義。

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

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

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

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

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

      2.3.3 組件代碼生成

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

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

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

      2.3.4 波形可視化裝配

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

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

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

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

      3 結(jié) 語

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

      參考文獻

      [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ā)方法研究與實現(xiàn)[D].成都:電子科技大學,2009.

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

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

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

      [6] 葉發(fā)忠,何希瓊,鐘勇.模型驅(qū)動架構(gòu)的研究[J].計算機應用,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].計算機工程,2006(18):270?272.

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

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

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

      旬阳县| 太仆寺旗| 铅山县| 惠来县| 安丘市| 潞西市| 敖汉旗| 随州市| 洛南县| 新巴尔虎左旗| 武隆县| 白沙| 北海市| 墨竹工卡县| 于都县| 内黄县| 什邡市| 固原市| 宿迁市| 栖霞市| 特克斯县| 环江| 平陆县| 富裕县| 绍兴市| 沂水县| 岳阳市| 来凤县| 安远县| 龙游县| 安新县| 中卫市| 静海县| 黄冈市| 寿阳县| 肇庆市| 抚宁县| 海兴县| 梓潼县| 正定县| 威信县|