Java-through-C Compilation: An Enabling Technology for Java in Embedded Systems

Abstract

The Java programming language is achieving greater acceptance in high-end embedded systems such as cell phones and PDAs. However, current embedded implementations of Java impose tight constraints on functionality, while requiring significant storage space. In addition, they require that a JVM be ported to each such platform. We demonstrate the first Java-to-C compilation strategy that is suitable for a wide range of embedded systems, thereby enabling broad use of Java on embedded platforms. This strategy removes many of the constraints on functionality and reduces code size without sacrificing performance. The compilation framework described is easily retargetable, and is also applicable to barebones embedded systems with no operating system or JVM. On an average, we found the size of the generated executables to be over 25 times smaller than those generated by a cutting edge Java-to-native-code compiler, while providing performance comparable to the best of various Java implementation strategies. need not be modified to run them on embedded platforms. Standard Java classes and utilities can be supported to a high degree. 2. Related Work Various alternative Java implementations have been explored recently. TurboJ [4] speeds up execution by compiling bytecode to native code ahead of time, but using a JVM for some functions. Harissa [5] generates C code from Java, but uses a JVM for some functionality. The JVM allows Java to be fully supported, at the cost of increased code size. Jove [22] is a native compiler targeted at large server/workstation programs. It creates executables that are aggressively optimized for speed, not for code size, and thus generates relatively large executables [23]. gcj [8] provides a sophisticated and standardized method for compiling Java source code or bytecode into native executable form. It provides a complete runtime environment for Java, and is

Open PDF

Document Details

Document Type
Technical Report
Publication Date
Feb 01, 2004
Accession Number
ADA455085

Entities

People

  • Ankush Varma
  • Shuvra S. Bhattacharyya

Organizations

  • University of Maryland

Tags

Communities of Interest

  • Materials and Manufacturing Processes

DTIC Thesaurus Topics

  • Compilers
  • Computer Program Documentation
  • Computer Programming
  • Computer Programs
  • Embedded Systems
  • Java Programming Language
  • Language
  • Machine Languages
  • Object Code
  • Operating Systems
  • Programming Languages
  • Standards
  • Virtual Machines

Fields of Study

  • Computer science

Readers

  • Database Systems and Applications
  • Parallel and Distributed Computing.

Technology Areas

  • Space