Find JSRs
Submit this Search


Ad Banner
 
 
 
 

JSRs: Java Specification Requests
JSR 1: Real-time Specification for Java

Updates to the Original JSR

The following information has been updated from the original JSR.

2012.11.13: Aicas GmbH has become the Specification Lead.

Specification Lead: Dr. James Hunt, Aicas GmbH

E-Mail Address: jjh@aicas.de

Telephone Number: -

Fax Number: -

2004.02.09: The Specification Lead has changed to Peter Dibble.

Specification Lead: Peter Dibble, TimeSys Corporation

E-Mail Address: peter.dibble@timesys.com

Telephone Number: -

Fax Number: -

2003.03.05: TimeSys Corporation has become the Specification Lead.

Specification Lead: Doug Locke, TimeSys Corporation

E-Mail Address: doug@timesys.com

Telephone Number: -

Fax Number: -

The change of Specification Lead has resulted in the following change to the original JSR.

Section 1: Identification

This JSR is being submitted jointly by the International Business Machines Corporation (IBM) and Sun Microsystems Inc. (Sun).

Contact information:

Peter Haggar (IBM)

Email address: haggar@us.ibm.com

Telephone number: +1 919 254 1625


Original Java Specification Request (JSR)

Identification | Request | Contributions

Section 1: Identification

This JSR is being submitted jointly by the International Business Machines Corporation (IBM) and Sun Microsystems Inc. (Sun).

Contact information:

Greg Bollella (IBM)

bollella@us.ibm.com

+1 919 254 4602

(NOTE that this information has been updated since the original.)

Kevin Russell (Sun)

kevin.russell@eng.sun.com

+1 408/863-3168

Section 2: Request

This request is for the Real-time Extension Specification. This extension targets the EmbeddedJavaTM, PersonalJavaTM, JavaOS for Business, JavaOS for Consumer, and Enterprise Java (when implemented on an RTOS) platforms. The specification will require updates and/or additions to both the Java Virtual Machine* Specification and the Java Language Specification at least at the semantic level. These changes are anticipated to be backwards compatible with the installed base.

The specification will extend the JavaTM Platform with an industry-standard set of extensions that enables the construction of systems that exhibit real-time behavior. It will bring advantages of the Java Platform -- binary portability, dynamic code loading, tool support, safety, security, and simplicity -- to an important industry segment: real-time systems. This extension targets both "hard real-time" and "soft real-time" systems.

This extension is necessary because the guarantees and APIs provided by the standard Java platform do not meet the needs of real-time systems. For example, real-time systems require strong deterministic guarantees and/or control in the areas of thread scheduling, synchronization overhead, lock queuing order, class initialization, maximum interrupt response latency, and GC characteristics. These needs are not met by the standard Java platform, and there is no other extension that addresses them.

We propose to develop a real-time Java standard extension specification and reference implementation. The specification will address many issues, including GC semantics, synchronization, thread scheduling, JVM-RTOS interface, and high-resolution time management.

The underlying technology needed to implement this spec is essentially a Java VM that is built to honor deterministic guarantees of its run-time behavior. A central component of this VM is a real-time garbage collector. In addition to GC, the VM would need to honor the other guarantees and APIs laid out in the spec. This VM would only be implementable atop suitable target platforms, such as a real-time operating system (RTOS).

This extension is expected to have only minor security implications, in that some of the new operations would be subject to a security check. There are no significant internationalization or localization implications.

This extension is central to the success of the EmbeddedJava platform. From an implementation standpoint, it imposes fundamental, substantial requirements; this is justified by the need to support real-time in embedded systems.

The impact on the PersonalJava platform is less. The implementation impact will be small, because EmbeddedJava work can be leveraged. It is believed that supporting real-time systems will create new opportunities for PersonalJava.

Section 3: Contributions

The real-time team within the EmbeddedJava group is developing a starting point for the Real-time Extension Specification. It is available at http://wombat.eng/~billf/real-time/ within Sun, or at http://www.sdct.itl.nist.gov/~carnahan/real-time/sun/index.html externally. It is hoped that this document will provide a good place for the expert group's discussions to begin.

The National Institute of Standards and Technology (NIST) has organized a real-time Java requirements group. This is an open group that is defining requirements for real-time Java. Their requirements document will be a valuable input to the experts group, and the expert group will be expected to at least respond to each requirement in their document. More information about the NIST requirements group can be found at http://www.nist.gov/rt-java.