“With the real-time extensions, Java can now be used for safety critical systems. It is therefore primordial to be able to guarantee that virtual machine implementations not only conform to the Real-Time Specification for Java (RTSJ) but also that efficiency and predictability is up to a certain standard. With these objectives in mind, we developed and maintained a test suite (.pdf) which addresses conformance as well as performance.”
I am not sure if Java can be used for Real-Time systems, can anyone point to some materials to support this…
Check out Esmertec:
http://www.esmertec.com/
They are the leading embedded / realtime JVM company, and their $200 million yearly revenue support that it actually works
Best regards,
Emmanuel
—
Smash hit puzzle game for pc and mac: Atlantis
http://www.funpause.com/
Yes, it can be used for real-time systems (according to Java vendors). Now, the big question is: why would we use Java, anyway?
Type safety, garbage collection, exception handling…
> Type safety, garbage collection, exception handling…
Very cool feature in a safety-critical system 🙂
Gabarge collection in real time?
Is that possible?
> Gabarge collection in real time?
> Is that possible?
Yes, it is called a Real-Time Garbage Collector
Ref: http://ptolemy.eecs.berkeley.edu/conferences/05/presentations/dbaco…
JVMs with RT-GC are not publicly available yet (they should be early next year).
So that you can sandbox downloaded applications like games and whatnot on your cellphone and they don’t go and change the pin code or other stuff. You can partially guarantee that with a MMU, but that would still let native code call system functions and abuse them eventually (look at ActiveX controls). Java is an OK language but the manufacturers don’t care about that; all they care about is the sandboxing (and the fact they can use a cheaper cpu with a different instruction set in their next products, and still maintain full compatibility).
—
Smash hit puzzle game for pc and mac: Atlantis
http://www.funpause.com/
I may be wrong, but so far safety-critical systems have been found in planes, trains, power plants but not in cellphone gadget applets…
Good question also first to be asked when this paper was presented to the AIAA (http://aiaa.org“) Space 2005 Conference last week.
The answer is simple: Money (as always).
– Java cost less to develop and maintain (about half the cost of programs in C++ according to most independant surveys).
– No need for special training (most college graduates have learned Java at school).
Also, with RTSJ Java has very cool features such as feasibility analysis. It allows for integration of multiple real-time tasks with their own timing constraints and to know right-away at start-up if they can run happily together.
Jean-Marie Dautelle.
“No need for special training (most college graduates have learned Java at school). ”
I wouldn’t want graduates to design any critical (safety) system I use!
> I wouldn’t want graduates to design any critical (safety) system I use!
As long as they are mentored by more experimented people. There is no reason why not!
My first work when I started (a long time ago ) was to code the Airbus A330/A340 primary flight control computer. I think it would be a mistake to under-estimate the youth.
Jean-Marie Dautelle.
Of course!
Check http://www.rtsj.org/ and an implementation at
http://www.timesys.com/products/java/
Sun announced its Real-Time JVM called Java Real-Time System during JavaOne’05:
http://java.sun.com/j2se/realtime/