999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

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

2015-04-02 23:35:30孟令權
科技創新與應用 2015年10期

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

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

1 概述

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

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

2 Polling模型設計

2.1 設計原則

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

2.2 組成要素

按照上述原則進行設計實現CORBA模型,其組成要素中,相對于常規模型服務方構成要素變化不大,客戶方變化較大。客戶方將一些對象引入,對傳統對象擴充后實現對功能實體的支持。建立對值查詢應答的對象及Reply Handler對象請求應答的保存等都是Polling Stub的主要功能。

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

3 代碼生成算法

3.1 常規方法

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

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

3.2 隱式IDL文件方法

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

3.3 抽象語法樹修改算法

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

3.4 兩種方法對比

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

3.5 抽象語法樹修改算法

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

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

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

4 結束語

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

參考文獻

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

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

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

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

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

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

主站蜘蛛池模板: 中国一级特黄大片在线观看| 91尤物国产尤物福利在线| 免费精品一区二区h| 国产真实乱子伦视频播放| 亚洲精品视频在线观看视频| 国产交换配偶在线视频| 夜色爽爽影院18禁妓女影院| 青青青伊人色综合久久| 久久综合九九亚洲一区| 久久久久亚洲AV成人人电影软件| 91小视频在线播放| 国产成人精品在线| 中文字幕伦视频| 日韩A∨精品日韩精品无码| 极品尤物av美乳在线观看| 91国语视频| 九九热免费在线视频| 久久天天躁狠狠躁夜夜躁| 国产一区二区三区免费观看| 欧美一级特黄aaaaaa在线看片| 亚洲欧美一区二区三区蜜芽| 国产精品区网红主播在线观看| 毛片视频网址| 日韩无码真实干出血视频| 国产精品无码影视久久久久久久| 婷婷六月综合| 国产97公开成人免费视频| 国产成人免费| 永久在线精品免费视频观看| a在线观看免费| 最近最新中文字幕在线第一页| 伊人无码视屏| 久久久久久久蜜桃| 亚洲精品少妇熟女| 国产乱人乱偷精品视频a人人澡| 在线观看国产一区二区三区99| 亚洲AV成人一区国产精品| 在线观看国产小视频| 国产九九精品视频| 国产欧美另类| 久久99国产精品成人欧美| 国产在线拍偷自揄拍精品| 婷婷伊人久久| 欧美天堂在线| 欧美日韩成人在线观看| 性激烈欧美三级在线播放| 国产丰满大乳无码免费播放 | 国产18在线| 欧美亚洲另类在线观看| 在线播放国产一区| 免费视频在线2021入口| 一本大道无码高清| 色婷婷成人| 亚洲人成网站日本片| 欧美69视频在线| 青青久久91| 国产精品hd在线播放| 人与鲁专区| jizz在线观看| 免费国产无遮挡又黄又爽| 成人综合在线观看| 黄色国产在线| 国产精品亚洲五月天高清| 91亚洲精选| 国产精品美女在线| 婷婷午夜天| 日韩中文无码av超清| 国内精品免费| 在线观看国产精品日本不卡网| 欧美亚洲中文精品三区| 国产成人精品日本亚洲| 欧美精品另类| 在线看国产精品| 伊人丁香五月天久久综合| 看国产毛片| 亚洲 日韩 激情 无码 中出| 欧美 亚洲 日韩 国产| 国产一级在线观看www色| 日韩视频精品在线| 欧美成人二区| 麻豆国产在线观看一区二区| 亚洲天堂视频网|