virtualizing real-time embedded systems with java
Real-time embedded systems come in all shapes and sizes with vastly different capabilities. They often operate under stringent resource constraints, ranging from space and time to power. Programming them is usually done in low-level system's programming languages close to the hardware. The resulting software is costly and not particularly portable. The Java programming language has been successful in providing a virtualized, high-level, development environment for desktop and server applications. Programming in Java leads to memory-safe code that can be ported straightforwardly across architecture and operating system. This paper surveys the state of the art in Java virtualization for real-time and embedded systems. Technological advances in virtual machines as well as new real-time extensions to the language have brought Java closer to being widely usable for a wide range of embedded problems.
virtual machines real-time java object-oriented languages