【畢業(yè)學(xué)位論文】(Word原稿)一個(gè)基于Eclipse的OnceIDE集成框架設(shè)計(jì)與實(shí)現(xiàn)-計(jì)算機(jī)軟件與理論_第1頁
【畢業(yè)學(xué)位論文】(Word原稿)一個(gè)基于Eclipse的OnceIDE集成框架設(shè)計(jì)與實(shí)現(xiàn)-計(jì)算機(jī)軟件與理論_第2頁
【畢業(yè)學(xué)位論文】(Word原稿)一個(gè)基于Eclipse的OnceIDE集成框架設(shè)計(jì)與實(shí)現(xiàn)-計(jì)算機(jī)軟件與理論_第3頁
【畢業(yè)學(xué)位論文】(Word原稿)一個(gè)基于Eclipse的OnceIDE集成框架設(shè)計(jì)與實(shí)現(xiàn)-計(jì)算機(jī)軟件與理論_第4頁
【畢業(yè)學(xué)位論文】(Word原稿)一個(gè)基于Eclipse的OnceIDE集成框架設(shè)計(jì)與實(shí)現(xiàn)-計(jì)算機(jī)軟件與理論_第5頁
已閱讀5頁,還剩64頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

分類號 密級 編號 中國科學(xué)院研究生院 碩士學(xué)位論文 一個(gè)基于 成框架設(shè)計(jì)與實(shí)現(xiàn) 指導(dǎo)教師 黃濤 研究員 申請學(xué)位級別 碩士 學(xué)科專業(yè)名稱 計(jì)算機(jī)軟件與理論 論文提交日期 2008 年 5 月 論文答辯日期 2008 年 6 月 培養(yǎng)單位 中國科學(xué)院軟件研究所 學(xué)位授予單位 中國科學(xué)院研究生院 答辯委員會主席 謝 冰 獨(dú)創(chuàng)性聲明 本人聲明所呈交的論文是我個(gè)人在導(dǎo)師指導(dǎo)下進(jìn)行的研究工作及取得的研究成果。盡我所知,除了文中特別加以標(biāo)注和致謝的地方外,論文中不包含其他人已經(jīng)發(fā)表或撰寫過的研究成果。與我一同工作的同志對本研究所做的任何貢獻(xiàn)均已在論文中作了明確的說明。 簽名: _ 日期: _ 關(guān)于論文使用授權(quán)的說明 本人完全了解中國科學(xué)院軟件研究所有關(guān)保留、使用學(xué)位論文的規(guī)定,即:中國科學(xué)院軟件研究所有權(quán)保留送交論文的復(fù)印件,允許論文被查閱和借閱;中國科學(xué)院軟件研究所可以公布論文的全部或部分內(nèi)容,可以采用影印、縮印或其它復(fù)制手段保存論文。 (保密的論文在解密后應(yīng)遵守此規(guī)定) 簽名: _ 導(dǎo)師簽名: _ 日期: _ I 摘 要 軟件開發(fā)環(huán)境是開發(fā)人員進(jìn)行軟件開發(fā)活動的重要平臺。傳統(tǒng)的開 發(fā)環(huán)境對于開放性及可擴(kuò)展性支持明顯不足,而基于插件體系結(jié)構(gòu)的軟件開發(fā)環(huán)境如,由于其自身結(jié)構(gòu)的特點(diǎn),提供了較好的開放性和可擴(kuò)展性,是目前軟件開發(fā)環(huán)境的發(fā)展重要方向。 由于 軟件開發(fā)工具 的 種類繁多 且彼此間的 關(guān)聯(lián)多樣化 ,基于插件體系結(jié)構(gòu)的開放式平臺不能有效地 滿足 工具之間數(shù)據(jù)一致性約束以及跨平臺調(diào)用 的 集成 需求。 針對上述需求的研究成果及解決方法仍存在不足。 論文針對以上問題,嘗試提出了一個(gè)集成框架,以解決目前已有 開發(fā)環(huán)境在工具集成上的不足。該框架 分別提供基于模型同步和遠(yuǎn)程交互兩種集成機(jī)制 ,分別致力于解決 插件工具在數(shù)據(jù)一致性上的同步需求 和 跨平臺調(diào)用上 的 交互需求 。首先,論文抽取了開發(fā)人員實(shí)現(xiàn)具體模型同步過程的需求,形成模型 同步 模塊 ,力求刻畫模型 同步 的本質(zhì)特征 并 以模型同步的方式滿足一致性約束 。 由于插件大多采用 種模型 建模, 論文基于模型同步 模塊 , 提供了對 的同步 支持 。 然后, 論文 對 遠(yuǎn)程交互 模塊 進(jìn)行了設(shè)計(jì),歸并了 跨平臺調(diào)用引入 的通訊需求,構(gòu)建了一個(gè)通信管理模塊,該模塊管理多種 議并且支持 異步 通 信方式 。 同時(shí), 在該模塊之上, 定義了插件遠(yuǎn)程交互的開發(fā)過程及 編程接口, 為分布式協(xié)作開發(fā)環(huán)境提供 支撐。 論文將集成框架應(yīng)用到 中國科學(xué)院軟件研究所開發(fā)的基于臺的軟件開發(fā)環(huán)境 )中, 通過 完成 基于 建的 件模型 與型 的 同步和基于 遠(yuǎn)程交互 模塊 的共享日歷事件管理工具 的導(dǎo)出 , 驗(yàn)證 了成框架在解決 數(shù)據(jù)一致性約束及跨平臺調(diào)用兩方面 集成 需求 的有效性。 關(guān)鍵字 : 集成框架,模型交互,分布式協(xié)作 I n i, is an of is of on is an of of of to a of of of on of At on to of is a of to an to of in of to on of on of of a of on a MF in of a by a PC At we a of to be of By eb OM of Weve of to of 一個(gè)基于 成框架設(shè)計(jì)與實(shí)現(xiàn) 1 目錄 第一章 引言 . 1 究背景 . 1 文工作 . 2 文組織 . 3 第二章 相關(guān)技術(shù)綜述 . 5 件開發(fā)環(huán)境結(jié)構(gòu)的發(fā)展 . 5 成開發(fā)環(huán)境 . 5 擴(kuò)展開發(fā)環(huán)境與插件體系結(jié)構(gòu) . 5 其插件體系結(jié)構(gòu) . 6 于 插件工具集成綜述 . 7 于 插件集成需求 . 7 業(yè)界插件集成方法 . 9 插件集成機(jī)制 . 9 于模型轉(zhuǎn)換的插件集成 . 9 集成工具 . 10 成框架需求分析 . 11 成框架在數(shù)據(jù)一致性方面的需求分析 . 11 成框架在跨平臺調(diào)用方面的需求分析 . 12 章小結(jié) . 12 第三章 成框架設(shè)計(jì)與實(shí)現(xiàn) . 13 成框架 . 13 于模型同步的集成機(jī)制的設(shè)計(jì)與實(shí)現(xiàn) . 14 型同步模塊設(shè)計(jì) . 14 型同步模塊的業(yè)務(wù)流程 . 17 型同步模塊實(shí)現(xiàn) . 17 型同步過程的設(shè)計(jì)與實(shí)現(xiàn) . 20 結(jié) . 30 于遠(yuǎn)程交互的集成機(jī)制的設(shè)計(jì)與實(shí)現(xiàn) . 30 述 . 30 系結(jié)構(gòu)描述 . 30 信模塊的設(shè)計(jì)與實(shí)現(xiàn) . 33 程模型 . 38 結(jié) . 41 章小結(jié) . 41 第四章 成框架在 發(fā)環(huán)境中的應(yīng)用 . 42 析 . 42 于模型同步的集成機(jī)制在 的應(yīng)用 . 44 用場景 . 44 件模型與 型的同步 . 45 署描述符編輯器 . 47 第一章 引 言 2 結(jié) . 48 于遠(yuǎn)程交互的集成機(jī)制在 的應(yīng)用 . 48 用背景 . 48 計(jì)與實(shí)現(xiàn) . 49 用過程 . 50 結(jié) . 51 章小結(jié) . 51 第五章 結(jié)束語 . 53 文的貢獻(xiàn) . 53 一步的工作 . 53 中國科學(xué)院軟件研究所碩士畢業(yè)論 文 一個(gè)基于 成框架設(shè)計(jì)與實(shí)現(xiàn) 1 第一章 引言 究背景 軟件工具是一類 輔助計(jì)算機(jī)軟件開發(fā)、運(yùn)行、維護(hù)、管理、支持等過程中的活動或任務(wù)的軟件。使用軟件工具能節(jié)省軟件生產(chǎn)開銷,提高軟件生產(chǎn)率和產(chǎn)品質(zhì)量。 隨著軟件 自身 結(jié)構(gòu)的日益復(fù)雜,為細(xì)化軟件開發(fā)的分工,開發(fā)過程被劃分為需求分析,設(shè)計(jì)建模,代碼編寫,部署監(jiān)控等 多個(gè)階段 。 軟件工具 也 被進(jìn)一步分類, 出現(xiàn)了針對各個(gè)階段不同粒度的工具,如 模工具,調(diào)試工具等。眾多紛繁的 軟件 工具給用戶在選 擇和集成上都帶來了許多問題,軟件開發(fā)環(huán)境應(yīng)運(yùn)而生。 軟件 開發(fā) 環(huán)境是按某種方式關(guān)聯(lián)的軟件工具集合 。 縱觀軟件 開發(fā) 環(huán)境的發(fā)展,可以把它們總結(jié)為五個(gè)發(fā)展階段: 1945期,直接運(yùn)行在裸機(jī)上的專用開發(fā)工具、 1960期,基于命令行的開發(fā)環(huán)境 ( 1980期,集成開發(fā)環(huán)境 ( 2000期,擴(kuò)展開發(fā)環(huán)境 (及 2005 年開始興起的協(xié)同開發(fā)環(huán)境 ( 早期 的軟件開發(fā)環(huán)境 是一種集代碼編寫,調(diào)試運(yùn)行等工具于一體的集成開發(fā)環(huán)境 。集成開發(fā)環(huán)境提供的特性主要聚焦于以語法為導(dǎo)向的編輯器擴(kuò)展,用于增強(qiáng)用戶的開發(fā)過程體驗(yàn)。 但是, 集成環(huán)境無法滿足不斷出現(xiàn)的新開發(fā)工具的集成需求。于是,軟件開發(fā)環(huán)境發(fā)展到一個(gè)可擴(kuò)展的環(huán)境的階段 。 可 擴(kuò)展開發(fā)環(huán)境基于一定的集成和擴(kuò)展體系結(jié)構(gòu),由一系列互相依賴的工具組成。 僅支持時(shí)間上的松耦合開發(fā),也支持空間上的分布開發(fā),并且開始考慮對非軟件依賴因素的管理。 供的特性包括重構(gòu)支持、需求變更管理、配置管理、建模等。典型的代表 有 : 、 。其中, 臺,它確定了一整套工具接口和模型規(guī)范,可以 將 眾多工具集成為一個(gè)整體。 目前,可擴(kuò)展開發(fā)環(huán)境仍然是軟件開發(fā)環(huán)境的主流。 在 可 擴(kuò)展 開發(fā) 環(huán)境 下, 人們 集成多種軟件工具以滿足開發(fā)需求 。 以臺 為例,它 提供近百種 工具,覆蓋范圍包括多種編程語言的 支 持 (+、 ), 具 ( 建模 ( 圖形系統(tǒng) (。 軟件開發(fā)不僅僅是單純的編碼,它是團(tuán)隊(duì)開發(fā)者相互合作設(shè)計(jì)解決方案,構(gòu)建高質(zhì)量代碼的協(xié)同過程。 以協(xié)同開發(fā)思想為基礎(chǔ)的協(xié)同開發(fā)環(huán)境成為 軟件開發(fā)環(huán)境的 發(fā)展趨勢。 第一章 引 言 2 在 可 擴(kuò)展軟件開發(fā)環(huán)境 中 , 不同的工具 以插件 (見第二章插件體系結(jié)構(gòu)介紹)的形式 被包含在同一個(gè)開發(fā)平臺之上 。 插件 之間存在不同類型的 關(guān)聯(lián) ,這些 關(guān)聯(lián)可以被分為直接關(guān)聯(lián)與間接關(guān)聯(lián)兩種 : 1) 直接關(guān)聯(lián) 表現(xiàn) 為一個(gè)插件聲明對另一個(gè)插件的引用,并在 代碼中調(diào)用該插件的方法。 更進(jìn)一步地,當(dāng)兩個(gè)插件處于同一開發(fā)環(huán)境中時(shí),稱它們之間的調(diào)用是本地調(diào)用,否則,稱其為遠(yuǎn)程調(diào)用。 2)間接關(guān)聯(lián)是兩個(gè)插件由于數(shù)據(jù)或功能上的相關(guān)而產(chǎn)生 的關(guān)聯(lián) ,這種關(guān)聯(lián)可能是某種約束,也可能是某種依賴關(guān)系 。 根據(jù)上述分析, 可以 認(rèn)為這兩種關(guān)聯(lián)是插件集成需求的主要來源, 即 插件集成是將一組插件以某種機(jī)制連接起來的過程, 該機(jī)制 需要負(fù)責(zé)插件間的通信、維護(hù)插件間的關(guān)聯(lián)。 在 插件集成過程中,存在以下兩個(gè)典型的場景: 1)插件往往包含一個(gè)或多個(gè)模型,兩個(gè)插件之 間可能存在數(shù)據(jù)一致性的要求, 模型同步是這種要求的一種具體體現(xiàn)。 例如,在 用開發(fā)中, 以 件模型為輸入, 編輯 件 的視圖,與 以 型為輸入 編輯部署描述符文件 的視圖,兩個(gè)視圖的集成,需要一種機(jī)制負(fù)責(zé)它們的信息同步, 這種信息同步 表現(xiàn)為 件模型與 型的同步。 2) 在 分布式協(xié)作 開發(fā)環(huán)境 下,各個(gè)開發(fā)人員可以通過服務(wù)器端管理工具 實(shí)現(xiàn) 協(xié)作,這種協(xié) 作 往往通過跨平臺插件 間的遠(yuǎn)程 調(diào)用完成。 例如,服務(wù)器端有一個(gè)任務(wù)管理插件,開發(fā)人員 在客戶端, 通過查詢 該插件希望 獲得任務(wù)描述, 這個(gè)查詢動作就是一 個(gè)跨平臺 遠(yuǎn)程 調(diào)用過程。 目前, 工業(yè)界雖然存在多種集成方法( 見 第二章的 工業(yè)界插件集成方法介紹 ),然而,對于 上述兩個(gè)場景,并沒有一種有效的集成 手段。 已有 的 解決 方案都是 通過 為具體的兩個(gè)插件 定制 一種模型同步的過程或者是遠(yuǎn)程通信方式 來實(shí)現(xiàn)插件集成 , 缺乏可移植性和復(fù)用性。 為 此,需要一種更為 普適的 集成 方法, 可以完成符合一個(gè)場景的一類插件的集成。這種需 求 正是本論文的起點(diǎn)和目標(biāo)。 文工作 論文工作主要圍繞上 述 需求 展開研究。 (1) 成框架的設(shè)計(jì)與實(shí)現(xiàn) 中國科學(xué)院軟件研究所碩士畢業(yè)論 文 一個(gè)基于 成框架設(shè)計(jì)與實(shí)現(xiàn) 3 針對插件集成在數(shù)據(jù)一致性及跨平臺調(diào)用兩方面的需求 ,論文 構(gòu)建 包含一個(gè)模型同步 模塊以及一個(gè)遠(yuǎn)程交互模塊 。 論文 以保持模型同步的方式滿足數(shù)據(jù)一致性約束,設(shè)計(jì)實(shí)現(xiàn)模型同步 模塊 。該 模塊 不僅實(shí)現(xiàn)結(jié)構(gòu)化模型的同步過程, 并通過 監(jiān)聽 機(jī)制捕獲和追溯 模型 的更新過程,實(shí)現(xiàn) 同步過程 的細(xì)粒度 自動觸發(fā)。 基于模型同步 模塊 ,論文還實(shí)現(xiàn)了 14與 型 29的同步,為實(shí)現(xiàn)基于 建的模型與 型的同步提供支持。 另一方面, 論文 通過 遠(yuǎn)程交互 模塊 支持跨平臺調(diào)用 。 模塊 包含 一個(gè)通信管理模塊, 針對跨平臺調(diào)用引入的 通訊需求 , 管理多種 議 1923并且支持通訊交互的異步機(jī)制。在該模塊之上, 定義 提供一組編程接口, 以及 一個(gè)開發(fā)過程,遵循該過程可以將遠(yuǎn)程插件導(dǎo)出以被遠(yuǎn)程調(diào)用。 (2) 成框架 在 的 應(yīng)用 論文 分析 集成方面的具體需求, 給出 集成框架在 的應(yīng)用?;?型同步 過程,論文實(shí)現(xiàn) 件模型與 型的同步過程 ,用于 發(fā)環(huán)境 下 程 的 開發(fā),同步 程管理 過程 與 置文件 編輯 過程,使得 發(fā)環(huán)境更加統(tǒng)一。 用遠(yuǎn)程交互 模塊 支持跨平臺調(diào)用, 為 分布式協(xié) 同 平臺 提供基礎(chǔ)支持 。論文以 的 日歷 事件管理工具為例,擴(kuò)展遠(yuǎn)程交互 模塊 的編程接口,導(dǎo)出該工具,使其能夠被跨平臺訪問 。按照同樣的方式,可以向 文組織 論文的后續(xù)章節(jié)按以下方式總結(jié): 第二章給出 相關(guān)技術(shù) 綜述 。首先介紹 軟件開發(fā)環(huán)境結(jié)構(gòu)的發(fā)展,給出插件開發(fā)體系結(jié)構(gòu)與 的概述;接著 分析 件 的發(fā)展趨勢以及插件間的關(guān)聯(lián)方式,并給出工業(yè)界已有的插件集成方法介紹 ; 最后,基于上述研究, 分析集成框架的需求。 第三章介紹 成框架的設(shè)計(jì)實(shí)現(xiàn)。 論文 首先 針對上一章提及的集成需求,引出 成框架 及其 體系結(jié)構(gòu) 介紹。接著 , 依次從設(shè)計(jì) 方案 、業(yè)務(wù)流程以及 各 模塊的具體實(shí)現(xiàn) 三個(gè)方面詳細(xì)介紹了 成框架的 基于模型同步的集成機(jī)制的設(shè)計(jì)與實(shí)現(xiàn) 。 在分析 型同步的 需求和 意義后,論文按照模型同步 模塊 定義的開發(fā)過程,依次給出 型同步過程的實(shí)現(xiàn)。 然 后,論文詳細(xì)描述了 遠(yuǎn)程交互 模塊 的體系結(jié)構(gòu),從多種協(xié)議的支持、異步通信方式兩個(gè)方面介紹了通信模塊的設(shè)計(jì)實(shí)現(xiàn),并給出編程模型 介紹 及相關(guān)接口設(shè)計(jì)。 第一章 引 言 4 第四章介紹 成框架 在 的應(yīng)用 。 論文 首先 簡要 介紹存在的集成需求。隨后,論文 詳細(xì) 分析了 模型同步 模塊 的應(yīng)用場景,給出了 件模型與 型的同步 實(shí)現(xiàn),并介紹 基于該同步構(gòu)建的部署描述編輯器 。 最后,論文詳細(xì)分析了遠(yuǎn)程交互 模塊 的應(yīng)用場景, 給出 日歷事件管理 工具 導(dǎo)出過程的設(shè)計(jì)與實(shí)現(xiàn)。 第五章對全文的工作進(jìn)行了總結(jié),并對進(jìn)一步的研究提出了展望。中國科學(xué)院軟件研究所碩士畢業(yè)論 文 一個(gè)基于 成框架設(shè)計(jì)與實(shí)現(xiàn) 5 第二章 相關(guān)技術(shù)綜述 可擴(kuò)展開發(fā)環(huán)境為構(gòu)建各種功能的軟件開發(fā)環(huán)境提供一個(gè)基礎(chǔ)平臺,各種產(chǎn)品都在其上擴(kuò)展出面向不同領(lǐng)域的解決方 案,并由此發(fā)展出一系列與關(guān)的技術(shù) 與需求 。 本章 首先介紹軟件開發(fā)環(huán)境的結(jié)構(gòu)發(fā)展,引出 其插件體系結(jié)構(gòu) ;隨后分析了 在 臺上 進(jìn)行插件開發(fā)的 趨勢 , 以及由插件關(guān)聯(lián)引起的集成需求, 并介紹了工業(yè)界 已有的一些集成方法;最后從兩個(gè)集成場景的需求分析中引出論文工作。 件開發(fā)環(huán)境結(jié)構(gòu) 的 發(fā)展 成開發(fā)環(huán)境 軟件開發(fā) 早期,人們?yōu)榱耸归_發(fā)過程更加簡單化, 將軟件開發(fā)、調(diào)試和運(yùn)行相關(guān)的工具以緊耦合的方式整合在一起, 形成 統(tǒng)一的 集成開發(fā)環(huán)境。 由于有專業(yè)的軟件開發(fā)商負(fù)責(zé)集成開 發(fā)環(huán)境的 整合、更新、升級以及維護(hù), 軟件開發(fā)人員 可以專注于軟件的開發(fā),而無須考慮軟件生產(chǎn)工具的組合 及 軟件環(huán)境的搭建。這樣大大提高了軟件 的 生產(chǎn)效率。 但是,不同的軟件開發(fā)商 提供的 集成開發(fā)環(huán)境 架構(gòu) 設(shè)計(jì) 及實(shí)現(xiàn)各不相同 ,工具間的接口 多樣且 互 不兼容 。隨著軟件開發(fā) 日益規(guī)?;_發(fā)人員對 軟件工具的需求 日益 多樣 化 。 缺乏可擴(kuò)展性 、更新緩慢、難以維護(hù) 使得集成開發(fā)環(huán)境無法適應(yīng) 軟件開發(fā)人員對于開發(fā)環(huán)境可擴(kuò)展、可靈活配置,開發(fā)工具可協(xié)作的需求。 擴(kuò)展開發(fā)環(huán)境與插件體系結(jié)構(gòu) 為了解決集成環(huán)境的可擴(kuò)展性差 的缺陷 , 工業(yè)界 引 入 一種“微內(nèi)核 +擴(kuò)展 體 ”的插件體系結(jié)構(gòu) 。 插件 是 一種結(jié)構(gòu)化組件, 封裝 代碼(和或文檔) , 并對自身結(jié)構(gòu)進(jìn)行描述。 插件獨(dú)立地實(shí)現(xiàn) 一 個(gè)或 一組 功能,在不對原系統(tǒng)作修改的情況下將該功能添加至系統(tǒng) 。 在 插件 體系結(jié)構(gòu) 中, 微內(nèi)核組織、管理、運(yùn)行擴(kuò)展 體 , 而擴(kuò)展 體 作為外圍設(shè)備按照一定的規(guī)范編寫并運(yùn)行在微內(nèi)核之上 。 插件體系結(jié)構(gòu) 目前 被很多開發(fā)環(huán)境所使用,如 等。 插件體系結(jié)構(gòu)的一個(gè)典型代表是 架 1。 簡稱,包括 兩方面的含義,一方面第二章 相關(guān)技術(shù)綜述 6 是指 織本身,另一方面指由該組織制定的基于 言的一系列服務(wù)規(guī)范以及基于這些規(guī)范的實(shí)現(xiàn) 體系架構(gòu)是基于插件式的軟件結(jié)構(gòu),包括一個(gè) 架和一系列插件 。 架負(fù)責(zé) 向框架之上的應(yīng)用(稱為 供一種標(biāo)準(zhǔn)化的環(huán)境。如圖 2架 可 以 被劃分為 如下 層次: 運(yùn)行時(shí)環(huán)境( : 運(yùn)行時(shí)環(huán)境為整個(gè) 架提供一 個(gè) 境的支持, 都是有效的運(yùn)行時(shí)環(huán)境 模塊( : 模塊層則定義一種加載策略,允許模塊間類的共享并將這種共享控制在安全策略中 生命周期管理( : 生命周期管理層則為應(yīng)用提供如啟動、結(jié)束、安裝、卸載等動態(tài)特性,使得整個(gè)框架可以動態(tài)擴(kuò)展 服務(wù)注冊( : 服務(wù)注冊層為模塊提供一種運(yùn)行時(shí)的共享功能,并定義大量的事件來捕捉服務(wù)的添加、刪除等動作 其插件體系結(jié)構(gòu) 目前 業(yè)界比較成功的基于插件體系結(jié)構(gòu)的軟件開發(fā)平臺,其架構(gòu)如圖 2示。 為整個(gè)系統(tǒng)的基礎(chǔ),是一個(gè)專門為插件提供運(yùn)行時(shí) 支撐的 容器,其本身不具備任何面向用戶的業(yè)務(wù)功能。所有的業(yè)務(wù)功能,都封裝在 插件中。 的 發(fā)工具包)和 件開發(fā)環(huán)境) 等工具都基于 插件 方式 實(shí)現(xiàn) 4。 圖 2臺體系結(jié)構(gòu) 版本 始采用 為其底層運(yùn)行時(shí)組件模型 ,實(shí)現(xiàn)圖 2架結(jié)構(gòu) 中國科學(xué)院軟件研究所碩士畢業(yè)論 文 一個(gè)基于 成框架設(shè)計(jì)與實(shí)現(xiàn) 7 中的 塊 。 體系結(jié)構(gòu)如圖 2示: 圖 2 于 間,為 供了一個(gè)發(fā)現(xiàn)插件( 的 更新插件和卸載插件的平臺,其中 管理插件包括管理插件的生命周期 和加載過程 。 供的推遲加載( 機(jī)制 1降低了啟動時(shí)間和資源消耗(主要是內(nèi)存資源)。 在 上, 包括 所有 中, 供 境下的 運(yùn)行環(huán)境。 責(zé)管理插件的更新; 件負(fù)責(zé) 向后兼容,使得舊的 以應(yīng)用在新的平臺下。 在 上,所有的應(yīng)用都實(shí)現(xiàn)為一組 間相互協(xié)作實(shí)現(xiàn)應(yīng)用 的功能。任何一個(gè) 是一個(gè) 于 插件工具 集成 綜述 于 插件 集成需求 基于插件體系結(jié)構(gòu)的 臺提供了一個(gè)開放式的環(huán)境,并鼓勵(lì)在 其 上開發(fā)各種輔助工具。 隨著開發(fā)領(lǐng)域的逐漸廣闊,各種輔助工具層出不窮, 從代碼編輯工具、建模工具、調(diào)試工具到過程管理工具, 無一不 成為 臺 關(guān)注的焦點(diǎn) 。 對 臺的擴(kuò)展,即插件開發(fā), 可以 分為以下幾個(gè)方 向 : 第二章 相關(guān)技術(shù)綜述 8 (1) 開發(fā)工具的功能完善 軟件開發(fā)環(huán)境最直接的需求就是輔助開發(fā)人員 進(jìn)行軟件的設(shè)計(jì)、開發(fā)。因此 ,適應(yīng)不同領(lǐng)域的軟件開發(fā)的需求,提供各種功能 的開發(fā)工具 實(shí)現(xiàn)是 臺插件開發(fā)的一個(gè)大的部分 。這些功能一般地分為模型設(shè)計(jì)、代碼編輯、調(diào)試分析、部署監(jiān)控這四個(gè)方面 , 具體 涵蓋對 多種編程語言 的支持、對 用開發(fā)的支持、建模工具以及圖形編輯工具等等。 (2) 開發(fā)過程的管理 隨著軟件開發(fā)的規(guī)范化,各種軟件開發(fā) 框架 層出不窮 , 它們 在開發(fā)流程、開發(fā)文檔保存、開發(fā)協(xié)作上各不相同。 作為軟件開發(fā)的平臺 ,保持對開發(fā)框架的支持是當(dāng)前的開發(fā)熱點(diǎn)之一。 (3) 分布式協(xié)同的支持 軟件開發(fā)過程首先是一個(gè)協(xié)作的 過程,軟件開發(fā)環(huán)境往往需要為開發(fā)人員創(chuàng)建一個(gè)協(xié)同工作的環(huán)境,支持開發(fā)人員在環(huán)境內(nèi)部進(jìn)行通信、文件共享、項(xiàng)目管理等行為 ,具體產(chǎn)品有 源代碼控制系統(tǒng)、即時(shí)通信系統(tǒng)等 。 這些紛繁復(fù)雜的插件工具都遵循 插件編寫要求,將自身添加到平臺之上。 然而,這些插件彼此并不是孤立的,它們之間往往存在各種直接或間接的關(guān)聯(lián)。 在描述這些關(guān)聯(lián)時(shí), 我們 首先 從調(diào)用者的角度,將插件(被調(diào)用者)分為兩類: 本地插件(調(diào)用者通過本地方法調(diào)用獲取插件的功能,簡單地可以認(rèn)為調(diào)用者和插件處于同一個(gè) 擬機(jī)中) 遠(yuǎn)程插件(需要在調(diào)用者 和該插件之間建立遠(yuǎn)程通信, 通過某種協(xié)議 獲取插件的功能) 在上述分類的基礎(chǔ)上,我們將插件之間的關(guān)聯(lián)分為兩種: 一種是 直接關(guān)聯(lián) ,即一個(gè)插件需要調(diào)用另一個(gè)插件的某個(gè)方法,根據(jù)插件的分類,這個(gè)調(diào)用的被調(diào)用者既可能是本地插件,也可能是遠(yuǎn)程插件。本地插件調(diào)用本地插件 的過程, 是一個(gè) 直接調(diào)用 編程級 接口 的過程。 而本地插件調(diào)用遠(yuǎn)程插件的過程, 則是一個(gè)本地插件獲得遠(yuǎn)程插件的接口 ,通過遠(yuǎn)程通信協(xié)議,調(diào)用遠(yuǎn)程插件的相應(yīng)方法的過程。 另一種是 間接關(guān)聯(lián) ,只要兩個(gè)插件之間有某種關(guān)系需要滿足,我們都可以稱其為具有間接關(guān)聯(lián)。這種間接關(guān)聯(lián)可能 是 一個(gè) 插件 從 功能上 擴(kuò)展另一個(gè)插件, 也可能是插件 間數(shù)據(jù)一致性的需求 。 插件集成是由插件之間的關(guān)聯(lián)引起的, 在組合這些插件時(shí),開發(fā)環(huán)境需要 有多種集成機(jī)制,支持、維護(hù)這些 關(guān)聯(lián),使得各種插件可以正常地運(yùn)行在同一開發(fā)平臺之上。 中國科學(xué)院軟件研究所碩士畢業(yè)論 文 一個(gè)基于 成框架設(shè)計(jì)與實(shí)現(xiàn) 9 業(yè)界 插件集成方法 插件集成機(jī)制 圍繞在運(yùn)行時(shí)模塊四周的插件 根據(jù) 系結(jié)構(gòu)提供的交互方式按照不同的開發(fā)層次組織起來 。 這種交互方式主要是通過一種叫擴(kuò)展( 機(jī)制實(shí)現(xiàn)的,此外還有其他一些方式組織各種插件 4。 (1) 擴(kuò)展機(jī)制 擴(kuò)展( 一個(gè)關(guān)鍵機(jī)制,插件利用擴(kuò)展向 臺添加新功能 。 但是擴(kuò)展不能隨意地創(chuàng)建,必須按照擴(kuò)展點(diǎn)( 義的規(guī)范進(jìn)行明確的聲明, 能識別出這些擴(kuò)展 。 所謂擴(kuò)展點(diǎn),就是 義出來可以讓用戶擴(kuò)展的地方,可以認(rèn)為是一些擴(kuò)展的契約;而擴(kuò)展,就是用戶對這些擴(kuò)展點(diǎn)的實(shí)現(xiàn) 。 用戶不僅可以使用 且可以定義新的擴(kuò)展點(diǎn),并 對 該擴(kuò)展點(diǎn)進(jìn)行擴(kuò)展 。 擴(kuò)展機(jī)制實(shí)際是一種互操作的通用設(shè)計(jì)原則,即規(guī) 范化的接口和配置 。 插件通過實(shí)現(xiàn)其他插件的擴(kuò)展并被其他插件實(shí)現(xiàn)自己的擴(kuò)展,從而形成一種圍繞在臺運(yùn)行時(shí)的互相關(guān)聯(lián)、向外輻射的層次結(jié)構(gòu) 。 (2) 其他方式 插件除了利用配置擴(kuò)展點(diǎn)的方式關(guān)聯(lián)其他插件,還可以利用直接調(diào)用其他插件提供的編程一級的接口,如類、方法等 。 通過這樣一種調(diào)用方式,插件之間建立起互相依存的關(guān)系 。 考慮到安全問題,有些插件并不愿暴露所有的接口,因此 定義了一種機(jī)制,通過配置文件中 將 包分為可導(dǎo)出的以及不可導(dǎo)出的兩種,從一定程度上限制了其他插件對它的訪問 。 于 模型轉(zhuǎn)換的插件 集成 議將開發(fā)過程劃分為平臺無關(guān)的設(shè)計(jì)階段,如 模,以及平臺相關(guān)的實(shí)現(xiàn)階段,如代碼編寫。開發(fā)環(huán)境為支持這種模型驅(qū)動的開發(fā)方式,需要將面向不同開發(fā)階段的插件整合起來 15。 這些插件之間存在一種間接關(guān)聯(lián),即前一個(gè)插件的輸出 在 邏輯 上 是后一個(gè)插件的輸入,但在格式上 不 完全 相同。 模型轉(zhuǎn)換工具通過完成兩者的轉(zhuǎn)換以達(dá)到集成的目的。 是處理 通過編寫轉(zhuǎn)換規(guī)則對 相關(guān)技術(shù)綜述 10 文件信息進(jìn)行篩選、修改,從而完成兩者之間的轉(zhuǎn)換。但是,這種方式存在一些不足,首 先,使用該轉(zhuǎn)換方法,用戶需要了解目標(biāo)模型的語法表示細(xì)節(jié),而不是僅僅需要關(guān)注抽象結(jié)構(gòu);其次,這種轉(zhuǎn)換方法并不支持調(diào)試,所有的轉(zhuǎn)換過程都通過值傳遞來實(shí)現(xiàn),引入了大量的結(jié)構(gòu)拷貝動作,使得效率十分低下,并且對源模型的每一次修改都會導(dǎo)致整個(gè)源模型文件的重新轉(zhuǎn)換。 3提供一種語言,可以描述 型之間的關(guān)系,定義它們之間的轉(zhuǎn)換規(guī)則。 擬機(jī)解析并執(zhí)行這些規(guī)則,完成相應(yīng)的轉(zhuǎn)換。 言定義的規(guī)則僅僅支持單向轉(zhuǎn)換,有一些研究工作擴(kuò)展 擬機(jī),為源模型元素與生成的目標(biāo)模型元素建立一種可回朔的關(guān)系,從 而支持雙向轉(zhuǎn)換及同步。同樣的,利用 轉(zhuǎn)換也無法支持細(xì)粒度的修改,對源模型或目標(biāo)模型的修改,總是會觸發(fā)整個(gè)模型的轉(zhuǎn)換過程。 集成工具 是基于 集成開發(fā)環(huán)境,它在 1基礎(chǔ)上進(jìn)行進(jìn)一步的開發(fā) 。 該開發(fā)環(huán)境包括了 產(chǎn)品 ,集成了大量的插件工具 。 各個(gè) 發(fā)階段的制品通過集成工具關(guān)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論