新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 嵌入式組件技術(shù)的研究及應(yīng)用

嵌入式組件技術(shù)的研究及應(yīng)用

作者: 時(shí)間:2009-05-19 來(lái)源:網(wǎng)絡(luò) 收藏

摘 要:系統(tǒng)不斷增大的復(fù)雜度和市場(chǎng)實(shí)效性的要求推動(dòng)了基于的開(kāi)發(fā)(Componet-based Develop-ment,CBD)向軟件領(lǐng)域的轉(zhuǎn)移。通過(guò)深入分析通用的設(shè)計(jì)原則和系統(tǒng)的特性要求,提出了符合嵌入式系統(tǒng)的設(shè)計(jì)原則,并且根據(jù)嵌入式組件的特點(diǎn),提出了一種基于“組件樹(shù)”的嵌入式軟件開(kāi)發(fā)方法,使組件的優(yōu)點(diǎn)在嵌入式系統(tǒng)中得到了很好的體現(xiàn),為CBD向嵌入式領(lǐng)域的’轉(zhuǎn)移提供了一種有效的途徑。
關(guān)鍵詞:嵌入式系統(tǒng);組件;CBD;軟件開(kāi)發(fā)

本文引用地址:http://www.butianyuan.cn/article/152484.htm


0 引 言
基于組件的開(kāi)發(fā)(Component Based Development,CBD)技術(shù)在軟件工程中占有舉足輕重的地位,并且在許多工程領(lǐng)域已經(jīng)取得了重大的成功。在通用計(jì)算機(jī)軟件、電子商務(wù)、Internet和分布式計(jì)算環(huán)境中CBD技術(shù)已經(jīng)得到了成熟的。但是,在其他一些領(lǐng)域,如嵌入式系統(tǒng)中,CBD的還及其有限。由于不同嵌入式系統(tǒng)的需求和硬件平臺(tái)各異,要開(kāi)發(fā)出適用于所有系統(tǒng)的通用組件是極其困難的,目前只能夠針對(duì)特定應(yīng)用領(lǐng)域和平臺(tái)開(kāi)發(fā)適用的組件。正是由于嵌入式系統(tǒng)的差異性、專門性與組件技術(shù)的通用性之間的矛盾,所以要利用組件進(jìn)行嵌入式軟件開(kāi)發(fā),就必須采取適用的組件技術(shù)和系統(tǒng)開(kāi)發(fā)方法。
在此,主要介紹了面向組件軟件工程的總體原則及其在嵌入式系統(tǒng)中的應(yīng)用。通過(guò)分析嵌入式系統(tǒng)中對(duì)組件的要求和通用組件技術(shù)的差異,提出了嵌入式組件的設(shè)計(jì)原則,并基于嵌入式組件的特點(diǎn),提出一種面向組件的嵌入式軟件系統(tǒng)開(kāi)發(fā)方法。表明盡管嵌入式系統(tǒng)與通用計(jì)算平臺(tái)具有很大的差異,但是組件技術(shù)仍然可以成功地應(yīng)用于嵌入式領(lǐng)域。


