• 
    

    
    

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

      ?

      分布對象中間件中的異步機制代碼生成算法研究

      2015-04-02 23:35:30孟令權
      科技創(chuàng)新與應用 2015年10期
      關鍵詞:中間件

      摘 要:近年來CORBA作為一種分布對象中間件應用領域不斷擴展,很多應用還離不開異步機制,而傳統(tǒng)CORBA還無法實現異步激活。文章針對對象中間件CORBA異步機制的實現進行了較深入地探討,并基于修改抽象語法樹提出異步代碼生成算法,可達到有關模型的應用需求。

      關鍵詞:中間件;異步機制;抽象語法樹

      1 概述

      近年來CORBA作為一種分布對象中間件應用領域不斷擴展,目前已逐漸成為網絡計算集成框架和應用構件的一個技術標準,其應用日益廣泛。起初由OMG組織制定用于分布計算的標準,并逐漸成為網絡計算集成框架建立的一個十分重要的技術標準。

      傳統(tǒng)CORBA只具有one-way、靜態(tài)及動態(tài)invorcation interface三種激活機制,隨著松耦合領域的CORBA應用,其傳統(tǒng)的激活機制已難以實現實際需求,而需異步激活機制才能實現。盡管one-way可實現異步效果,如請求發(fā)送時將引用的客戶對象進行傳遞,但其自身操作也存在依賴傳輸層及相關語義問題。而動態(tài)invorcation interface激活機制具有編程復雜、分配內存過多及數據備份等問題。為有效解決異步機制引入分布對象中間件中的問題,深入研究抽象機制算法與模型,建立對異步Polling模型的支持,擴充ORB內核。實現對應用開發(fā)的支持。

      2 Polling模型設計

      2.1 設計原則

      在實際應用,Polling模型應按照以下原則進行設計,Polling只映射客戶方語言,無需改變服務方;可采用調用Polling方式執(zhí)行已存在的服務程序;用戶交互Polling模型對象,支持其功能的對象由編譯器生成;與有關規(guī)范要求相符。

      2.2 組成要素

      按照上述原則進行設計實現CORBA模型,其組成要素中,相對于常規(guī)模型服務方構成要素變化不大,客戶方變化較大??蛻舴綄⒁恍ο笠耄瑢鹘y(tǒng)對象擴充后實現對功能實體的支持。建立對值查詢應答的對象及Reply Handler對象請求應答的保存等都是Polling Stub的主要功能。

      特別應注意,由于Polling模型中不需要改變接口的定義文件,由IDL編譯器生成對Polling功能支持的基礎設施實體,因此需擴充IDL編譯器,使其可生成對Polling功能支持的要素。Polling Stub等對象對Polling功能的支持由IDL編譯器生成,并與Polling ORB協作實現Polling異步機制。

      3 代碼生成算法

      3.1 常規(guī)方法

      IDL文件由IDL編譯器進行映射,編譯器前端具有預處理及語法分析功能,生成抽象語法樹;后端將其接口向語言代碼進行映射。預處理主要是在編譯程序前,由預處理器完成處理被編譯程序的宏替換、展開源文件及編譯等具體工作,預處理器是文本處理器,只掃描源文件,執(zhí)行指令動作,對源文件語法不作分析。

      由此可知,對Polling功能支持代碼的生成,應首先獲得對Polling異步機制所需節(jié)點抽象語法樹的支持,在后端生成代碼時實現對Polling功能的支持。Polling模型沒有將新的關鍵字引入,因此無需修改IDL編譯前端。

      3.2 隱式IDL文件方法

      該方法主要是在前端預處理Polling,之后在后端生成異步代碼。預處理器主要實現對原始IDL文件的掃描,對Polling異步機制支持的接口定義插入,以生成隱式IDL文件,原接口對應的對Polling異步機制支持的應答、異常處理對象及Polling對象接口在文件中得到映射。后端為生成異步代碼,抽象語法樹需利用隱式IDL文件所生成,對應異步代碼根據Polling有關邏輯生成。

      3.3 抽象語法樹修改算法

      此方法無需生成隱式IDL文件,而在抽象語法樹生成后、生成代碼前對抽象語法樹進行遍歷,將代碼生成需要的結點向抽象語法樹動態(tài)加入。后端為生成異步代碼,應結合修改后抽象語法樹,對應的異步代碼根據Polling邏輯生成。

      3.4 兩種方法對比

      隱式IDL文件方法主要是預處理器的實現,為使設計簡化并保證原始文件具有正確的語法,預處理器和語法分析器可在預處理中調用,就是對預處理和語法分析執(zhí)行兩次,效率不高。相對于隱式IDL文件方法,抽象語法樹修改算法無需對預處理和語法分析執(zhí)行兩次,只對抽象語法樹遍歷一次并將所需節(jié)點添加,因此具有較高的效率。

      3.5 抽象語法樹修改算法

      抽象語法樹修改算法在實際中通常應用較多,該算法主要內容是對抽象語法樹遍歷后,將其中的Interface節(jié)點識別,再結合CORBA規(guī)范將對Poliing功能支持的節(jié)點進行添加。接口識別后,定義三個相應的集合,分別用于除one-way操作的所有操作,集成接口只讀屬性,集成接口一般屬性。具體算法為:

      獲得當前節(jié)點的全部子節(jié)點,將節(jié)點形成一個序列,對序列中元素執(zhí)行以下步驟:如元素是Module對象,可將其作為參數對此算法進行遞歸調用;如元素是Interface對象,則直接執(zhí)行以下步驟,如果是其它對象就無需進行處理。

      對于Interface對象,對其命名后依次執(zhí)行修改對象并創(chuàng)建相應操作和Polling接口,返回值類型如果不為空,為其建立元hi操作返回值數據類型的屬性。原始操作中out及inout類型參數都只建立只讀屬性,數據類型與其參數類型分別相對應。由此可見,抽象語法樹修改算法具有O(n)的復雜度,將此算法在實現Polling模型中具體應用,應用結果可滿足CORBA及Polling模型要求。采用此算法生成對Polling模型功能支持的代碼并結合Polling ORB可充分實現Polling功能的實際需要。

      4 結束語

      綜上所述,文章針對Polling模型體系結構的實現進行了較深入地探討,詳細論述了生成Polling功能代碼的機制,提出對抽象語法樹算法的修改算法。經有關應用證實,該機制可實現模型設計要求,使CORBA應用的激活機制得到擴展,具有異步性,使請求發(fā)送和應答接收解耦問題得到有效解決,應用領域得到一定程度的擴展。

      參考文獻

      [1]鄭茂松.一個語義引導代碼生成工具系統(tǒng)的設計[J].計算機應用與軟件,2011.

      [2]楊軍,劉毅斌.代碼生成技術在通信接口開發(fā)中的應用[J].江西冶金,2013.

      [3]蔣凌云,王汝傳.用于網格計算的復合代碼生成技術研究[J].南京郵電學院學報,2013.

      [4]郭天文.基于動詞屬性的模板化自動代碼生成[J].計算機技術與發(fā)展,2013.

      [5]朱曉峰.自動代碼生成圖形制導編碼與專門知識輔助[J].計算機工程,2012.

      作者簡介:孟令權(1975-),副研究員,主要從事應用技術研究工作。

      猜你喜歡
      中間件
      我國自主可控中間件發(fā)展研究
      RFID中間件技術及其應用研究
      電子制作(2018年14期)2018-08-21 01:38:10
      基于VanConnect中間件的設計與開發(fā)
      電子測試(2018年10期)2018-06-26 05:54:02
      基于Android 平臺的OSGi 架構中間件的研究與應用
      電子制作(2017年13期)2017-12-15 09:00:21
      機載計算機中間件技術研究
      電子測試(2017年11期)2017-12-15 08:52:15
      RFID中間件發(fā)展與趨勢研究
      電腦與電信(2015年4期)2015-03-24 10:48:24
      以實力證明 用事實說話
      中間件在高速公路領域的應用
      云計算環(huán)境下中間件的負載均衡機制研究
      基于SAF規(guī)范的高可用電信中間件設計
      勐海县| 黑河市| 黔西县| 芜湖县| 抚顺市| 洛隆县| 濮阳县| 开化县| 务川| 霞浦县| 河南省| 深水埗区| 田阳县| 开化县| 潢川县| 伊宁市| 景德镇市| 和田市| 运城市| 澄迈县| 揭阳市| 大竹县| 清河县| 黄骅市| 农安县| 阳江市| 九寨沟县| 玉门市| 年辖:市辖区| 固镇县| 定兴县| 黎城县| 定陶县| 平武县| 绥宁县| 寻乌县| 青浦区| 青海省| 波密县| 涡阳县| 临夏市|