a一级爱做片免费观看欧美,久久国产一区二区,日本一二三区免费,久草视频手机在线观看

關 閉

新聞中心

EEPW首頁 > 安全與國防 > 設計應用 > 一種面向無線傳感網絡的構件化開發方法

一種面向無線傳感網絡的構件化開發方法

作者: 時間:2010-08-02 來源:網絡 收藏

  摘要:構件化的開發模式使開發者在開發過程中能充分調用構件庫中現有的構件為其服務。研究了構件化開發模式的方法和特點,針對目前無線傳感器網絡協議開發方法中的缺陷,提出一種由應用層構件直接調用底層構件的直接調用法。用該方法分析實現了無線傳感器網絡中主流的802.15.4 標準,通過系統實現后的測試證明,該方案具有更高的開發效率和代碼執行效率。

引言

  隨著移動技術和互聯網技術的飛速發展,移動網絡將是下一代網絡發展的大趨勢。而移動網絡的重要子網之一能夠大大擴展互聯網的觸角。由于低功耗、低成本、分布式和資源有限等特點,使得開發的相關協議成為無線傳感器網絡發展的關鍵技術因素之一。傳統的軟件開發方法顯然已經不適合無線傳感器協議的開發,而近來興起的新的開發模式是基于構件化的軟件開發方法。

  基于構件化的軟件開發(CBSD,comp onent-based software development)方法是一種可以提供軟件復用性的開發方法。構件是用于進行軟件開發、復用和軟件組裝的基本單元。在面向構件的技術里,一個應用軟件不是通過大量的代碼來描述,而是通過數量有限的構件來描述,如圖1(a)所示。與傳統的嵌入式軟件不同,構件化的嵌入式軟件是由一組軟件構件構成的,這些構件的一個或者幾個組合成一個完整的應用;而且新的應用也可以使用已有構件,從而提高軟件復用性。傳統模式下開發出來的嵌入式軟件提供的是專用服務,軟件與應用是一一對應的,如圖1(b)所示。整個過程中代碼量大,復雜度高,代碼重用性小,并且更新困難,不適應無線傳感器節點資源有限的要求。

  TinyOS是一種基于構件化的無線傳感器網絡操作系統,該系統本身就是一個構件庫。其開發語言nesC 提供了對軟件構件技術的支持。通過靈活組裝各個固定功能的芯片級構件可以方便地搭建起不同硬件平臺級構件。因此在TinyOS 系統下開發構件化的無線傳感器協議的方法已被廣泛使用。但是,目前由于開發者過度依靠現有的集成構件,導致開發出來協議性能并不理想。


圖1 構件化的嵌入式軟件與傳統嵌入式軟件

1 現有開發方法描述

  系統為了簡化開發者的開發難度,對各芯片的底層構件進行了構件化包裝。調用硬件底層構件所提供的最基本功能接口,來組合實現一些功能模塊,如配制芯片模塊、發送數據模塊、接收數據模塊等。系統對各芯片的硬件抽象層的集成化操作基本是一樣的,圖2 是CC2420構件調用硬件抽象層構件的關系。


圖2 構件和硬件抽象層構件關系

  由圖2 可以看出,構件起到一個橋梁作用,使開發者簡化了開發工作。但是,系統集成構件在調用硬件抽象構件實現自身功能的時候出現重復調用問題。并且構件CC2420SpiC 在不同的層(系統集成層和硬件抽象層)都有使用,這本身使得系統集成層和物

  理抽象層關系變得模糊和復雜,加大開發者開發難度。

  根據構件化系統編程可知,調用構件的接口需要實現提供接口構件中的event 事件。如果多個構件重復使用同一個構件的同一個接口,每個使用該接口的構件都需要將該接口中的event 事件執行一次。系統集成構件同時調用相同的硬件抽象層構件中的接口命令時,完成命令的signal 事件會通知每個使用該接口的構件。這就導致了構件化系統下編程常見問題:扇出(fan-out)。系統為了解決這一問題不得不將構件性質改為generic 類型。而這會引入新的構件調用模式。所有這些使得系統集成構件對硬件抽象層構件的調用變得比實際要復雜,代碼的執行效率大大降低。

2 直接調用底層構件方法描述

  對系統集成構件的研究發現,應用層構件在調用系統集成構件時最終調用了硬件抽象層構件,只是系統集成構件將硬件抽象層構件重新整合到某個大的集成構件中,方便用戶查找接口。實際上,由于嵌入式軟件和硬件結合性高、硬件資源有限等特點,為了使得軟件系統性能達到最高,嵌入式軟件開發者在開發之前對硬件已經非常熟悉。在這種情況下沒有必要在硬件抽象層之上硬性加上系統抽象層。對開發者而言,直接調用底層硬件抽象層構件會更直觀、簡單。

  具體實現方法如圖3 所示,在構件操作上對沒有引入新功能的構件在配線構件配線時候可以跨過整個系統集成構件,而不會影響系統功能,并可以簡化開發過程,提高運行效率。以下將這一方法簡稱為直接調用法。



圖3 構件簡化過程

  


上一頁 1 2 下一頁

評論


相關推薦

技術專區

關閉