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

?

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

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

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

關(guān)鍵詞:中間件;異步機制;抽象語法樹

1 概述

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

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

2 Polling模型設計

2.1 設計原則

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

2.2 組成要素

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

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

3 代碼生成算法

3.1 常規(guī)方法

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

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

3.2 隱式IDL文件方法

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

3.3 抽象語法樹修改算法

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

3.4 兩種方法對比

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

3.5 抽象語法樹修改算法

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

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

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

4 結(jié)束語

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

參考文獻

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

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

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

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

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

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

猜你喜歡
中間件
我國自主可控中間件發(fā)展研究
RFID中間件技術(shù)及其應用研究
電子制作(2018年14期)2018-08-21 01:38:10
基于VanConnect中間件的設計與開發(fā)
電子測試(2018年10期)2018-06-26 05:54:02
基于Android 平臺的OSGi 架構(gòu)中間件的研究與應用
電子制作(2017年13期)2017-12-15 09:00:21
機載計算機中間件技術(shù)研究
電子測試(2017年11期)2017-12-15 08:52:15
RFID中間件發(fā)展與趨勢研究
電腦與電信(2015年4期)2015-03-24 10:48:24
以實力證明 用事實說話
中間件在高速公路領(lǐng)域的應用
云計算環(huán)境下中間件的負載均衡機制研究
基于SAF規(guī)范的高可用電信中間件設計
惠东县| 古浪县| 神池县| 蒙阴县| 武汉市| 安吉县| 新疆| 固阳县| 岫岩| 南漳县| 阿拉善盟| 玉门市| 从江县| 台南县| 桐乡市| 南川市| 游戏| 中阳县| 霞浦县| 内黄县| 灵宝市| 娄底市| 仙桃市| 陆川县| 普格县| 犍为县| 绵竹市| 偃师市| 乌兰浩特市| 蚌埠市| 靖远县| 临泉县| 瑞安市| 乡宁县| 万山特区| 泗洪县| 白朗县| 准格尔旗| 福安市| 临沭县| 连州市|