The portability promise of the Java programming language&#151expressed in the now-famous “Write Once, Run Anywhere” slogan&#151accounts for much of Java’s popularity among developers of web-based and enterprise applications. It has also sparked a growing interest in Java among developers of real-time and embedded systems. The portability benefits for the embedded market are clear: developers can reuse application code across product lines and deploy it on new hardware or software platforms, without having to recertify the entire system&#151provided, of course, the Java runtime environment itself has been certified.

In this paper, we introduce the guiding principles that the expert group employed to create the specification, discuss the resulting extensions to the Java specifications, and illustrate some of the programming interfaces and patterns for real-time programming in Java.