研究生: |
梁建智 Chien-Chih Liang |
---|---|
論文名稱: |
適用於感測器網路之輕量化Java虛擬機器 Barista: A Light-Weight Java Virtual Machine for Wireless Sensor Networks |
指導教授: |
金仲達
Chung-Ta King |
口試委員: | |
學位類別: |
碩士 Master |
系所名稱: |
電機資訊學院 - 資訊工程學系 Computer Science |
論文出版年: | 2006 |
畢業學年度: | 94 |
語文別: | 中文 |
論文頁數: | 33 |
中文關鍵詞: | 感測器網路 、虛擬機器 |
外文關鍵詞: | Barista, JAVA, WSN |
相關次數: | 點閱:1 下載:0 |
分享至: |
查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報 |
無線感測器網路(WSN)常被用來偵測環境的變化,隨著環境因素的改變,我們會需要隨時更新無線感測器網路上所執行的應用程式。因此提供一個方便的更新程式的方法是有必要的。而無線感測器網路通常使用了數量龐大的感測器節點(sensor node),這使得要將感測器節點一個一個收回並更新其中的程式這件事情變得非常麻煩,因此我們需要一個省電、省資源的方法來達到更新程式的目的,且不需要將這些感測器節點收回。此外異質性無線感測器網路(heterogeneous WSN)使得處理這樣的問題更複雜了,因為不同種類的感測器節點可能會需要跑不同的程式。
本篇論文提出了一個專為無線感測器開發的輕量化(light-weight)Java虛擬機器(virtual machine)來解決程式可攜性(portability)與更新程式時的省電問題,該虛擬機器稱為Barista。我們的目標是要開發一個省電、省記憶體使用量與低度作業系統資源需求的Java虛擬機器。使用Barista,使用者可以用他們所熟悉的Java語言來開發無線感測器網路上的應用程式,且使得程式具有高度可攜性以及超小體積等優點。
最後我們在TinyOS上實作出了Barista,其結果顯示Barista可以跑在資源極有限的硬體上(32KB ROM and 1KB RAM),且感測器節點的壽命(life time)僅僅只會減少6%而已。
Abstract
Wireless sensor networks (WSN) are usually used to monitor the environment. As the environment changes, we will need to change the task running on WSNs. Therefore, a concise way to reprogram each sensor node is required. Since WSNs typically contain a large amount of sensor nodes, it is difficult to retrieve them back and download new programs one by one. What is required is a power and resource efficient way of reprogramming the senor nodes in place. This is further complicated by the popularity of heterogeneous WSNs – different types of sensors require different code.
To solve the problems of code portability and energy-efficient reprogramming, this thesis introduces “Barista”, a light-weight Java virtual machine developed for wireless sensors. The goal is to create a low power consumption, low memory usage and low OS resources Java virtual machine. With Barista, users can use their familiar Java language to program their WSN applications. The resultant code will be highly portable and small enough for efficient dissemination to the sensors. We have implemented Barista on TinyOS. The result shows that Barista can run on a resource limited device (32KB ROM and 1KB RAM) and the lifetime of the node is shortened by 6% only.
References
[1] Cristina Cifuentes, Derek White and Eric Arseneau, “Squawk: A Java(TM) VM for Wireless Sensor and Actuator Devices”, JavaOne 2006 Technical Session 1598, May 2006
[2] E. J. Duarte-Melo and M. Liu, “Analysis of energy consumption and lifetime of heterogeneous wireless sensor networks”, IEEE GLOBECOM 2002.
[3] J. Hahn, Q. Xie, and P. H. Chou, “Rappit: Framework for Synthesis of Host-Assisted Scripting Engines for Adaptive Embedded Systems”, In Proc. (CODES+ISSS), pages 315–320, September 2005.
[4] P. Levis and D. Culler, “Mate: A Tiny Virtual Machine for Sensor Networks”, ASPLOS X, October 2002.
[5] P. Levis, D. Gay, and D. Culler, “Bridging the gap: Programming sensor networks with application specific virtual machines”, University of California, Berkeley, Tech. Rep. UCB//CSD-04-1343, 2004.
[6] P. Levis, N. Patel, S. Shenker, and D. Culler, “Trickle: A Self-Regulating Algorithm for Code Propagation and Maintenance in Wireless Sensor Networks”, Technical report, University of California at Berkeley, 2004.
[7] V. Shnayder, M. Hempstead, B. Chen, G. W. Allen and M. Welsh, “Simulating the Power Consumption of LargeScale Sensor Network Applications”, SenSys2004, 2004.
[8] Doug Simon, Cristina Cifuentes, Dave Cleal, John Daniels and Derek White, “Java(TM) on the Bare Metal of Wireless Sensor Devices -- The Squawk Java Virtual Machine”, VEE, Ottawa, July 2006
[9] T. Stathopoulos, J. Heidemann, and D. Estrin, “A remote code update mechanism for wireless sensor networks”, Technical report, UCLA, Los Angeles, CA, USA, 2003.
[10] J2ME, http://java.sun.com/javame/index.jsp
[11] JSR 139 - CLDC 1.1. http://jcp.org/aboutJava/communityprocess/final/jsr139/index.html.
[12] KVM, http://java.sun.com/products/kvm/wp/KVMwp.pdf
[13] Mica Mote, http://www.xbow.com/
[14] SUNSPOT, http://www.sunspotworld.com/
[15] TinyOS, http://www.tinyos.net/