Java to C Translation for Embedded Systems

Maryland DSPCAD Research Group

This webpage describes the Java to C Project at the University of Maryland, College Park.

1. Overview

The Java programming language is achieving greater acceptance in high-end embedded systems such as cellular phones and personal digital assistants. However, low-end embedded platforms, such as programmable digital signal processors or microcontrollers, often have no more than a C compiler, and this prevents Java applications from being run on such systems. Applications must either be re-written in C, or a Java Virtual Machine must be ported to each such system. This project is aimed at developing a compiler that converts portable Java bytecode to C code, allowing applications written in Java to run on embedded systems that may lack a Java Virtual Machine. This is also applicable to bare-bones embedded systems running without an operating system. We develop code generation strategies, run-time data structures and aggressive optimization algorithms used to generate efficient C code. Current results indicate that the size of the generated stand-alone executable is over 25 times smaller than that generated by a cutting-edge Java-to-native-code compiler, while providing performance comparable to the best of various Java implementation strategies. The source code for our Java to C compiler, which is written in Java, was first released as part of the Ptolemy II Version 4.0.1 distribution, which is available for download at The Ptolemy Project Website.

2. Project Participants

3. Other Contributors and Collaborators

4. Publications

A list of publications related to the this project, and PDF versions of selected publications can be found on the Java to C Project Publications Page.

5. Sponsorship

This work was sponsored in part by the Model-Based Integration of Embedded Systems (MoBIES) Program of the Defense Advanced Research Projects Agency (DARPA) through the University of California at Berkeley.

6. Document Version

This webpage was last updated on August 16, 2011.