- Real time Java
Real time Java is a catch-all term for a combination of technologies that allows programmers to write programs that meet the demands of
Real time systems in the Java programming language.Java's sophisticated
memory management , native support for threading and concurrency,type safety , and relative simplicity have created a demand for its use in many domains. Unfortunately, several properties prevent it from being directly suitable for use inReal time systems:* Java does not support a strict priority based threading model. Early suggestions that it support such a model were abandoned because they could not be implemented without native bindings on the target Windows and Solaris platforms.
* Because Java threads do not support priorities, Java locking mechanisms do not support
priority inversion avoidance techniques, such aspriority inheritance or thepriority ceiling protocol .* More critically, the garbage collection behavior may introduce unbounded delays in
computation , immediately destroying any chance of making real-time guarantees for programs written in Java.To overcome these difficulties, the Java Community introduced a specification for real-time Java, JSR001. As of 2006, a number of implementations of the resulting "Real-Time Specification for Java" (RTSJ) have emerged, including a reference implementation from
Timesys , andSun Microsystems 's Java SE Real-Time System.The RTSJ addresses the critical issues by mandating a minimum specification for the threading model (and allowing other models to be plugged into the VM) and by providing for areas of
memory that are not subject to garbage collection, along with threads that are not preemptable by the garbage collector.Real-Time Specification for Java
The "Real-Time Specification for Java" (RTSJ) is a set of interfaces and behavioral specifications that allow for real-time
programming in the Java programming language. RTSJ 1.0 was developed as JSR 1 under theJava Community Process , which approved the new standard in November, 2001.As of 2006 , RTSJ 1.1 is being developed under JSR 282.ee also
*
Functional specification
*Javolution - RTSJ Compliant Java Library (open-source )External links
* [http://www.rtsj.org/ Real-Time Specification for Java (RTSJ)]
* [http://jcp.org/en/jsr/detail?id=1 JSR-1]
* [http://www.aonix.com/ PERC] a real-time VM based on Java Standard Edition rather than RTSJ
* [http://java.sun.com/javase/technologies/realtime.jsp Sun Java SE Real-Time System]
* [http://www.timesys.com/java/ Timesys RTSJ implementation and testing toolkit]
* [http://jrate.sourceforge.net/ jRate (Java Real-Time Extension)] an open-source extension of the GNU GCJ compiler front-end and runtime system which adds support for most of the features required by the RTSJ.
* [http://www.aicas.com/ JamaicaVM] a Real-Time JVM
* [http://www.ddci.com/products_scorpion.php DDC-I Scorpion Java] real-time Java SE, with safety-critical and secure versions.
* [http://www-users.cs.york.ac.uk/~andy/JTRES06/ International Workshop on Java Technologies for Real-time and Embedded Systems (JTRES 2006)] [http://www.vmars.tuwien.ac.at/jtres2007/ JTRES 2007] [http://jtres.java.sun.com/2008/ JTRES 2008]
Wikimedia Foundation. 2010.