l 嵌入式系統(tǒng)和組件技術(shù)
1.1 嵌入式系統(tǒng)
嵌入式系統(tǒng)是滿足專門需求的小型計(jì)算機(jī)系統(tǒng)。例如,車載控制系統(tǒng)、工業(yè)控制系統(tǒng)、移動(dòng)電話或者傳感控制系統(tǒng)。嵌入式系統(tǒng)的范圍極其廣泛,從微型計(jì)算設(shè)備到復(fù)雜的大型監(jiān)控設(shè)備都屬于嵌入式系統(tǒng)的范疇。實(shí)時(shí)性是大多數(shù)嵌入式系統(tǒng)的特性,是在系統(tǒng)設(shè)計(jì)時(shí)需要考慮的重要概念。對(duì)于實(shí)時(shí)性的要求,不同嵌入式系統(tǒng)可以分為軟實(shí)時(shí)系統(tǒng)(Solt Time System)和硬實(shí)時(shí)系統(tǒng)(Hard Time System)。嵌入式系統(tǒng)一般還要求有很好的穩(wěn)定性和可靠性。由于功能專一,需求多樣和系統(tǒng)小型化,這就要求系統(tǒng)的成本低廉,從而限制了系統(tǒng)的硬件性能。由于嵌入式系統(tǒng)的資源限制和實(shí)時(shí)性要求,軟件開(kāi)發(fā)人員往往不能夠利用先進(jìn)的通用軟件工程技術(shù),而必須使用一些非正規(guī)的方法,利用高效的程序語(yǔ)言進(jìn)行開(kāi)發(fā)。隨著系統(tǒng)復(fù)雜性不斷增加,對(duì)系統(tǒng)的需求分析,模型設(shè)計(jì),早期的錯(cuò)誤檢測(cè),開(kāi)發(fā)周期,可維護(hù)性等方面提出了新的要求。因此推動(dòng)了先進(jìn)的軟件工程方法向嵌入式開(kāi)發(fā)領(lǐng)域的轉(zhuǎn)移。
1.2 組件技術(shù)
組件技術(shù)就是一種軟件工程中的先進(jìn)技術(shù)。組件可以認(rèn)為是能夠用于構(gòu)建大型系統(tǒng)的自包含的部件或子系統(tǒng)。在軟件工程中,一個(gè)組件與一個(gè)微型應(yīng)用程序類似,即都是已經(jīng)編譯鏈接好,并可以使用的二進(jìn)制代碼,應(yīng)用程序由多個(gè)這樣的組件打包而得到。在需要對(duì)應(yīng)用程序進(jìn)行修改或改進(jìn)時(shí),只需要將構(gòu)成此應(yīng)用程序組件中的某個(gè)用新版本替換掉即可。這樣,使用組件技術(shù)的系統(tǒng)就具有很好的靈活性和可移植性。另外強(qiáng)大的組件庫(kù)能夠?yàn)殚_(kāi)發(fā)人員提供功能豐富的組件支持,從而大大縮短軟件的開(kāi)發(fā)周期。使用組件的種種優(yōu)點(diǎn)直接來(lái)源于可以將它們動(dòng)態(tài)地插入或卸出的應(yīng)用。為了實(shí)現(xiàn)這種功能,所有的組件必須滿足兩個(gè)條件:一是組件必須動(dòng)態(tài)鏈接;二是它們必須隱藏其內(nèi)部實(shí)現(xiàn)細(xì)節(jié)。另外,利用組件還能幫助開(kāi)發(fā)人員根據(jù)所使用的組件功能預(yù)測(cè)和驗(yàn)證系統(tǒng)的功能特性。正是由于組件具有諸多優(yōu)點(diǎn),基于組件的開(kāi)發(fā)技術(shù)才引起了軟件工程領(lǐng)域的廣泛應(yīng)用,并且逐漸將它引入迅猛發(fā)展的嵌入式軟件開(kāi)發(fā)領(lǐng)域中。


