Interview: John Pampuch on Java RTS
Join the DZone community and get the full member experience.
Join For Free
In a
nutshell, what is Java RTS?
Java RTS is Sun's Java SE platform that
implements JSR-1. The implementation makes Java a more deterministic
platform enabling it to meet rigorous timing requirements of mission
critical applications.
Who
needs it or who will be using it?
Simply put, application developers who need predictable response time from
their applications. Historically, conventional Java trades off ease of
use for, among other things, predictable response time. Java RTS, on
the other hand, has focused on delivering highly predictable response
time, and dependable thread priority.
For control systems (for example automotive, avionics, robotics,
etc.), the value of Java RTS is straightforward. It is a better tool
for developing applications. It provides better tools for development,
debugging, and offers a higher-level of abstraction for the application
than is practical with C or assembler. As applications get more
complex, better tools become more and more critical.
Further, for some kinds of enterprise applications, like stock trading
systems, temporal correctness can make the difference between making
millions and losing millions. While it is possible to create such
applications in C, or worse, in assembler, don't forget that there can
be unexpected unpredictability found there too.
What's
the history of the project?
Java RTS is Sun's commercial implementation of JSR-1. That is the real
starting point for Java RTS. JSR-1, the "Real-Time Specification for
Java", jointly submitted by IBM and Sun, was a collaboration of experts
from many disciplines with a focus on real-time application
programming. Greg Bollella was IBM's lead on this JSR. Later, he came
to Sun to drive the Sun's product development.
Who's
working on it?
In addition to Greg, Sun has a team of engineers lead by David Therkelsen in Grenoble France: Bertrand Delsart, Romain Guider, Olivier Lagneau, Frederic Parain, and Roland Westrelin. David Holmes, in Australia, is another contributor on this team.
Where
are things right now?
Java RTS 2.1 has been released.
What are
the newest key features?
This release has added many new debugging, monitoring and
serviceability features, but the big news is Linux support. Earlier
releases only supported Solaris, both SPARC and x86, but this release
also includes support
for SUSE Linux Enterprise Real-Time (SLERT). We expect to support a
future release of Red Hat MRG as well.
What are
your personal favorite features?
Without a doubt, my personal favorite is real-time garbage collection.
With RTGC, Java developers can get high-quality real-time services for
their applications using most of the constructs and services that they
are already familiar with. On the other hand, DTrace is cool, and is a
big help in finding a whole range of bugs.
What
kind of tool support is there?
Aside from DTrace, many of the tools that work with the regular Java
platform work too, like Visual VM, NetBeans IDE, most profilers and
debuggers, etc. Also, there are included tools like the JRTS Thread
Scheduling Visualizer, and a tool to help in configuring ITC.
How
does one get started with all of this?
Start with:
http://java.sun.com/javase/technologies/realtime/index.jsp
From here, you can get evaluation downloads, blogs, support, news and
many other features and documents.
Opinions expressed by DZone contributors are their own.
Comments