《電子技術應用》
您所在的位置:首頁 > 其他 > 業界動態 > 組件技術及其應用在嵌入式系統設計中

組件技術及其應用在嵌入式系統設計中

2008-08-05
作者:來源:中國工控展覽網

1 組件技術分析
  

1.1?組件技術產生背景
  

為了滿足人們對于軟件生產率、可靠性、易維護性、易管理等方面的更高、更快、更強的迫切需求,研究人員不僅引入了軟件工程的概念,而且也引入了面向對象這種不同于傳統軟件開發" title="軟件開發">軟件開發的新的開發思維,并且將它應用于軟件生命周期的各個階段―從分析到編碼。它被認為是解決“軟件危機”的最佳對策。但隨著互聯網應用時代的到來,應用需求的不斷提高以及應用系統的日趨復雜化[1],人們發現這種傳統的面向對象技術已經不能滿足需求了,主要原因有:從抽象程度來看,面向對象技術已經達到類級重用,但重用粒度太小,不能解決異構互操作問題和效率更高的重用。而組件是對傳統面向對象技術的擴展,將抽象程度提高到了更高的層次。它是對一組相關類的組合進行封裝,并代表完成一個或多個功能的特定服務。此外,組件不僅僅是對代碼的封裝,它也可以對軟件體系結構、測試用例、設計文檔、分析文檔和領域知識等進行封裝。因此,從這個意義上來講,組件本身具有更廣泛的含義,也具有更靈活的重用粒度。
  

1.2?組件技術產生的重要影響
  

網絡時代的基礎技術將有如下發展[2]:(1)應用重點將由基于桌面的應用轉移到基于網絡的應用;(2)操作系統技術發展趨勢將由面向桌面的系統轉移到面向網絡的系統;(3)網絡編程技術將由面向對象編程發展為面向組件編程。組件技術的運用將促進網絡應用模型的改變。Web服務平臺將成為下一代的因特網計算模型,其主要特征:應用軟件將由包含自描述信息(元數據)的組件組成;系統根據組件的自描述信息動態生成中間件,建立用戶與組件的聯系管道,實現組件的自動加載;組件可以通過網絡獲得,可以獨立升級。網絡環境下以組件化軟件為基礎的“客戶-中間件-服務器”三層結構可以很好地解決分布式處理、信息安全、軟件升級、軟件產業化等技術和工程方面的問題。基于組件的軟件開發將成為社會化的軟件開發方法,它使得開發者可以將不同語言、不同開發商提供的組件組合在一起構造新的軟件系統" title="軟件系統">軟件系統。因此,方便地解決了開發異構系統、分布式系統等復雜系統時帶來的種種難題。
  

傳統應用軟件的開發一般包括需求分析、設計、編碼、調試、測試和維護等階段,但基于組件的軟件開發過程卻與此不同[3]
  

在需求分析階段,除了需要考慮系統的功能性和非功能性需求外,還必須從基于組件技術的角度出發,發現并抽取出系統中的共性部分和可變部分,從而形成領域通用組件和專用組件。體系結構設計階段將在前面工作的基礎上建立各個組件以及組件之間的聯系。然后軟件設計者通過組件庫或定制領域通用組件或定制領域專用組件來獲得系統所需的組件。其中,領域通用組件可以為以后相同領域應用程序的開發繼續提供服務,從而達到復用的目的。因此,基于組件技術的軟件開發將具有更高的軟件生產率,將成為實現軟件產業化的最佳途徑。
  

1.3?組件技術研究現狀
  

近年來,組件技術的研究取得了較大進展[4]?[5],對軟件系統的開發提供了有力的支持,出現了LIL、CKL等多種組件描述語言,Powerbuilder、Delphi等組件語言。目前主流的軟件組件技術標準有:微軟提出的COM/COM+、SUN公司提出的JavaBean/EJB、OMG提出的Corba。它們為應用軟件的開發提供了可移植性、異構性的實現環境和健壯平臺,結束了面向對象中的開發語言混亂的局面,解決軟件復用在通信、互操作等環境異構的瓶頸問題。研究實踐表明,軟件復用在特定領域更容易獲得成功,因此特定領域的軟件復用研究得到了高度重視,特定領域的組件技術及其應用研究也成為組件技術的研究熱點。
  

