Darjeeling, a Java compatible virtual machine for microcontrollers

  • Authors:
  • Niels Brouwers;Peter Corke;Koen Langendoen

  • Affiliations:
  • Delft University of Technology, The Netherlands;CSIRO ICT Centre, Australia;Delft University of Technology, The Netherlands

  • Venue:
  • Proceedings of the ACM/IFIP/USENIX Middleware '08 Conference Companion
  • Year:
  • 2008

Quantified Score

Hi-index 0.01

Visualization

Abstract

The Java programming language enjoys widespread popularity on platforms ranging from servers to mobile phones. While efforts have been made to run Java on microcontroller platforms, there is currently no feature-rich, open source virtual machine available. In this paper we present Darjeeling, a system comprising offline tools and a memory efficient runtime. The offline post-compiler tool analyzes, links and consolidates Java class files into loadable modules. The runtime implements a modified Java VM that supports multithreading and is designed specifically to operate in constrained execution environments such as wireless sensor network nodes. Darjeeling improves upon existing work by supporting inheritance, threads, garbage collection, and loadable modules while keeping memory usage to a minimum. We have demonstrated Java running on AVR128 and MSP430 micro-controllers at speeds of up to 70,000 JVM instructions per second.