Real time Java is a catch-all term for a combination of technologies that enables programmers to write
programs that meet the demands of
real-time systems in the
Java programming language
Java is a high-level, class-based, object-oriented programming language that is designed to have as few implementation dependencies as possible. It is a general-purpose programming language intended to let programmers ''write once, run an ...
.
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. Its capabilities have been enhanced to support real time computational needs:
* Real time Java supports a strict
priority-based threading model,
* because Java threads support priorities, Java
locking mechanisms support
priority inversion avoidance techniques, such as
priority inheritance or the
priority ceiling protocol, and
* event handling.
The initia
proposalfor an open standard for real-time Java was put forth by Kelvin Nilsen, then serving as a research faculty member at Iowa State University. A follow-on overview paper was published in th
CACM The overwhelmingly positive response to these early proposals resulted in a series of meetings hosted by the National Institute of Standards and Technology in an effort to establish an open standard for real-time Java. NIST was ultimately told that they were not the appropriate body to establish standards related to the Java language, as Java was trademarked, and the technologies were owned by Sun Microsystems. Therefore, NIST ended their efforts with publication of consensu
requirementsthat could be considered by future standardization efforts to be hosted by Sun Microsystems.
When the
Java Community was formed, the very first effort was the specification for real-time Java, JSR001. A number of implementations of the resulting ''Real-time specification for Java'' (''RTSJ'') have emerged, including a
reference implementation from