但是設計組件時,它的粒度該如何把握是一個值得研究的問題,它將影響整個軟件系統以及以后的重用[6]?[7]。如果粒度太大,雖然功能較多,但接口較復雜且不易修改,因而不易重用;而如果粒度太小,雖然功能單一,接口簡單且易于修改、易于重用,但整個軟件系統中各個組件之間的關系將顯得更為復雜。因而,當設計一個軟件系統時,應當在大粒度和小粒度的選擇和設計中進行很好的權衡。目前,已經有這方面的研究,如可變粒度的軟件開發或管理工具。相信不久的將來,基于組件的軟件開發工具可以為開發人員提供這方面的成熟支持。
  

2?嵌入式系統開發
  

2.1?存在的問題[2]
  

互聯網應用的興起使計算模式繼主機計算和桌面計算之后進入一種全新的模式―普適計算模式。這種新型計算模式的含義十分廣泛,涉及的技術包括移動通信技術、網絡技術、傳感器技術、分布式技術、嵌入式技術等。它主要針對移動設備,比如信息家電或某種嵌入式設備,如掌上電腦、BP機、車載智能設備、筆記本計算機、手表、智能卡、智能手機(具有掌上電腦的一部分功能)、機頂盒、POS銷售機、屏幕電話(除了普通話機的功能還可以瀏覽因特網)等新一代智能設備。因此,嵌入式技術的發展將促進普適技術的成熟。嵌入式技術的發展主要表現在下列幾個方面:(1)底層硬件的設計,包括集成度、功能、能耗等;(2)嵌入式操作系統,包括實時性、可靠性、安全性等;(3)高層應用的開發,主要包括開發工具、應用的可重用性等。但目前嵌入式系統的開發存在下列問題:1、硬件系統根據特定的應用進行定制,一般不能方便地應用到其他的系統中;2、應用程序的開發直接基于操作系統之上,缺乏跨平臺的開發工具;?3、應用程序的開發一般是從“零”開始的。因此,導致了系統開發" title="系統開發">系統開發周期長,開發費用大,可移植性差,可靠性低等問題。尤其在Internet時代,應用程序的功能將更加豐富和靈活,系統也將變得更為復雜,因此上述不足將表現得更為突出。
  

2.2?嵌入式系統開發的發展
  

為了滿足嵌入式系統快速增長的需要以及解決傳統開發方法中存在的不足,我們將組件技術引入嵌入式系統的開發中。但目前絕大多數的嵌入式操作系統存在下列問題:(1)以一體化內核的方式來實現,如linux將許多常用的但非基本的服務直接集成到內核中(如tcp/ip協議等),因此將使內核顯得過于龐大。雖然linux內核可以通過定制來使其變得更為小巧和合理,但每次內核的升級和功能的增加/裁減都需要對整個內核進行重新的編譯,導致系統缺乏靈活性,無法實現對內核的run-time時升級。(2)缺乏對面向組件編程方式提供直接支持。
  

為了更好地支持組件在嵌入式領域的應用,?我們需要一種新的嵌入式操作系統的體系結構[2]?[4]?[6](見圖2),具體描述如下:(1)將傳統的一體化內核進行分層,形成微內核層和系統擴展服務層。除了將基本服務――硬件抽象、內存管理、進行管理與通信――集成到內核中,其余的系統服務,如網絡服務、設備驅動、文件系統等,將作為擴展服務。底層功能的實現機制決定了系統性能。如進程調度算法和進行之間的通信管理機制決定了系統的運行效率和實時性等因素。第二層使得系統變得更為靈活,它的改變對底層而言是透明的。因此,無論從功能升級還是新功能的加入方面來看,系統將變得更加靈活,內核可以實現run-time時升級,而且為實現真正的軟硬件熱插拔和移動計算提供了可能。此外,系統將更加可靠、穩定和高效。既適合于低端嵌入式應用,也適合于高端應用。(2)提供對通用組件運行環境的直接支持,即實現虛擬機[2]的概念。此時基于組件開發的應用程序并不是直接基于底層操作系統,因此具有很好的移植性。
  

3?基于組件技術的嵌入式系統開發過程
  

基于組件技術的嵌入式系統的開發過程如下:
  

(1)系統需求分析
  

包括功能性需求與非功能性需求分析。確定哪些功能由硬件模塊實現,哪些功能由軟件模塊實現。結合領域知識分析并提取公共的軟硬件部分以及可變的軟硬件部分。
  

(2)設計系統體系結構
  

在前一階段工作的基礎上進行硬件系統體系結構和軟件系統體系結構的設計。第一、硬件系統的開發同樣可以借鑒組件技術的思維,即基于硬組件技術,將其設計為模塊化系統,由硬件供應商提供基礎組件,如8位/16位/32位CPU核、USB核、CAN核、DSP核,MODEM核,FAX核,甚至粒度更大的SoC芯片。硬件工程師將根據需要對硬組件進行選擇,或自行開發。第二、軟件系統的開發有:選擇支持組件技術的嵌入式操作系統、確定系統級的擴展服務組件、確定應用級的領域通用組件和專用組件,確定各個組件之間的關系[2]?[6]。
  

