|
ABSTRACT
A program executing on a low-end embedded system, such as a smart-card, faces scarce memory resources and fixed execution time constraints. We demonstrate that factorization of common instruction sequences in Java bytecode allows the memory footprint to be reduced, on average, to 85% of its original size, with a minimal execution time penalty. While preserving Java compatibility, our solution requires only a few modifications which are straightforward to implement in any JVM used in a low-end embedded system.
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
|
|
| |
2
|
|
| |
3
|
Quetzalcoatl Bradley , R. Nigel Horspool , Jan Vitek, JAZZ: an efficient compressed format for Java archive files, Proceedings of the 1998 conference of the Centre for Advanced Studies on Collaborative research, p.7, November 30-December 03, 1998, Toronto, Ontario, Canada
|
| |
4
|
Clausen, L. R. 1997. A Java bytecode optimizer using side-e ect analysis. Concurrency: Practice & Experience 9, 11 (Nov.), 1031-1045.
|
| |
5
|
Clausen, L. R., Schultz, U., Consel, C., and Muller, G. 1998. Java bytecode compression for embedded systems. Research Report 3578, INRIA, Rennes, France. Dec.
|
| |
6
|
Dallas Semiconductor Corp. 1998. Java-Powered Decoder Ring. Dallas Semiconductor Corp. URL: http://www.ibutton.com/jring_facts.html.
|
| |
7
|
Dallas Semiconductor Corp. 1999. Java-Powered Ring Download Site. URL: http://www.ibutton.com/jiblet.
|
 |
8
|
|
 |
9
|
|
| |
10
|
|
 |
11
|
|
 |
12
|
|
| |
13
|
|
| |
14
|
|
| |
15
|
Huffman, D. A. 1952. A method for the construction of minimum-redundancy codes. Proceedings of the Institute for Radio Engineering 40, 9 (Sept.), 1098-1101.
|
| |
16
|
Charles Lefurgy , Peter Bird , I-Cheng Chen , Trevor Mudge, Improving code density using compression techniques, Proceedings of the 30th annual ACM/IEEE international symposium on Microarchitecture, p.194-203, December 01-03, 1997, Research Triangle Park, North Carolina, United States
|
| |
17
|
Stan Liao , Srinivas Devadas , Kurt Keutzer , Steve Tjiang, Instruction selection using binate covering for code size optimization, Proceedings of the 1995 IEEE/ACM international conference on Computer-aided design, p.393-399, November 05-09, 1995, San Jose, California, United States
|
| |
18
|
|
| |
19
|
|
| |
20
|
Pendragon Software. 1997. Ca eineMark 3.0. URL: http://www.webfayre.com/pendragon/cm3/index.html.
|
 |
21
|
|
 |
22
|
|
| |
23
|
Derek Rayside , Evan Mamas , Erik Hons, Compact Java binaries for embedded systems, Proceedings of the 1999 conference of the Centre for Advanced Studies on Collaborative research, p.9, November 08-11, 1999, Mississauga, Ontario, Canada
|
| |
24
|
Sun Microsystems, Inc. 1997. JavaCard 2.0 Language Subset and Virtual Machine Speci cation, 1.0 ed. Sun Microsystems, Inc. URL: http://www.javasoft.com/products/javacard.
|
| |
25
|
Sun Microsystems, Inc. 1998a. Embedded Java Speci cation, 1.0 ed. Sun Microsystems, Inc. URL: http://java.sun.com/products/embeddedjava/note.html.
|
| |
26
|
Sun Microsystems, Inc. 1998b. Java Card API 2.0 Reference Implementation, Developer Release 2 ed. Sun Microsystems, Inc. URL: http://www.javasoft.com/products/javacard.
|
| |
27
|
Sun Microsystems, Inc. 1998c. The Java Developers Kit 1.0.2. Sun Microsystems, Inc. URL: http://java.sun.com/products/jdk/1.0.2/.
|
| |
28
|
Sun Microsystems, Inc. 1999a. Java Embedded Server. Sun Microsystems, Inc. URL: http://www.sun.com/software/embeddedserver.
|
| |
29
|
Sun Microsystems, Inc. 1999b. JavaCard 2.1 Application Programming Interface Speci cation. Sun Microsystems, Inc. URL: http://www.javasoft.com/products/javacard.
|
| |
30
|
Sun Microsystems, Inc. 1999c. JavaCard 2.1 Runtime Environment (JCRE) Speci cation. Sun Microsystems, Inc. URL: http://www.javasoft.com/products/javacard.
|
| |
31
|
Sun Microsystems, Inc. 1999d. JavaCard 2.1 Virtual Machine Speci cation. Sun Microsystems, Inc. URL: http://www.javasoft.com/products/javacard.
|
| |
32
|
Sun Microsystems, Inc. 2000. JavaCard 2.1 development kit. URL: http://www.javasoft.com/products/javacard.
|
 |
33
|
|
| |
34
|
Visa International Service Association 1998. Visa Open Platform Card Version 1.0 Implementation for Applet Developers. Visa International Service Association. URL: http://www.visa.com/cgi-bin/vee/nt/suppliers/open/main.html.
|
| |
35
|
Ziv, J. and Lempel, A. 1978. Compression of individual sequences via variable rate encoding. IEEE Transactions on Information Theory 24, 530-536.
|
CITED BY 25
|
|
|
|
|
Alwyn Goodloe , Michael McDougall , Carl A. Gunter , Rajeev Alur, Predictable programs in barcodes, Proceedings of the 2002 international conference on Compilers, architecture, and synthesis for embedded systems, October 08-11, 2002, Grenoble, France
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Ana Azevedo , Arun Kejariwal , Alex Veidenbaum , Alexandru Nicolau, High performance annotation-aware JVM for Java cards, Proceedings of the 5th ACM international conference on Embedded software, September 18-22, 2005, Jersey City, NJ, USA
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Zhuang Guo , José Nelson Amaral , Duane Szafron , Yang Wang, Utilizing field usage patterns for Java heap space optimization, Proceedings of the 2006 conference of the Center for Advanced Studies on Collaborative research, October 16-19, 2006, Toronto, Ontario, Canada
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
REVIEW
"R. Clayton : Reviewer"
Java is ideal for implementing embedded systems as long as you
modify both its bytecode programs—to use less space—and its
virtual machine. This paper takes up these issues, presenting a bytecode
compression scheme and describing J
more...
|