面向無線傳感網絡的構件化開發方法
引言
本文引用地址:http://www.104case.com/article/159776.htm隨著移動技術和互聯網技術的飛速發展,移動網絡將是下一代網絡發展的大趨勢。而移動網絡的重要子網之一無線傳感器網絡能夠大大擴展互聯網的觸角。由于無線傳感器網絡低功耗、低成本、分布式和資源有限等特點,使得開發無線傳感器網絡的相關協議成為無線傳感器網絡發展的關鍵技術因素之一。傳統的軟件開發方法顯然已經不適合無線傳感器協議的開發,而近來興起的新的開發模式是基于構件化的軟件開發方法。
基于構件化的軟件開發(CBSD,comp onent-based software development)方法是一種可以提供軟件復用性的開發方法。構件是用于進行軟件開發、復用和軟件組裝的基本單元。在面向構件的技術里,一個應用軟件不是通過大量的代碼來描述,而是通過數量有限的構件來描述,如圖1(a)所示。與傳統的嵌入式軟件不同,構件化的嵌入式軟件是由一組軟件構件構成的,這些構件的一個或者幾個組合成一個完整的應用;而且新的應用也可以使用已有構件,從而提高軟件復用性。傳統模式下開發出來的嵌入式軟件提供的是專用服務,軟件與應用是一一對應的,如圖1(b)所示。整個過程中代碼量大,復雜度高,代碼重用性小,并且更新困難,不適應無線傳感器節點資源有限的要求。
TinyOS是一種基于構件化的無線傳感器網絡操作系統,該系統本身就是一個構件庫。其開發語言nesC 提供了對軟件構件技術的支持。通過靈活組裝各個固定功能的芯片級構件可以方便地搭建起不同硬件平臺級構件。因此在TinyOS 系統下開發構件化的無線傳感器協議的方法已被廣泛使用。但是,目前由于開發者過度依靠現有的集成構件,導致開發出來協議性能并不理想。

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

圖2 系統集成構件和硬件抽象層構件關系
評論