已閱讀5頁(yè),還剩58頁(yè)未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
申請(qǐng)同濟(jì)大學(xué)工學(xué)碩士學(xué)位論文 二七年二月 基于 件的 術(shù)的研究 ( 國(guó)家 863“軟件重大專項(xiàng)”項(xiàng)目 編號(hào): 2001 培養(yǎng)單位:電子與信息工程學(xué)院 一級(jí)學(xué)科:計(jì)算機(jī)科學(xué)與技術(shù) 二級(jí)學(xué)科:計(jì)算機(jī)軟件與理論 研 究 生:王琦 指導(dǎo)教師:陳榕 教授 A in 2007 基于 C A R 構(gòu)件 的 A O P 技術(shù)的研究 王琦 同濟(jì)大學(xué) 學(xué)位論文版權(quán)使用授權(quán)書(shū) 本人完全了解同濟(jì)大學(xué)關(guān)于收集、保存、使用學(xué)位論文的規(guī)定,同意如下各項(xiàng)內(nèi)容:按照學(xué)校要求提交學(xué)位論文的印刷本和電子版本;學(xué)校有權(quán)保存學(xué)位論文的印刷本和電子版,并采用影印、縮印、掃描、數(shù)字化或其它手段保存論文;學(xué)校有權(quán)提供目錄檢索以及提供本學(xué)位論文全文或者部分的閱覽服務(wù);學(xué)校有權(quán)按有關(guān)規(guī)定向國(guó)家有關(guān)部門或者機(jī)構(gòu)送交論文的復(fù)印件和電子版;在不以贏利為目的的前提下,學(xué)??梢赃m當(dāng)復(fù) 制論文的部分或全部?jī)?nèi)容用于學(xué)術(shù)活動(dòng)。 學(xué)位論文作者簽名: 年 月 日 同濟(jì)大學(xué)學(xué)位論文原創(chuàng)性聲明 本人鄭重聲明:所呈交的學(xué)位論文,是本人在導(dǎo)師指導(dǎo)下,進(jìn)行研究工作所取得的成果。除文中已經(jīng)注明引用的內(nèi)容外,本學(xué)位論文的研究成果不包含任何他人創(chuàng)作的、已公開(kāi)發(fā)表或者沒(méi)有公開(kāi)發(fā)表的作品的內(nèi)容。對(duì)本論文所涉及的研究工作做出貢獻(xiàn)的其他個(gè)人和集體,均已在文中以明確方式標(biāo)明。本學(xué)位論文原創(chuàng)性聲明的法律責(zé)任由本人承擔(dān)。 學(xué)位論文作者簽名: 王琦 年 月 日摘要 面 向 方 面 編 程 ) 是 向?qū)ο缶幊蹋┑难a(bǔ)充和完善。 入封裝、繼承和多態(tài)性等概念來(lái)建立一種對(duì)象層次結(jié)構(gòu),用以模擬公共行為的一個(gè)集合。當(dāng)我們需要為分散的對(duì)象引入公共行為的時(shí)候, 顯得無(wú)能為力。 這些公共行為也就是軟件工程領(lǐng)域中的關(guān)注點(diǎn)。分離關(guān)注點(diǎn)是目 前軟件設(shè)計(jì)領(lǐng)域內(nèi)的熱門話題。通過(guò)識(shí)別、封裝和集成不同種類的關(guān)注點(diǎn)來(lái)構(gòu)件系統(tǒng),從而提高系統(tǒng)的適應(yīng)性、可維護(hù)性和重用性。 術(shù)是目前較好的分離關(guān)注點(diǎn)的編程范式。 如何將 術(shù)與現(xiàn)有的構(gòu)件技術(shù)很好的結(jié)合起來(lái)成為問(wèn)題的關(guān)鍵。論文在分析目前主流的 系結(jié)構(gòu)的基礎(chǔ)上,結(jié)合和欣操作系統(tǒng)中 件的實(shí)際情況,提出了基于 件的 系架構(gòu) ,分析和設(shè)計(jì)了 件技術(shù)中的 術(shù)的組成部分, 通過(guò)上下文,方面,聚合等特性 以及相關(guān) 數(shù)的設(shè)計(jì),提出了基于 想的 動(dòng)態(tài)聚合以及靜態(tài)聚合 機(jī)制 ,極大的提高了 軟件的復(fù)用性和靈活性 ,簡(jiǎn)化了軟件的開(kāi)發(fā)難度,推動(dòng)了構(gòu)件化和 想在軟件工程中的應(yīng)用,也為 想和構(gòu)件技術(shù)的良好結(jié)合提供了一個(gè)新的思路 。 論文 隨后 闡述了 基于 件技術(shù)的 制的組成部分的實(shí)現(xiàn)方法,包括上下文環(huán)境、方面構(gòu)件的實(shí)現(xiàn),以及動(dòng)態(tài)聚合和靜態(tài)聚合的實(shí)現(xiàn)過(guò)程及其運(yùn)作機(jī)制,還包括相關(guān)的 數(shù)的實(shí)現(xiàn) 。 論文最后介紹了基于 件技術(shù)的 制在 入式操作系統(tǒng)中的幾個(gè)應(yīng)用,包括靜態(tài)聚合和動(dòng)態(tài)聚合機(jī)制的應(yīng)用。從應(yīng)用中我們可以看到制在和構(gòu)件技術(shù)結(jié)合后發(fā)揮的強(qiáng)大威力和帶來(lái)的 方便快捷的新的開(kāi)發(fā)模式。 關(guān)鍵字: 件,聚合,元數(shù)據(jù) 錄 第 1 章 引言 . 9 景介紹 . 9 內(nèi)外研究的現(xiàn)狀 . 10 題研究的意義 . 12 文各部分的主要內(nèi)容 . 13 第 2 章 相關(guān) 技術(shù)與概念 . 14 件技術(shù) . 14 件技術(shù)綜述 . 14 術(shù) . 16 術(shù) . 17 術(shù) . 19 本原理 . 22 關(guān)概念 . 23 第 3 章 的體系結(jié)構(gòu)設(shè)計(jì) . 25 計(jì)目的 . 25 系結(jié)構(gòu)設(shè)計(jì) . 25 面構(gòu)件的設(shè)計(jì) (. 34 下文環(huán)境構(gòu)件的設(shè)計(jì) (. 36 合模型 (. 37 于 件的 系架構(gòu)設(shè)計(jì)的特點(diǎn) . 32 第 4 章 基于 件的 術(shù)的實(shí)現(xiàn) . 32 件自動(dòng)生成代碼框架工具 . 39 件類的實(shí)現(xiàn) . 44 件類的實(shí)現(xiàn) . 45 態(tài)聚合模型的實(shí)現(xiàn) . 47 態(tài)聚合模型的實(shí)現(xiàn) . 55 面聚合模型的實(shí)現(xiàn) . 57 態(tài)拆卸聚合 . 58 第 5 章 和欣嵌入式操作系統(tǒng)中 應(yīng)用 . 錯(cuò)誤 !未定義書(shū)簽。 術(shù)在圖形應(yīng)用程序中的應(yīng)用 . 錯(cuò)誤 !未定義書(shū)簽。 題的起源 . 錯(cuò)誤 !未定義書(shū)簽。 決方法 . 錯(cuò)誤 !未定義書(shū)簽。 第 6 章 工作總結(jié)和展望 . 59 第 1 章 引言 景介紹 計(jì)算機(jī)技術(shù)已經(jīng)廣泛應(yīng)用到科學(xué)研究,工程 設(shè)計(jì),軍事技術(shù),各類產(chǎn)業(yè)和商業(yè)文化藝術(shù)、娛樂(lè)業(yè)及人們的日常生活,每一個(gè)人都在日常生活中利用計(jì)算機(jī)技術(shù)提供的服務(wù)。 計(jì)算機(jī)上的編程技術(shù)也隨著計(jì)算機(jī)的不斷普及而發(fā)展。從計(jì)算機(jī)自 50 年代誕生以來(lái),編程技術(shù)的發(fā)展大致經(jīng)歷了以下 4 個(gè)階段。 第一個(gè)階段是面向過(guò)程編程。 對(duì)于復(fù)雜問(wèn)題,先劃分成一個(gè)個(gè)模塊,再逐步細(xì)化各個(gè)模塊,直到問(wèn)題能夠解決。結(jié)構(gòu)化的思想直接產(chǎn)生了面向過(guò)程的編程思想。 第二個(gè)階段是面向?qū)ο缶幊獭?通過(guò)對(duì)軟件模塊的封裝,使其相對(duì)獨(dú)立,從而使復(fù)雜的問(wèn)題簡(jiǎn)單化。面向?qū)ο缶幊虖?qiáng)調(diào)的是對(duì)象的封裝,但模塊(對(duì)象)之間的關(guān) 系在編譯的時(shí)候被固定,模塊之間的關(guān)系是靜態(tài)的,在程序運(yùn)行時(shí)不可改變模塊之間的關(guān)系,就是說(shuō)在運(yùn)行時(shí)不能換用零件。其代表是 C+語(yǔ)言所代表的面向?qū)ο缶幊?。 第三個(gè)階段是面向構(gòu)件編程。 為了解決不同軟件開(kāi)發(fā)商提供的構(gòu)件模塊(軟件對(duì)象)可以相互操作使用,構(gòu)件之間的連接和調(diào)用要通過(guò)標(biāo)準(zhǔn)的協(xié)議來(lái)完成。構(gòu)件化編程模型強(qiáng)調(diào)協(xié)議標(biāo)準(zhǔn),需要提供各廠商都能遵守的協(xié)議體系。就像公制螺絲的標(biāo)準(zhǔn)一樣,所有符合標(biāo)準(zhǔn)的螺絲和螺母都可以相互裝配。構(gòu)件化編程模型建立在面向?qū)ο蠹夹g(shù)的基礎(chǔ)之上,是完全面向?qū)ο蟮?。構(gòu)件技術(shù)的另一特點(diǎn)是提供了對(duì)元數(shù)據(jù)的 支持,使得 動(dòng)態(tài)構(gòu)造部件模塊(運(yùn)行中可以構(gòu)造部件)的機(jī)制 得以實(shí)現(xiàn), 構(gòu)件在運(yùn)行時(shí)動(dòng)態(tài)裝入,是可換的。其代表是 術(shù) 。 第四個(gè)階段是面向中間件編程。它是在面向構(gòu)件編程的基礎(chǔ)上發(fā)展而來(lái)。 由于 普及,構(gòu)件可來(lái)自于網(wǎng)絡(luò),系統(tǒng)要解決自動(dòng)下載,安全等問(wèn)題。因此,系統(tǒng)中需要根據(jù)構(gòu)件的自描述信息自動(dòng)生成構(gòu)件的運(yùn)行環(huán)境,生成代理構(gòu)件即中間件,通過(guò)系統(tǒng)自動(dòng)生成的中間件對(duì)構(gòu)件的運(yùn)行狀態(tài)進(jìn)行干預(yù)或控制,或自動(dòng)提供針對(duì)不同網(wǎng)絡(luò)協(xié)議、輸入輸出設(shè)備的服務(wù)(即運(yùn)行環(huán)境)。中間件編程更加強(qiáng)調(diào)構(gòu)件的自描述和構(gòu)件運(yùn)行環(huán)境的透明性 ,是網(wǎng)絡(luò)時(shí)代編程的重要技術(shù)。其代表是 C#語(yǔ)言 )。 從上面的敘述可以看出,編程方法學(xué)與編程語(yǔ)言定義了我們與機(jī)器之間的通信方式。每一種新的方法學(xué)都提供了一些新的方法來(lái)分解問(wèn)題,例如依賴機(jī)器的代碼、獨(dú)立于機(jī)器的代碼、過(guò)程、類等等。每一種新的方法學(xué)都提供了一種更為自然的方式來(lái)將系統(tǒng)需求映射為編程結(jié)構(gòu),這些編程方法學(xué)的不斷發(fā)展可以讓我們創(chuàng)建復(fù)雜度更高的系統(tǒng)。反之亦然,即我們?cè)试S復(fù)雜度越來(lái)越高的系統(tǒng)存在,因?yàn)樾碌募夹g(shù)可以幫助我們來(lái)處理這種復(fù)雜性。 現(xiàn)在,一些軟件項(xiàng)目仍然選擇 編程方式。 確實(shí), 經(jīng)表明了它處理一般行為的能力,它很好地解決了軟件系統(tǒng)中角色劃分的問(wèn)題。借助于面向?qū)ο蟮姆治?、設(shè)計(jì)和實(shí)現(xiàn)技術(shù),開(kāi)發(fā)者可以將問(wèn)題領(lǐng)域的 “名詞”轉(zhuǎn)換成軟件系統(tǒng)中的對(duì)象,從而很自然地完成從問(wèn)題到軟件的轉(zhuǎn)換。 但是,問(wèn)題領(lǐng)域的某些需求卻偏偏不是用這樣的 “名詞”來(lái)描述的。我們常常會(huì)遇到這樣的問(wèn)題:需要對(duì)系統(tǒng)中的某些方法進(jìn)行日志記錄,這需要記錄方法散布在幾十個(gè)類中。面對(duì)這種需求,最直接的辦法就是創(chuàng)建一個(gè)基類 (或接口 ),將日志的功能放在其中,并讓所有需要日志功能的類繼承這個(gè)基類 (或接口 )。如果這個(gè)需求是 后期提出的,需要修改的地方就會(huì)分散在幾十個(gè)文件 (如果是C+這個(gè)數(shù)量還可能加倍 )中。這樣大的修改量,無(wú)疑會(huì)增加出錯(cuò)的幾率,并且加大系統(tǒng)維護(hù)的難度。 人們認(rèn)識(shí)到,傳統(tǒng)的程序經(jīng)常表現(xiàn)出一些不能自然地適合單個(gè)程序模塊或者幾個(gè)緊密相關(guān)的程序模塊的行為,例如日志記錄、對(duì)上下文敏感的錯(cuò)誤處理、性能優(yōu)化以及設(shè)計(jì)模式等等、我們將這種行為稱為“橫切關(guān)注點(diǎn)( ”,因?yàn)樗缭搅私o定編程模型中的典型職責(zé)界限。如果使用過(guò)橫切關(guān)注點(diǎn)代碼,您就會(huì)知道缺乏模塊性所帶來(lái)的問(wèn)題。因?yàn)闄M切行為的實(shí)現(xiàn)是 分散的,開(kāi)發(fā)人員發(fā)現(xiàn)這種行為難以作邏輯思維、實(shí)現(xiàn)和更改。 因此,面向方面的編程( 運(yùn)而生。 能夠自動(dòng)將橫切關(guān)注點(diǎn)織人到面向?qū)ο蟮能浖到y(tǒng)中,從而實(shí)現(xiàn)了橫切關(guān)注點(diǎn)的模塊化 碼,橫切關(guān)注點(diǎn)變得容易處理。開(kāi)發(fā)者可以在編譯時(shí)更改、插人或除去系統(tǒng)的 至重用系統(tǒng)的 更重要的是, 能對(duì)軟件開(kāi)發(fā)的過(guò)程造成根本性的影響。我們可以想象這樣一種情況: 用于表 示對(duì)象之間的泛化 (關(guān)系 (通過(guò)繼承來(lái)表現(xiàn) ),而對(duì)于 常是不相關(guān)的)模塊的行為則完全用 表現(xiàn)。這樣,很多給對(duì)象之間橫向關(guān)聯(lián)增加靈活性的設(shè)計(jì)模式(例如 )將不再必要。 前面已經(jīng)講到,面向中間件編程技術(shù)是當(dāng)前軟件開(kāi)發(fā)技術(shù)的新的方向,是在面向?qū)ο缶幊碳夹g(shù)的基礎(chǔ)上發(fā)展起來(lái)。軟件的復(fù)用并不再基于源代碼進(jìn)行,而是在二進(jìn)制級(jí)別上達(dá)到產(chǎn)品的直接復(fù)用。這其中也會(huì)存在面向?qū)ο缶幊虝r(shí) 所遇到的橫切關(guān)注點(diǎn)的問(wèn)題。 內(nèi)外研究的現(xiàn)狀 目前,國(guó)內(nèi)外對(duì) 面向?qū)ο缶幊碳夹g(shù)上的研究比較廣泛和深入,但對(duì)面向中間件或者面向構(gòu)件編程技術(shù)上的 研究則比較缺乏。 當(dāng)前的主流 術(shù) 主要 包括 大主流平臺(tái)下的 現(xiàn) 。實(shí)驗(yàn)室應(yīng)用和商業(yè)應(yīng)用上, 臺(tái)始終走在前面。 臺(tái)下主要有目前在 臺(tái)下的 部分仍然處于最初的開(kāi)發(fā)階段,各自發(fā)布的版本基本都是 。其中較有代表性的 具包 括 。 以下分別對(duì)這些技術(shù)作簡(jiǎn)單的介紹: 用了源代碼生成技術(shù)來(lái)實(shí)現(xiàn) 提供了一套獨(dú)有的基于 法,以及專有的 譯器。編譯器在編譯具有 法的 序時(shí),能夠識(shí)別諸如 特殊關(guān)鍵字,然后利用靜態(tài)織入的方式,修改需要被截取的方法所屬類的源代碼,把 者 業(yè)務(wù)邏輯代碼注入到正確的位置。利用 以將核心關(guān)注點(diǎn)完全獨(dú)立出來(lái) ,然后通過(guò) 法,編寫符合核心關(guān)注點(diǎn)要求的橫切關(guān)注點(diǎn)代碼,最后通過(guò) 譯器,將這兩者在后期結(jié)合起來(lái)。采用這種靜態(tài)織入技術(shù),使得運(yùn)用了 術(shù)的系統(tǒng)在運(yùn)行性能上未受到任何損失,因?yàn)樗鼪](méi)有利用反射技術(shù)或代理技術(shù),而僅僅是程序的靜態(tài)擴(kuò)展而已。然而這種源代碼生成方式實(shí)現(xiàn)的然在性能上具備一定的優(yōu)勢(shì),但它同時(shí)會(huì)給開(kāi)發(fā)帶來(lái)一定的問(wèn)題。例如代碼的后期修改會(huì)給系統(tǒng)帶來(lái)不可估量的影響。 架中的一部分,但可以作為一個(gè)獨(dú)立的模塊單獨(dú)存在。 現(xiàn) 術(shù)從本質(zhì)上來(lái)講,是利用了 供的動(dòng)態(tài)代理技術(shù)。而從實(shí)際的實(shí)現(xiàn)方式來(lái)看,則是利用了 轉(zhuǎn)模式)機(jī)制,同時(shí)采用了 盟( 通用 口。首先, 置文件配置了 利用 截機(jī))作為設(shè)定的觸發(fā)條件。 由用戶自定義的,它相當(dāng)于是 的 該要實(shí)現(xiàn) 盟 的 通 用 口 , 例 最 后 定 義 一 個(gè) 于加載執(zhí)行 件,并利用 制將 入到接口以及實(shí)現(xiàn)類中。 供了 架。與 樣,這個(gè)框架可與 用服務(wù)器緊密結(jié)合,也可以單獨(dú)運(yùn)行在自己的應(yīng)用中。 樣需要 要求所有的 口。在這個(gè)接口中最重要的方法就是 。該方法對(duì)元數(shù)據(jù)直接進(jìn)行操作,并利用反射的原理去攔截方法的消息。 當(dāng)于 于 在 置文件中配置。可以看出, 實(shí)現(xiàn)上屬于動(dòng)態(tài)織入的方式,它們與 實(shí)現(xiàn)上是迥然不同的兩種方式 基于 態(tài)代理技術(shù)實(shí)現(xiàn)的。 態(tài)代理技術(shù)利用了 術(shù),生成一個(gè)新的類去實(shí)現(xiàn)特 定的接口,或者擴(kuò)展一個(gè)已有的類,并將其委托指向 口的實(shí)現(xiàn)類。通過(guò) 態(tài)代理技術(shù),就可以攔截方法的調(diào)用,并將 業(yè)務(wù)邏輯織入到方法中。利用 態(tài)代理技術(shù),最大的缺陷是它只對(duì)虛方法有效,這限制了 一部分應(yīng)用。 根本意義上來(lái)說(shuō),是對(duì) 具從 臺(tái)向 臺(tái)的完全移植。它在 實(shí)現(xiàn)上與 乎完全相似,仍然利用了 盟提供的攔截器、 實(shí)現(xiàn) 配置文件也與 同。 用的是靜態(tài)織入的技術(shù)。它提供了獨(dú)有的編譯器,同時(shí)還擴(kuò)展了 C#語(yǔ)法,以類似于 定了一套完整的 如 。 分的利用了 元數(shù)據(jù)的特點(diǎn),以 的代碼對(duì)方面進(jìn)行織入,這也使得它的性能與其他 具比較有較大的提高。 在面向構(gòu)件編程上的技術(shù),主要體現(xiàn)于微軟的 件技術(shù), 由于 方面元數(shù)據(jù)與 構(gòu) 件分開(kāi)存儲(chǔ),這使得在 進(jìn)行 程并不方便。糟糕的是, 元數(shù)據(jù)在擴(kuò)展性方面缺乏很多必要的功能,這正是我們感到首先需要將元數(shù)據(jù)和類分開(kāi)存儲(chǔ)的原因 。 題研究的意義 軟件編程技術(shù)的發(fā)展和問(wèn)題規(guī)模的逐漸擴(kuò)大促使了 術(shù)的提出。隨著術(shù)的逐漸成熟和實(shí)際運(yùn)用的不斷擴(kuò)大, 術(shù)也越來(lái)越被證明為是解決橫切關(guān)注點(diǎn)問(wèn)題的一個(gè)有效的方法。然而,基本上目前所有的 術(shù)都是基于面向?qū)ο蠹夹g(shù)發(fā)展而來(lái),而其本身也沒(méi)有和源代碼完全脫離關(guān)系。這種基于源代碼的編程技術(shù)則并不符合當(dāng)前軟件開(kāi)發(fā)技術(shù)的發(fā)展方向,不能利用構(gòu)件技術(shù)與源代碼無(wú) 關(guān),獨(dú)立于語(yǔ)言和平臺(tái)的優(yōu)勢(shì)。 “和欣”操作系統(tǒng)項(xiàng)目是國(guó)家“ 863”項(xiàng)目, 件系統(tǒng)則是一個(gè)具有國(guó)內(nèi)自主知識(shí)產(chǎn)權(quán)的先進(jìn)的“和欣”操作系統(tǒng)的構(gòu)件系統(tǒng),是由上??铺┦兰o(jì)有限公司開(kāi)發(fā)的新一代的構(gòu)件系統(tǒng),支持面向中間件編程。它規(guī)定了一組構(gòu)件間相互調(diào)用的標(biāo)準(zhǔn),使得二進(jìn)制構(gòu)件能夠自描述,能夠在運(yùn)行時(shí)動(dòng)態(tài)鏈接,實(shí)現(xiàn)軟件的目標(biāo)代碼級(jí)的重用。其主要目的是從操作系統(tǒng)層面上引入構(gòu)件的概念,所有的服務(wù)由構(gòu)件來(lái)提供,從而為網(wǎng)絡(luò)編程和 供強(qiáng)大的支持。本課題屬于該項(xiàng)目,主要研究 術(shù)在 件系統(tǒng)中的設(shè)計(jì) 與實(shí)現(xiàn)。論文課題將研究件系統(tǒng)中的 型,并對(duì)此模型的設(shè)計(jì)與實(shí)現(xiàn)進(jìn)行探討,分析如何將此技術(shù)運(yùn)用到基于 件技術(shù)的應(yīng)用程序開(kāi)發(fā)中。 文各部分的主要內(nèi)容 術(shù)在面向?qū)ο缶幊痰幕A(chǔ)上,為解決“橫切關(guān)注點(diǎn)”的問(wèn)題提供了新的解決方案。隨著面向構(gòu)件以及面向中間件編程技術(shù)的不斷發(fā)展,如何將 間件技術(shù)結(jié)合起來(lái),更大限度的發(fā)揮兩者的優(yōu)勢(shì),將成為一個(gè)關(guān)鍵問(wèn)題。本文以國(guó)家“ 863”計(jì)劃的“和欣”嵌入式操作系統(tǒng)為背景,基于其中的 件技術(shù),對(duì)這一問(wèn)題進(jìn)行了探討和研究,并在此基礎(chǔ) 上討論了基于件技術(shù)的 術(shù)的設(shè)計(jì)與實(shí)現(xiàn)問(wèn)題,分析了其技術(shù)特點(diǎn)。 第一章:引言 介紹 術(shù)的起源,以及國(guó)內(nèi)外對(duì) 術(shù)研究的現(xiàn)狀,提出了當(dāng)前需要解決的問(wèn)題,并介紹了本課題研究的意義。 第二章:相關(guān)技術(shù)與概念 總體介紹構(gòu)件技術(shù)以及 術(shù)的相關(guān)原理及重要概念。介紹了構(gòu)件技術(shù)的特點(diǎn)及發(fā)展,并具體介紹了 術(shù)以及由 術(shù)發(fā)展而來(lái)的 術(shù)。介紹了 一些基本原理和概念,并比較了 現(xiàn)有的聚合技術(shù)。 第三章:基于 術(shù)的設(shè)計(jì) 具體提出了基于 件系統(tǒng)中的 整 體架構(gòu)設(shè)計(jì)。包括方面構(gòu)件類的設(shè)計(jì),上下文的設(shè)計(jì),靜態(tài)聚合及動(dòng)態(tài)聚合模型的設(shè)計(jì)。 第四章:基于 術(shù)的實(shí)現(xiàn) 根據(jù) 語(yǔ)法規(guī)范和強(qiáng)大的自動(dòng)生成代碼框架功能實(shí)現(xiàn)在 件系統(tǒng)中的 術(shù)的實(shí)現(xiàn),包括 術(shù)中靈活的隨時(shí)聚合隨時(shí)拆卸的聚合模型及 實(shí)現(xiàn) 第五章:基于 術(shù)在和欣操作系統(tǒng)中的應(yīng)用 根據(jù) 件系統(tǒng)中 術(shù)的設(shè)計(jì)與實(shí)現(xiàn),介紹了幾個(gè)和欣操作系統(tǒng)的相關(guān)應(yīng)用,分別體現(xiàn)了動(dòng)態(tài)聚合和靜態(tài)聚合的使用場(chǎng)合和優(yōu)點(diǎn)。 第六章:工作總結(jié)與展望 總結(jié) 本論文的研究工作,并對(duì)以后的研究工作提出了展望。 第 2 章 相關(guān)技術(shù)與概念 件技術(shù) 件技術(shù)綜述 軟件復(fù)用(或軟件重用)是指充分利用過(guò)去軟件開(kāi)發(fā)中積累的成果、知識(shí)和經(jīng)驗(yàn),去發(fā)新的軟件系統(tǒng),使人們?cè)谛孪到y(tǒng)的開(kāi)發(fā)中著重于解決出現(xiàn)的新問(wèn)題、滿足新需求,從而避免或減少軟件開(kāi)發(fā)中的重復(fù)勞動(dòng)。 近幾年來(lái),以面向?qū)ο鬄榛A(chǔ)發(fā)展起來(lái)的軟件構(gòu)件技術(shù),從某種層面上說(shuō),克服了以往的面向?qū)ο蠹夹g(shù)的某些缺陷,提高了軟件復(fù)用程度。 面向?qū)ο笫菍⑾到y(tǒng)劃分為多個(gè)對(duì)象(數(shù)據(jù)和相關(guān)方法的結(jié)合體),通過(guò)對(duì)象之間的通信和互操 作形成耦合系統(tǒng),它提供了客觀世界與軟件系統(tǒng)進(jìn)行對(duì)應(yīng)的編程思維方式,其具體技術(shù)包括:( 1)封裝性;( 2)多態(tài)性;( 3)重用性。 構(gòu)件技術(shù)是在面向?qū)ο蠹夹g(shù)的基礎(chǔ)上發(fā)展起來(lái)的。面向?qū)ο蠹夹g(shù)通過(guò)類的封裝和繼承成功實(shí)現(xiàn)代碼級(jí)的復(fù)用。類和封裝性,實(shí)現(xiàn)數(shù)據(jù)抽象和信息隱蔽,重用性,提高了代碼復(fù)用性。但是面向?qū)ο蟮膹?fù)用脫離不了代碼復(fù)用的本質(zhì),對(duì)象之間的關(guān)系在編譯時(shí)被固定,模塊之間的關(guān)系是靜態(tài)的,無(wú)法解決軟件動(dòng)態(tài)升級(jí)和軟件模塊動(dòng)態(tài)替換。 目前有三種比較成熟的構(gòu)件技術(shù),它們是微軟公司提出的組件對(duì)象模型( 其分布式擴(kuò)展 誤 !未找到引用源。 、對(duì)象管理組織 通用對(duì)象請(qǐng)求代理體系結(jié)構(gòu)誤 !未找到引用源。 以及 件技術(shù) 錯(cuò)誤 !未找到引用源。 。 構(gòu)件技術(shù)通過(guò)二進(jìn)制的封裝以及動(dòng)態(tài)鏈接技術(shù)解決軟件的動(dòng)態(tài)升級(jí)和軟件的動(dòng)態(tài)替換問(wèn)題。面向構(gòu)件技術(shù)對(duì)一組類的組合進(jìn)行封裝,并代表完成一個(gè)或多個(gè)功能的特定服務(wù),同時(shí)為用戶提供多個(gè)接口。整個(gè)構(gòu)件隱藏了具體的實(shí)現(xiàn),只用接口提供服務(wù)。這樣,在不同層次上,構(gòu)件均可以將底層多個(gè)邏輯組合成高層次上的粒度更大的新構(gòu)件。構(gòu)件之間通過(guò)約定的接口進(jìn)行數(shù)據(jù)交換和信息傳遞,構(gòu)件的位置是相互透明的,可以在同一個(gè)用戶進(jìn)程空間,也可以在不同的用戶進(jìn)程空間,甚至在不同的機(jī)器上,而且不同的構(gòu)件可以用不 同的語(yǔ)言編寫,只要它們符合事先約定的構(gòu)件規(guī)范。 構(gòu)件是具有強(qiáng)制性、封裝性、透明性、互操作性和通用性的軟件單元。構(gòu)件的粒度可大可小,可以是一個(gè)簡(jiǎn)單的按鈕實(shí)現(xiàn)模型,也可以是潮流計(jì)算、狀態(tài)估計(jì)等應(yīng)用。構(gòu)件使用與實(shí)現(xiàn)語(yǔ)言無(wú)關(guān)的接口定義語(yǔ)言( 定義接口。 作和對(duì)象,客戶通過(guò)它來(lái)構(gòu)造一個(gè)請(qǐng)求,服務(wù)器則為一個(gè)指定對(duì)象的實(shí)現(xiàn)提供這些數(shù)據(jù)類型、操作和對(duì)象。 構(gòu)件技術(shù)的重用性,則體現(xiàn)在二進(jìn)制代碼一級(jí)重用。傳統(tǒng)的 C+等語(yǔ)言的重用性定位于源代碼一級(jí),一個(gè)類可以繼承于另一個(gè)類,從而把父類的功能重用 。但對(duì)于構(gòu)件技術(shù)來(lái)說(shuō)則情形有所不同,因?yàn)闃?gòu)件技術(shù)都是建立在二進(jìn)制代碼基礎(chǔ)上的標(biāo)準(zhǔn),所以其重用性也必然建立于二進(jìn)制代碼一級(jí)。構(gòu)件的重用性是指一個(gè)構(gòu)件對(duì)象如何重用已有的構(gòu)件對(duì)象的功能,而不是重復(fù)實(shí)現(xiàn)老的功能服務(wù)。通常來(lái)說(shuō),實(shí)現(xiàn)這種重用性有兩條途徑:包容或者聚合,下面我們將簡(jiǎn)單介紹一下這兩種途徑。包容和聚合的思路基本一致,只是兩者在實(shí)現(xiàn)的方法上有所不同。 件的包容 假定我們已經(jīng)實(shí)現(xiàn)了一個(gè)構(gòu)件對(duì)象,稱為對(duì)象 A,它實(shí)現(xiàn)了接口久之后,考慮到新的需求,我們要實(shí)現(xiàn)一個(gè)新的 對(duì)象,稱為對(duì)象 B,它既要實(shí)現(xiàn)接口 要實(shí)現(xiàn)接口 且,口所提供的服務(wù)與對(duì)象 A 的接口所提供的服務(wù)基本一致。于是,在實(shí)現(xiàn)對(duì)象 B 的過(guò)程中可以考慮重用對(duì)象 A 的功能,只需要再實(shí)現(xiàn)新添加的功能就可以完成對(duì)象 B 的開(kāi)發(fā)工作。最簡(jiǎn)單的想法就是在實(shí)現(xiàn)對(duì)象 B 的口時(shí)調(diào)用對(duì)象 A 的相應(yīng)成員函數(shù),對(duì)于對(duì)象 A 來(lái)說(shuō),它只是當(dāng)作一個(gè)普通的構(gòu)件對(duì)象,而對(duì)于對(duì)象 B 來(lái)說(shuō),雖然它本身是一個(gè)構(gòu)件對(duì)象,但它同時(shí)也是對(duì)象 A 的客戶,因?yàn)樗{(diào)用 對(duì)象 A 的功能服務(wù)。對(duì)象 B 不再重復(fù)實(shí)現(xiàn)對(duì)象 A 已經(jīng)實(shí)現(xiàn)的功能,而是調(diào)用對(duì)象 A 的服務(wù)來(lái)提供對(duì)外的功能服務(wù),對(duì)于對(duì)象 B 的客戶來(lái)說(shuō),它根本不知道對(duì)象 A 的存在,可以說(shuō)它是最大的受益者,因?yàn)樗玫搅巳娴墓δ芊?wù)。這樣的情形,我們稱對(duì)象 B 包容對(duì)象 A,或者對(duì)象 A 被對(duì)象 B 包容,可以用下圖來(lái)表示這種包容關(guān)系。 對(duì) 象 t h e r I n t e r f a c o m e I n t e r f a c o m e I n t e r f a c 程 序調(diào) 件的聚合 假定我們要實(shí)現(xiàn)一個(gè)對(duì)象 B ,它支持兩個(gè)接口 時(shí)我們發(fā)現(xiàn)對(duì)象 B 所提供的 能在另外一個(gè)對(duì)象 A 中已經(jīng)實(shí)現(xiàn),而且不需要修改就可以滿足對(duì)象 B 的要求。如果采用前面介紹的包容模型來(lái)實(shí)現(xiàn)對(duì)象 B,則對(duì)象 B 要實(shí)現(xiàn)兩個(gè)接口,并且在接口成員函數(shù)中調(diào)用對(duì)象 A 的相應(yīng)函數(shù),如果 口所含方法數(shù)量很多,實(shí)現(xiàn)對(duì)象 口則是一件相當(dāng)繁瑣的事情。如果采用聚合模型,則簡(jiǎn)單許多。采用聚合模型,對(duì)象 B 本身并不實(shí)現(xiàn)口,它只實(shí)現(xiàn) 口,但它也能提供 對(duì)象 B 的客戶請(qǐng)求 口時(shí),對(duì)象 B 把對(duì)象 A 的口指針暴露給客戶程序。因此,客戶程序調(diào)用 進(jìn)行交互,但客戶并沒(méi)有感覺(jué)到其在與對(duì)象 A 進(jìn)行交互,它仍然認(rèn)為自己在與對(duì)象 B 進(jìn)行交互。聚合模型可用下圖來(lái)表示: 對(duì) 象 t h e r I n t e r f a c o m e I n t e r f a c 程 序調(diào) 用調(diào) 術(shù) 術(shù)是由 出的開(kāi)放的構(gòu)件標(biāo)準(zhǔn),是一種以構(gòu)件作為發(fā)布單元的對(duì)象模型,這種模型使軟件 構(gòu)件可以用一種統(tǒng)一的方式進(jìn)行交互 , 有很強(qiáng)的擴(kuò)充和擴(kuò)展能力。 定了對(duì)象模型和編程要求,使 象可以與其他對(duì)象相互操作。這些對(duì)象可以用不同的語(yǔ)言實(shí)現(xiàn),其結(jié)構(gòu)也可以不同?;?軟進(jìn)一步將 術(shù)發(fā)展到 中 現(xiàn)了 象之間的底層通信工作,其作用類似于 出現(xiàn)了拖 放技術(shù)以及 準(zhǔn)包括規(guī)范和實(shí)現(xiàn)兩大部分,規(guī)范定義了組件和組件之間通信的機(jī)制,這些規(guī)范不依賴于任何特定的語(yǔ)言和操作系統(tǒng),只要按照該規(guī)范,任何語(yǔ)言都可使用; 準(zhǔn)的 實(shí)現(xiàn)部分是 , 為規(guī)范的具體實(shí)現(xiàn)提供了一些核心服務(wù)。 范包括 心、結(jié)構(gòu)化存儲(chǔ)、統(tǒng)一數(shù)據(jù)傳輸、智能命名和系統(tǒng)級(jí)的實(shí)現(xiàn)( )。 心規(guī)定了構(gòu)件對(duì)象與客戶通過(guò)二進(jìn)制接口標(biāo)準(zhǔn)進(jìn)行交互的原則,結(jié)構(gòu)化存儲(chǔ)定義了復(fù)合文檔的存儲(chǔ)格式以及創(chuàng)建文檔的接口,統(tǒng)一數(shù)據(jù)傳輸約定了構(gòu)件之間數(shù)據(jù)交換的標(biāo)準(zhǔn)接口,智能命名給予對(duì)象一個(gè)系統(tǒng)可識(shí)別的唯一標(biāo)識(shí)。 在 型中,對(duì)象本身對(duì)于客戶來(lái)說(shuō)是不可見(jiàn)的,客戶請(qǐng)求服務(wù)時(shí),只能通過(guò)接口進(jìn)行。構(gòu)件對(duì)象模型 容復(fù)雜,主要包括: 接口 : 組語(yǔ)義相關(guān)的接口,每個(gè)接口有一個(gè) 128 位的唯一標(biāo)識(shí)( 所有的接口皆直接或間接地從 口繼承而來(lái),口包括 象 :即 例,提供接口的具體服務(wù)。 一個(gè)或多個(gè) 口的實(shí)現(xiàn)。對(duì) 務(wù)器 :是一個(gè)程序或庫(kù) , 包含 象,向客戶提供服務(wù)。 類工廠( :用于創(chuàng)建、注冊(cè) 象的特殊對(duì)象,為 實(shí)例化供一種標(biāo)準(zhǔn)機(jī)制。對(duì) 行實(shí)例化是通過(guò)調(diào)用全局 數(shù) 現(xiàn)的。 類型庫(kù) ( : 一個(gè)二進(jìn)制資源文件 , 包含 務(wù)器中對(duì)象與接口的類型信息 , 可以從 換而來(lái)。 包含了一些核心的系統(tǒng)級(jí)代碼,使得對(duì)象和客戶之間可以通過(guò)接口在二進(jìn)制代碼級(jí)進(jìn)行交互。 可以保證所有的組件按照統(tǒng)一的方式進(jìn)行交互操作,而且它使我們?cè)诰帉?用時(shí),可以不用編寫為進(jìn) 行 信而必須的大量基礎(chǔ)代碼,而是直接利用 提供的 行編程,從而大大加快了開(kāi)發(fā)的速度。 的另一個(gè)好處是,它往往實(shí)現(xiàn)了更多的特性,我們可以充分享受這些特性。 術(shù)有兩大缺陷,一是 有試圖去描述構(gòu)件之間的依賴關(guān)系,在構(gòu)件廣泛應(yīng)用的今天,不同構(gòu)件之間的依賴越來(lái)越多,如果沒(méi)有構(gòu)件之間的依賴關(guān)系,構(gòu)件的應(yīng)用將會(huì)有很大的麻煩。另外一個(gè)缺陷是 接口描述方式缺少擴(kuò)展性,因?yàn)?接口描述方式實(shí)際上是一個(gè)內(nèi)存結(jié)構(gòu),或者是二進(jìn)制層面上的。這樣對(duì)于一些沒(méi)有確切數(shù)據(jù)類型表示的編程語(yǔ)言來(lái)說(shuō)是 一個(gè)困難。 術(shù) 件技術(shù)是面向構(gòu)件編程的編程模型,它規(guī)定了一組構(gòu)件間相互調(diào)用的標(biāo)準(zhǔn),使得二進(jìn)制構(gòu)件能夠自描述,能夠在運(yùn)行時(shí)動(dòng)態(tài)連接。 件與微軟的 件二進(jìn)制兼容,但是 開(kāi)發(fā)工具自動(dòng)實(shí)現(xiàn)構(gòu)件的封裝,簡(jiǎn)化了構(gòu)件編程的復(fù)雜性,有利于構(gòu)件化編程技術(shù)的推廣普及 。 和微軟 比, 除了 過(guò)時(shí)的約定,禁止用戶定義 非自描述接口;完備了構(gòu)件及其接口的自描述功能,實(shí)現(xiàn)了對(duì) 擴(kuò)展;對(duì) 簡(jiǎn)化包裝,易學(xué)易用。從 該 定義中,我們可以說(shuō) 微軟的 行了擴(kuò)展,在 臺(tái) 具的支持下,使得高深難懂的構(gòu)件編程技術(shù)很容易被 C/C+程序員理解并掌握。 相比于微軟的 術(shù), 術(shù)完全放棄對(duì)非自描述數(shù)據(jù)類型的支持。對(duì)于 代的軟件開(kāi)發(fā)來(lái)講,這是一個(gè)很好的選擇。 代需要對(duì)數(shù)據(jù)進(jìn)行遠(yuǎn)程傳輸,如果數(shù)據(jù)本身不帶有對(duì)它自己的描繪的話,那在數(shù)據(jù)的傳輸和交換過(guò)程中就要付出更多的代價(jià)。為了支持字符串,數(shù)組,結(jié)構(gòu)等非自描敘性數(shù)據(jù),供了一系列用于封裝這些數(shù)據(jù)的自描敘數(shù)據(jù)類型。例如 。 般用來(lái)存儲(chǔ)用戶的常量字符串 ,它 有一個(gè)定長(zhǎng)的存儲(chǔ)區(qū),可以存儲(chǔ)用戶的字符串 , 它還保存該字符串的長(zhǎng)度 。 可以存放任何數(shù)據(jù) , 存放的是一個(gè) 象 , 來(lái)定義一個(gè)多維、定長(zhǎng)、自描述數(shù)據(jù)類型的數(shù)組, 一個(gè)通用數(shù)據(jù)類型,它可以存儲(chǔ)任何類型的數(shù)據(jù)。 同時(shí)這些數(shù)據(jù)對(duì)象本身是與微軟定義的自描敘數(shù)據(jù)類型是兼容的。這就為件能夠在 面正常的跨地址空間 ,遠(yuǎn)程調(diào)用提供了基本的前提。而且 描述數(shù)據(jù)類型與傳統(tǒng)的數(shù)據(jù)類型之間轉(zhuǎn)化更加靈活,它提供了一系列對(duì)字符串和字節(jié)流等進(jìn)行自描述包裝的數(shù)據(jù)類型和方法。另外, 描述數(shù)據(jù)類型不僅可以在堆上分配,而且可以在棧上分配,提高了系統(tǒng)的效率。 在 ,構(gòu)件的一些相關(guān)運(yùn)行信息都存放在系統(tǒng)的全局?jǐn)?shù)據(jù)庫(kù)注冊(cè)表中,構(gòu)件在能夠正確運(yùn)行之前,必須進(jìn)行注冊(cè)。而構(gòu)件的相關(guān)運(yùn)行信息本身就應(yīng)該是構(gòu)件自描述的內(nèi)容之一,所以 術(shù)選擇了把該類信息封裝在構(gòu)件所在的二進(jìn)制文件中。 構(gòu)件導(dǎo)出接口的描述方法之一是使用 類型庫(kù)( 據(jù)( 于描述構(gòu)件信息的數(shù)據(jù)),類型庫(kù)本身是跟構(gòu)件的 件打包在一起的。但類型庫(kù)信息卻不是由構(gòu)件自身來(lái)來(lái)解釋,而是靠系統(tǒng)程序 提取和解釋,這也不符合構(gòu)件的自描述思想。而 可以通過(guò)構(gòu)件 身提供的導(dǎo)出函數(shù),非常容易的獲得該信息。 在大多數(shù)情況下,一個(gè)構(gòu)件會(huì)使用到另一些構(gòu)件的某種功能,也就是說(shuō)構(gòu)件之間存在相互的依存關(guān)系。 ,構(gòu)件只有關(guān)于自身接口(或者說(shuō)功能)的自描述, 而缺少對(duì)構(gòu)件依賴關(guān)系的自描述。在網(wǎng)絡(luò)計(jì)算時(shí)代的今天,正確的構(gòu)件依賴關(guān)系是構(gòu)件滾動(dòng)運(yùn)行、動(dòng)態(tài)升級(jí)的基礎(chǔ)。在 構(gòu)件封裝中,除了構(gòu)件本身的類信息封裝在構(gòu)件內(nèi)外,還對(duì)構(gòu)件的依賴關(guān)系進(jìn)行了封裝。即把一個(gè)構(gòu)件對(duì)其它構(gòu)件的依賴關(guān)系也作為構(gòu)件的元數(shù)據(jù)封裝在構(gòu)件中,我們把這種元數(shù)據(jù)稱為構(gòu)件的導(dǎo)入信息( 對(duì)于面向 務(wù)的應(yīng)用軟件開(kāi)發(fā),以及開(kāi)發(fā)操作系統(tǒng)這樣的大型系統(tǒng)軟件而言,采用 件技術(shù)具有以下的意義: 不同軟件開(kāi)發(fā)商開(kāi)發(fā)的具有獨(dú)特功能的構(gòu)件,可以確保與其他人開(kāi)發(fā)的構(gòu)件實(shí)現(xiàn)互操作。 實(shí)現(xiàn)在 對(duì)某一個(gè)構(gòu)件進(jìn)行升級(jí)時(shí)不會(huì)影響到系統(tǒng)中的其它構(gòu)件。 不同的編程語(yǔ)言實(shí)現(xiàn)的構(gòu)件之間可以實(shí)現(xiàn)互操作。 提供一個(gè)簡(jiǎn)單、統(tǒng)一的編程模型,使得構(gòu)件可以在進(jìn)程內(nèi)、跨進(jìn)程甚至于跨網(wǎng)絡(luò)運(yùn)行。同時(shí)提供系統(tǒng)運(yùn)行的安全、保護(hù)機(jī)制。 件與微軟的 件二進(jìn)制兼容,但是 開(kāi)發(fā)工具自動(dòng)實(shí)現(xiàn)構(gòu)件的封裝,簡(jiǎn)化了構(gòu)件編程的復(fù)雜性,有利于構(gòu)件化編程技術(shù)的推廣普及; 件技術(shù) 是一個(gè) 實(shí)現(xiàn)軟件工廠化生產(chǎn) 的先進(jìn)技術(shù) , 可以大大提升企業(yè)的軟件開(kāi)發(fā)技術(shù)水平,提高軟件生產(chǎn)效率和軟件產(chǎn)品質(zhì)量;軟件工廠化生產(chǎn)需要有零件的標(biāo)準(zhǔn), 件技術(shù) 為建立軟件標(biāo)準(zhǔn)提供 了 參考 ,有利于建立企業(yè)、行業(yè)的軟件標(biāo)準(zhǔn)和構(gòu)件庫(kù)。 欣操作系統(tǒng) 和 欣操作系統(tǒng) 是國(guó)家 863 項(xiàng)目自主知識(shí)產(chǎn)權(quán)的 32 位嵌入式操作系統(tǒng)。 該 操作系統(tǒng)基于微內(nèi)核,具有多進(jìn)程、多線程、搶占式、基于線程的多優(yōu)先級(jí)任務(wù)調(diào)度等特性。提供 容的文件系統(tǒng),可以從軟盤、硬盤、 動(dòng),也可以通過(guò)網(wǎng)絡(luò)啟動(dòng)。和欣操作系統(tǒng)體積小,速度快,適合網(wǎng)絡(luò)時(shí)代的絕大部分嵌入式信息設(shè)備。 和欣 完全面向構(gòu)件技術(shù)的操作系統(tǒng)。操作系統(tǒng)提供的功能模塊全部基于件技術(shù),因此是可拆卸的構(gòu)件,應(yīng)用系統(tǒng)可以按照需要剪裁組裝,或在運(yùn)行時(shí)動(dòng)態(tài)加載必要的構(gòu)件。 和欣操作系統(tǒng)的最大特點(diǎn)就是 : 全面面向構(gòu)件技術(shù),在操作系統(tǒng)層提供了對(duì)構(gòu)件運(yùn)行環(huán)境的支持; 用構(gòu)件技術(shù)實(shí)現(xiàn)了 靈活 的操作系統(tǒng)。 在新一代因特網(wǎng)應(yīng)用中,越來(lái)越多的嵌入式產(chǎn)品需要支持 提供一定是基于構(gòu)件的。在這種應(yīng)用中,用戶通過(guò)網(wǎng)絡(luò)獲得服務(wù)程序,這個(gè)程序一定是帶有自描述信息的構(gòu)件,本地系統(tǒng)能夠?yàn)檫@個(gè)程序建立運(yùn)行環(huán)境,自動(dòng)加載運(yùn)行。這是新一代因特網(wǎng)應(yīng)用的需要,是必然的發(fā) 展方向。和欣操作系統(tǒng)就是應(yīng)這種需要而開(kāi)發(fā),率先在面向嵌入式系統(tǒng)應(yīng)用的操作系統(tǒng)中實(shí)現(xiàn)了面向構(gòu)件的技術(shù)。 因此,構(gòu)件化的和欣操作系統(tǒng)可以為嵌入式系統(tǒng)開(kāi)發(fā)帶來(lái)以下好處: ( 1) 在嵌入式軟件開(kāi)發(fā)領(lǐng)域,導(dǎo)入先進(jìn)的工程化軟件開(kāi)發(fā)技術(shù)。嵌入式軟件一般用匯編語(yǔ)言、 C 語(yǔ)言,在少數(shù)系統(tǒng)中已經(jīng)支持了 C+開(kāi)發(fā),但是由于還沒(méi)有一個(gè)嵌入式操作系統(tǒng)能夠提供構(gòu)件化的運(yùn)行環(huán)境,可以說(shuō),嵌入式軟件開(kāi)發(fā)還是停留在手工作坊式的開(kāi)發(fā)方式上。和欣操作系統(tǒng)使得嵌入式應(yīng)用的軟件開(kāi)發(fā)能夠?qū)崿F(xiàn)工程化、工廠化生產(chǎn)。 ( 2) 可以動(dòng)態(tài)加載構(gòu)件。動(dòng)態(tài)加載構(gòu)件是因特網(wǎng)時(shí)代嵌入 式系統(tǒng)的必要功能。新一代 移動(dòng)電話等移動(dòng)電子產(chǎn)品,不能再像以前那樣由廠家將所有的功能都做好后固定在產(chǎn)品里,而要允許用戶從網(wǎng)上獲得自己感興趣的程序。 ( 3) 隨時(shí)和動(dòng)態(tài)地實(shí)現(xiàn)軟件升級(jí)。動(dòng)態(tài)加載構(gòu)件的功能,同樣可以用于產(chǎn)品的軟件升級(jí),開(kāi)發(fā)商不必為了添加了部分功能而向用戶重新發(fā)布整套軟件,只需要升級(jí)個(gè)別構(gòu)件。 ( 4) 靈活的模塊化結(jié)構(gòu),便于移植和剪裁??梢院苋菀锥ㄖ瞥蔀獒槍?duì)不同硬件配置的緊湊高效的嵌入式操作系統(tǒng)。添加或刪除某些功能模塊也非常簡(jiǎn)單。 ( 5) 嵌入式軟件開(kāi)發(fā)商容易
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年高職化學(xué)基礎(chǔ)(物質(zhì)性質(zhì))試題及答案
- 2025年高職計(jì)算機(jī)應(yīng)用技術(shù)(網(wǎng)頁(yè)制作)試題及答案
- 2025年中職幼兒發(fā)展與健康管理(幼兒行為引導(dǎo))試題及答案
- 2025年高職精細(xì)化工技術(shù)(精細(xì)化工應(yīng)用)試題及答案
- 2025年中職(生物技術(shù)應(yīng)用)生物制品檢測(cè)階段測(cè)試題及答案
- 2025年中職旅游管理(旅游線路設(shè)計(jì))試題及答案
- 2025年中職車輛維修(輪胎保養(yǎng)與檢測(cè))試題及答案
- 2026年注冊(cè)消防工程師一級(jí)(消防安全案例分析)試題及答案
- 2025年高職廣告電子屏信息安全管理(風(fēng)險(xiǎn)防控措施)試題及答案
- 2026年廣州體育職業(yè)技術(shù)學(xué)院高職單招職業(yè)適應(yīng)性測(cè)試備考題庫(kù)帶答案解析
- 蒼南分孫協(xié)議書(shū)
- 2025-2030中國(guó)電動(dòng)警用摩托車和應(yīng)急摩托車行業(yè)市場(chǎng)現(xiàn)狀供需分析及投資評(píng)估規(guī)劃分析研究報(bào)告
- 農(nóng)機(jī)安全操作培訓(xùn)課件
- 企業(yè)所得稅納稅申報(bào)表(2024年修訂)填報(bào)要點(diǎn)及相關(guān)政策分析
- 小學(xué)五年級(jí)上冊(cè)英語(yǔ)(外研一起)期末模擬測(cè)試卷(一)
- 2022浪潮信創(chuàng)服務(wù)器CS5260H2技術(shù)白皮書(shū)
- 2020年天津市中考滿分作文《細(xì)品落雨花開(kāi)》2
- 泵站維修采購(gòu)合同模板
- 針織學(xué)全套課件
- 2023年巡檢員崗位考試真題模擬匯編(共113題)
- 七下長(zhǎng)江全能學(xué)案
評(píng)論
0/150
提交評(píng)論