Tailor-made JVMs for statically configured embedded systems


  • This work is based on an earlier work: KESO: an open-source multi-JVM for deeply embedded systems, in JTRES'10 Proceedings of the Eighth International Workshop on Java Technologies for Real-time and Embedded Systems, \TCop ACM, 2010, http://doi.acm.org/10.1145/1850771.1850788.


Java still is a rather exotic language in the field of real-time and particularly embedded systems, eventhough it could provide productivity and especially safety and dependability benefits over the dominating language C. The reasons for the lack of acceptance of Java in the embedded world are the high resource consumption caused by the Java runtime environment and the lacking language features for low-level programming. KESO is a Java Virtual Machine (JVM) that was specifically designed for statically configured resource-constrained embedded systems. Rather than providing a fixed subset of the Java standard functionality, KESO uses the available ahead-of-time knowledge to generate a Java runtime that is specifically tailored towards the particular application. A key feature of KESO is its Multi-JVM architecture, which allows the isolated cohabitation of different applications on one hardware platform. Our evaluation uses two non-trivial real-time applications, a control application for a quadrotor helicopter and a collision detector, to compare the cost of an application using KESO to its C counterpart. Our results show that the resource consumption of applications developed on the base of KESO is comparable to C applications, and its mechanisms for communicating among isolated components are efficient and encourage the actual utilization of spatial isolation. Copyright © 2011 John Wiley & Sons, Ltd.