2 嵌入式系統(tǒng)組件的設(shè)計(jì)原則
2.1 接口設(shè)計(jì)原則
適用于嵌入式系統(tǒng)中的組件遵從大部分的通用組件設(shè)計(jì)原則,特別是組件的接口和實(shí)現(xiàn)相分離的封裝特性。組件的接口是組件功能的體現(xiàn),系統(tǒng)中的其他部分或者組件正是通過(guò)接口使用組件提供的功能。但是對(duì)于嵌入式系統(tǒng)而言,有一些額外的系統(tǒng)特性或約束和系統(tǒng)功能是同樣重要的(如實(shí)時(shí)性),那么接口僅包含組件本身的功能特性就不完備,它還必須包含額外的系統(tǒng)特性,即加入約束條件。這樣在系統(tǒng)設(shè)計(jì)階段,利用組件進(jìn)行設(shè)計(jì)不但能夠驗(yàn)證功能需求,而且還能預(yù)測(cè)和分析系統(tǒng)特性需求。
2.2 組件綁定與發(fā)布原則
在通用組件的設(shè)計(jì)中,接口是以支持運(yùn)行期綁定的多態(tài)對(duì)象接口方式實(shí)現(xiàn)的。組件完全以動(dòng)態(tài)形式綁定,獨(dú)立于接口的定義。這樣為組件復(fù)用、系統(tǒng)升級(jí)提供了強(qiáng)大的靈活性。但是,這種靈活性在嵌入式系統(tǒng)中會(huì)帶來(lái)性能的下降和風(fēng)險(xiǎn)的上升,影響系統(tǒng)的實(shí)時(shí)性和穩(wěn)定性。因?yàn)樗薪M件都在運(yùn)行期綁定,這樣必然會(huì)增加冗余代碼,并且讓系統(tǒng)行為變得難以預(yù)測(cè)。因此,通用組件的動(dòng)態(tài)特性在嵌入式系統(tǒng)中特別是小型系統(tǒng)中是不可行的。由于實(shí)時(shí)性和硬件資源限制,在嵌入式系統(tǒng)中,組件鏈接和組合最好在系統(tǒng)設(shè)計(jì)期靜態(tài)而不是運(yùn)行期動(dòng)態(tài)地進(jìn)行。進(jìn)行組件的靜態(tài)綁定,可以通過(guò)系統(tǒng)建模工具對(duì)一個(gè)基于組件的系統(tǒng)設(shè)計(jì)產(chǎn)生一個(gè)總體視圖,這樣能夠?qū)ο到y(tǒng)性能有更好的預(yù)測(cè)和優(yōu)化。所以組件的形式不應(yīng)該再使用通用組件中的二進(jìn)制可執(zhí)行文件形式發(fā)布,而應(yīng)該采用高級(jí)語(yǔ)言或更為抽象的建模語(yǔ)言(如UML)定義組件的形式,這樣可以讓組件在編譯期或者在設(shè)計(jì)的早期就可以綁定鏈接,而不是像通用組件那樣的遲綁定(Late Binding)。
2.3 大型嵌入式系統(tǒng)中的組件原則
隨著嵌入式技術(shù)的不斷發(fā)展,許多功能復(fù)雜的大型嵌入式系統(tǒng)也隨之出現(xiàn)。對(duì)于這些系統(tǒng)硬件資源和實(shí)時(shí)性已經(jīng)不是首要的考慮因素,如何有效控制系統(tǒng)復(fù)雜性和降低高昂的開(kāi)發(fā)成本已成為最主要的問(wèn)題。所以對(duì)于這樣的大型嵌入式系統(tǒng),通用組件幾乎可以毫無(wú)障礙地在系統(tǒng)中發(fā)揮作用,極大地簡(jiǎn)化了開(kāi)發(fā)難度,減少了開(kāi)發(fā)工作量和開(kāi)發(fā)周期。如微軟的嵌入式系統(tǒng)Windows CE就是這項(xiàng)技術(shù)的成功應(yīng)用,系統(tǒng)功能和應(yīng)用功能完全以組件方式列出,開(kāi)發(fā)人員只需要簡(jiǎn)單地添加和刪除就能將一項(xiàng)復(fù)雜功能加入或移除系統(tǒng)鏡像,并且支持功能強(qiáng)大的COM組件庫(kù),為應(yīng)用程序的開(kāi)發(fā)提供了非常便利的工具。當(dāng)然,那些要求強(qiáng)實(shí)時(shí)的大型嵌人式系統(tǒng)也不應(yīng)該使用通用組件技術(shù),應(yīng)該根據(jù)具體的系統(tǒng)特性使用精簡(jiǎn)版本來(lái)進(jìn)行系統(tǒng)開(kāi)發(fā)。

linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

上一頁(yè) 1 2 下一頁(yè)

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