I've been a zone leader with DZone since 2008, and I'm crazy about community. Every day I get to work with the best that JavaScript, HTML5, Android and iOS has to offer, creating apps that truly make at difference, as principal front-end architect at Avego. James is a DZone Zone Leader and has posted 639 posts at DZone. You can read more from them at their website. View Full User Profile

Java in Space: Real-Time Java to Power Eye-In-the-Sky

  • submit to reddit

The Java Real-Time specification has been chosen to be launched into space to provide a reliable platform for the  Eglin Space Surveillance Radar as part of it's upgrade from legacy components.

Java Real-Time, a high-level development platform for creating applications that require unprecedented execution predictability, will be running on Solaris 10 enabling the radar to move from legacy, one of a kind software to a more standard platform.

"Our comprehensive tests have proven that Sun Java RTS running on Solaris 10 OS meets the real time behavior and throughput requirements for Eglin Space Surveillance Radar," said Matt Prechtel, ITT's Software Lead for the project. "We are looking forward to moving to a software platform based on the Real-Time Specification for Java and are actively evaluating Java RTS for other projects. Compliance with this open standard enables us to use off-the-shelf hardware and operating systems plus offering us a lot more flexibility in terms of solution design."

I find it very interesting that Java has been chosen for this project. Don't forget that section 3 of the licence agreement outlines that the software is not designed or intended for use in the design, construction, operation or maintenance of any nuclear facility. Sure, this isn't a nuclear space surveillance system, but is it at the boundries of the licence agreement?
The selection of the Java RTS for this job is big news - as a specification it never really seemed to get off it's feet. I wonder why Scala wasn't chosen, as it boosts an impressive, easy to use concurrency API.

If you were developing a time critical application, what would you choose? Is that Java RTS enough for a full modernization of such a sytem, or should they go a step further?



Artur Biesiadowski replied on Thu, 2008/04/17 - 12:11pm

> I wonder why Scala wasn't chosen[...]

Maybe they don't want to be first company in the world to use it in production environment? Or they actually like being able to find somebody in marketplace who knows the language?

I have just done search for Scala on monster.com. I got 5 answers, 4 about some 3d modelling program and 1 about business modelling software - none of them being Scala language we mean here. As much as I love the idea behind the language, there is no way any sane project manager will opt for it currently. After you lose your Scala guru (assuming you will ever find one), you will not find anybody else to take it over. And retraining "normal" java people to non-trivial Scala is just not cost effective - probably Haskell/etc people could be utilized easier, but they in turn won't have experience with common java libraries...

It is a bit chicken and egg problem. You don't have Scala programmers on the market because there are no jobs and there are no jobs because you cannot find programmers. At the same time, it is too complicated (meaning different from java) to be used as a toy language.

You can compare it with Dvorak keyboard. I could allow the programmer to use it (and accept the fact nobody will be able to use his workstation efficiently in emergency). But if it would be kind of 'sticky Dvorak keyboard' which would mean that all future progammers coding given application would have to code with Dvorak keyboard... no way. Even if Dvorak is presumably better.

steve Jav replied on Sat, 2008/04/19 - 2:40pm

"software is not designed or intended for use in the design, construction, operation or maintenance of any nuclear facility"


I think that only applies to the non-rt jvm. 

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.