14.07.2013 Views

Contents - Cultural View

Contents - Cultural View

Contents - Cultural View

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Real time Java 268<br />

Real time Java<br />

Real time Java is a catch-all term for a combination of technologies that allows programmers to write programs that<br />

meet the demands of Real time systems in the Java programming language.<br />

Java's sophisticated memory management, native support for threading and concurrency, type safety, and relative<br />

simplicity have created a demand for its use in many domains. Its capabilities have been enhanced to support real<br />

time computational needs:<br />

• Java supports a strict priority based threading model.<br />

• Because Java threads support priorities, Java locking mechanisms support priority inversion avoidance<br />

techniques, such as priority inheritance or the priority ceiling protocol.<br />

To overcome typical real time difficulties, the Java Community introduced a specification for real-time Java,<br />

JSR001. A number of implementations of the resulting Real-Time Specification for Java (RTSJ) have emerged,<br />

including a reference implementation from Timesys, IBM's WebSphere Real Time, Sun Microsystems's Java SE<br />

Real-Time Systems [1] , Aonix PERC or JamaicaVM from aicas.<br />

The RTSJ addressed the critical issues by mandating a minimum specification for the threading model (and allowing<br />

other models to be plugged into the VM) and by providing for areas of memory that are not subject to garbage<br />

collection, along with threads that are not preemptable by the garbage collector. These areas are instead managed<br />

using region-based memory management.<br />

Real-Time Specification for Java<br />

The Real-Time Specification for Java (RTSJ) is a set of interfaces and behavioral specifications that allow for<br />

real-time programming in the Java programming language. RTSJ 1.0 was developed as JSR 1 under the Java<br />

Community Process, which approved the new standard in November, 2001. As of 2006, RTSJ 1.1 is being developed<br />

under JSR 282.<br />

See also<br />

• Functional specification<br />

• Javolution - RTSJ Compliant Java Library (open-source)<br />

External links<br />

• Real-Time Specification for Java (RTSJ) [2]<br />

• JSR-1 [3]<br />

• IBM WebSphere Real Time [4] a fully conformant RTSJ SE VM<br />

• JamaicaVM [5] an RTSJ SE implementation with deterministic garbage collection<br />

• PERC [6] a real-time VM based on Java Standard Edition rather than RTSJ<br />

• Sun Java SE Real-Time System [7]<br />

• Apogee real-time Java with real-time GC [8]<br />

• Timesys RTSJ implementation and testing toolkit [9]<br />

• jRate (Java Real-Time Extension) [10] an open-source extension of the GNU GCJ compiler front-end and runtime<br />

system which adds support for most of the features required by the RTSJ.<br />

• DDC-I Scorpion Java [11] real-time Java SE, with safety-critical and secure versions.<br />

• International Workshop on Java Technologies for Real-time and Embedded Systems (JTRES 2006) [12] JTRES<br />

2007 [13] JTRES 2008 [14]

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!