SAN FRANCISCO — After nine years in the planning stages, Real-time Specification for Java (RTSJ) is a few months away from
general enterprise applications, according to the the minds behind the work.
Tools CTO and Java founder James
Gosling said the spec, which is the first Java Specification Request
(JSR-01), is currently in Early Access with a beta program due out later
this year. Testing for product-level quality is expected in the first part
“This is not a small scale. This is real-time in the large sense of the
word,” Gosling said during his keynote to developers at the annual JavaOne
show here. “This is for building big control systems like power systems and
Gosling said Defense Advanced Research Projects Agency (DARPA) through its Ovm research division currently has project on the table that should be complete in about two months that uses a research implementation of the RTSJ with version 1.4 of the Java Virtual Machine (JVM) specification.
During his keynote, Gosling and current RTSJ steward Greg Bollella
demonstrated an inverted pendulum (which is like balancing a ruler in your palm) using a cart on a fixed track. Though a program that calculates the position of the cart every 5 milliseconds, the cart was able to lift the stick and balance the rod up. The experiment is a duplicate of the one that Sun sponsored in Shanghai.
What this means for enterprise is that the program could do real-time and
non-real-time threads simultaneously, even after one of the redundant systems
is completely disconnected from the other.
“Real-time should be real boring,” Gosling said. “The last thing you want
is a 100-ton turbine getting excited.”
In addition to DARPA, Sun said the objectives of the group include
rethinking the Java Virtual Machine (JVM) implementation and re-invent it
for the Federal Aviation Administration’s DO-178B certification, which it
uses in safety-critical systems on commercial aircraft.
The group is also working on the Mackinac Project, a RTSJ implementation
based on a hotspot JVM.
Currently a part of the Mars Rover at NASA and RTSJ wanted one processor
to run the whole unit with both real-time and non-real-time code, and both
soft and hard real-time code on the same system.
The development includes inventing what the working group calls, “a
formalism for verifiable correctness — functional and temporal — to prove
the existence of identical semantics at the program interface to the JVM
across multiple host and target platforms.”