ACM Home Page
Please provide us with feedback. Feedback
Java™ on the bare metal of wireless sensor devices: the squawk Java virtual machine
Full text PdfPdf (1,000 KB)
Source ACM/Usenix International Conference On Virtual Execution Environments archive
Proceedings of the 2nd international conference on Virtual execution environments table of contents
Ottawa, Ontario, Canada
SESSION: Sensor networks and performance analysis table of contents
Pages: 78 - 88  
Year of Publication: 2006
ISBN:1-59593-332-6
Authors
Doug Simon  Sun Microsystems Laboratories, Menlo Park, CA
Cristina Cifuentes  Sun Microsystems Laboratories, Brisbane, Australia
Dave Cleal  Syntropy Limited, Kent, UK
John Daniels  Syntropy Limited, Kent, UK
Derek White  Sun Microsystems Laboratories, Burlington, MA
Sponsors
ACM: Association for Computing Machinery
SIGPLAN: ACM Special Interest Group on Programming Languages
SIGOPS: ACM Special Interest Group on Operating Systems
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 14,   Downloads (12 Months): 172,   Citation Count: 3
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Review this Article  
Save this Article to a Binder    Display Formats: BibTex  EndNote ACM Ref   
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1134760.1134773
What is a DOI?

ABSTRACT

The Squawk virtual machine is a small Java™ virtual machine (VM) written mostly in Java that runs without an operating system on a wireless sensor platform. Squawk translates standard class file into an internal pre-linked, position independent format that is compact and allows for efficient execution of bytecodes that have been placed into a read-only memory. In addition, Squawk implements an application isolation mechanism whereby applications are represented as object and are therefore treated as first class objects (i.e., they can be reified). Application isolation also enables Squawk to run multiple applications at once with all immutable state being shared between the applications. Mutable state is not shared. The combination of these features reduce the memory footprint of the VM, making it ideal for deployment on small devices.Squawk provides a wireless API that allows developers to write applications for wireless sensor networks (WSNs), this API is an extension of the generic connection framework (GCF). Authentication of deployed files on the wireless device and migration of applications between devices is also performed by the VM.This paper describes the design and implementation of the Squawk VM as applied to the Sun™ Small Programmable Object Technology (SPOT) wireless device; a device developed at Sun Microsystems Laboratories for experimentation with wireless sensor and actuator applications.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
B. Alpern, D. Attanasio, J. Barton, A. Cocchi, S.F. Hummel, D. Lieber, M. Mergen, T. Ngo, J. Shepherd, and S. Smith. Implementing Jalapeño in Java. In Proceedings ACM SIGPLAN Conference on Object-Oriented Programming Systems, Languages, and Applications (OOPSLA), Denver, Colorado, November 1999. ACM Press.
 
2
B. Alpern, C.R. Attanasio, J.J. Barton, M.G. Burke, P. Cheng, J.D. Choi, A. Cocchi, S.J. Fink, D. Grove, M. Hind, S.F. Hummel, D. Lieber, V. Litnivoc, M.F. Mergen, T. Ngo, J.R. Russell, V. Sarkar, M.J. Serrano, J.C. Shepherd, S. Smith, V.C. Sreedhar, H. Srinivasan, and J. Whaley. The Jalapeño virtual machine. IBM System Journal, 39(1), February 2000.
 
3
D. Allison. Embedded Linux applications: An overview. http://www-128.ibm.com/developerworks/linux/library/l-embl.html, 2001.
 
4
JSR 139 - CLDC 1.1. http://jcp.org/aboutJava/communityprocess/final/jsr139/index.html.
 
5
G. Czajkowski. Application isolation in the Java™ virtual machine. In Proceedings of the ACM SIGPLAN Conference on Object-Oriented Programming Systems, Languages and Applications OOPSLA, pages 354--366, Minneapolis, Minnesota, October 15--19 2000.
 
6
C. Flack, T. Hosking, and J. Vitek. Idioms in OVM. Technical Report CSD-TR-03-017, Purdue University, Department of Computer Science, 2003.
 
7
M. Golm, M. Felser, C. Wawersich, and J. Kleinoeder. The JX operating system. In Proceedings of the USENIX Annual Technical Conference, pages 45--58, Monterey, CA, June 2002.
 
8
D. Ingalls, T. Kaehler, J. Maloney, S. Wallace, and A. Kay. Back to the future: The story of Squeak, a practical Smalltalk written in itself. In Proceedings ACM SIGPLAN Conference on Object-Oriented Programming Systems, Languages, and Applications (OOPSLA). ACM Press, October 1997.
 
9
Java Platform Debugger Architecture - Java Debug Wire Protocol. http://java.sun.com/products/jpda/doc/jdwp-spec.html.
 
10
R. Jones and R. Lins. Garbage Collection--Algorithms for Automatic Dynamic Memory Management. John Wiley & Sons, Chichester, England, 1996.
 
11
JSR 121 - Application isolation API specification. http://jcp.org/aboutJava/communityprocess/pfd/jsr121/index.html, 2005.
 
12
S. Lohmeier. Jini on the Jnode Java OS. Online article at http://monochromata.de/jnodejni.html, June 2005.
 
13
Java 1.6 Mustang. https://mustang.dev.java.net/, 2005.
 
14
K. Palacz, J. Baker, C. Flack, C. Grothorff, H. Yamauchi, and J. Vitek. Engineering a customizable intermediate representation. In Proceedings of the Workshop on Interpreters, Virtual Machines and Emulators (IVME), pages 67--76. ACM Press, June 2003.
 
15
R. Smith, C. Cifuentes, and D. Simon. Enabling Java™ for small wireless devices with Squawk and Spotworld. OOPSLA Workshop Bringing Software to Pervasive Computing, Oct 16 2005.
 
16
D. Schneider, B. Mathiske, M. Ernst, and M. Seidl. Automatic persistent memory management for the Spotless Java™ virtual machine on the Palm connected organizer. In Proceedings of the Java™ Virtual Machine Research and Technology Symposium (JVM'01). USENIX, April 2001.
 
17
N. Shaylor, D. Simon, and B. Bush. A Java virtual machine architecture for very small devices. In Proceedings of the Conference on Languages, Compilers, and Tools for Embedded Systems (LCTES), pages 34--41. ACM Press, June 2003.
 
18
A. Taivalsaari, B. Bill, and D. Simon. The Spotless system: Implementing a Java™ system for the Palm connected organizer. Technical Report SMLI TR-99-73, Sun Microsystems Research Laboratories, Mountain View, California, February 1999.
 
19
D. Ungar, A. Spitz, and A. Ausch. Constructing a metacircular virtual machine in an exploratory programming environment. In Companion Proceedings to the ACM SIGPLAN Conference on Object-Oriented Programming Systems, Languages and Applications OOPSLA, pages 11--20. ACM Press, October 2005.


Collaborative Colleagues:
Doug Simon: colleagues
Cristina Cifuentes: colleagues
Dave Cleal: colleagues
John Daniels: colleagues
Derek White: colleagues