(3)通用的組件開發平臺的選擇
  

(4)組件的選擇、開發、集成以及測試。
  

由此可見,將來嵌入式系統的開發工作量主要集中在:1、硬件系統――基于硬組件、擴展組件的選擇與集成,特殊組件的開發;2、系統軟件――擴展服務組件的選擇或開發;3、應用程序――組件的選擇或開發,還有最后的集成與測試。
  

4?基于組件的嵌入式系統開發實例分析
  

目前,很多智能消費設備提供了一些相似的功能,如在多媒體、游戲等方面。因此這些領域通用功能可以在多個應用之間實現共享。下面以一款智能終端為例來說明如何實現基于組件的體系結構,它體現了組件技術與嵌入式系統開發相結合的魅力所在,是傳統的嵌入式系統開發方法所無法比擬的,是一種更為自然的描述和設計方式。該智能終端具有如下功能性需求:(1)具有一般PDA的功能,如備忘錄、字典、電話號碼、游戲等;(2)下載/播放音樂(3)下載或在線視頻播放(4)自動下載和系統在線升級、收發郵件、SMS。非功能性需要有:節能保護。
  

根據上述需求描述,我們可以提取出下列領域通用組件:(1)“基于瀏覽器技術的用戶界面”組件。(2)PDA框架。(3)多媒體框架。(4)網絡功能框架。領域專用組件有:節能保護組件。整個軟件系統的體系結構。
  

該體系結構由瀏覽器界面通用組件、PDA框架、多媒體框架和網絡功能框架等組成。其中,各個框架又包含若干粒度更小的組件或框架。例PAD框架既包含備忘錄組件又包含粒度更小的游戲框架。從復用角度看[7],框架本身也屬于組件,但它的粒度更大,因而整個系統中各部分之間的關系顯得較為簡單和清晰。尤其對于復雜的系統,組件粒度的選擇很重要,需要在易于復用和關系簡單化這二者中進行很好的權衡。
  

其中以瀏覽器為交互式操作界面,既便于用戶掌握,又為程序開發提供了統一標準,也是將來網絡應用模型的主要特征之一。在這種新的應用模式下,“瀏覽器”實際上只是作為一個容器,它是一個可執行文件,但本身非常簡單,不為用戶提供應用功能,而只是提供組件運行環境。
  

自動下載組件可以實現系統的在線升級。例如,如果硬件系統支持的話,可以將SMS組件升級為MMS組件。此外,為了安全起見,可以為系統加入新的功能,如增加“來電防火墻”組件。
  

5?結束語
  

基于組件的軟件開發是一種全新的網絡編程方式。組件技術的發展與應用將使得軟件系統的開發更自然、更高效、更靈活。特別地,基于組件技術進行嵌入式系統開發有著重要的意義,將結束其傳統開發各自為戰的時代,將促進嵌入式系統在網絡時代更為廣泛和深入的應用。本文作者創新點:將組件技術應用于嵌入式系統的開發,使嵌入式系統的開發更加快捷和高效。

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:[email protected]
主站蜘蛛池模板: 国产午夜亚洲精品一区网站 | 男女性高清爱潮视频免费观看 | 日本精品在线观看 | 成年人网站免费观看 | 国产一区二三区 | 日本三级毛片 | 亚洲国产二区三区 | 国产精品国产自线在线观看 | 日韩一级片在线观看 | 成人欧美精品一区二区不卡 | 快色网站 | 国产高清一区 | 成 人免费视频l免费观看 | 最新在线精品国自拍视频 | 黄 色 成 年人网站 黄 色 免费网 站 成 人 | 亚洲国产欧美另类 | 国产一区二区在线观看视频 | 欧美xx一片| 日韩免费一级 | 久久性感视频 | 400部大量精品情侣网站 | 亚州a| 欧美一级毛片不卡免费观看 | 久久精品国产精品青草 | 成人亚洲精品 | 成人毛片免费视频 | rion美乳弹出来四虎在线观看 | 久久久久国产免费 | 最新国产三级在线观看不卡 | 看一级毛片国产一级毛片 | 成人毛片在线视频 | 亚洲免费国产 | 欧美精品成人3d在线 | 黄免费看 | 国内一区 | 久久亚洲国产的中文 | 久久高清免费 | 免费观看成年人网站 | 一区二区三区四区五区六区 | 欧美同性videos在线可播放 | 成人国产网站 |