A good introductory paper to the Safety-Critical Java implementation is Java for Safety-Critical Applications.
Look also at TCK for SCJ paper.
As the first result, an oSCJ Home Page was launched:
More news to come soon, the first release is coming January 2010. Stay tuned.
- Seamlessly integrate pure Java code into real-time, safety-critical, and mission-critical systems.
- Deploy on a broad range of hardware and operating systems, ranging from ARM and ERC32 to PowerPC and x86/x86_64, from RTEMS to Linux or Darwin.
- Boot Java from bare hardware - for small footprint (100KB) applications, Fiji VM provides the unique ability to boot Java from bare hardware.
- Execute Java with deterministic garbage collection, as well as full support for safe GC-less allocation.
- Achieve high performance execution. From the peformance perspective, Fiji VM seems very promising, having only 40% slow down comparing to C.
To give you a better picture, here is how FijiVM fits into the whole stuck:
Fiji VM 1.0 release is coming in December 2009. More at Fiji Systems LLC home page.
My PhD thesis focused on RTSJ is titled:
SOLEIL : An Integrated Approach for Designing and Developing Component-based Real-time Java Systems
The defense of this thesis will take plate at INRIA Lille, France on September 14, 1:30 pm. Visitors are welcomed.
The thesis can be downloaded from: SOLEIL thesis download.
Look at my Real-time Java programming in 10 minutes presentation:
When searching for more information about real-time programming in general, try the
Douglas E. Jensen Tutorial.
“This is the place to be.”
JTRES is a workshop of Java Technologies for Real-Time and Embedded Systems. Annually, RTSJ professionals, researchers and fans are meeting to discuss, exchange…
We will be there too, presenting our CDx paper - an open-source RTSJ benchmark.
This year in Madrid, Spain. See more at JTRES Home Page.
benchmark. The key features of the CDx benchmark are:
- the first open-source RTSJ benchmark,
- highly configurable for different VMs,
- provides various workflows,
- a large case study suitable for learning and experimenting with RTSJ.
- TimeSys RTSJ Reference Implementation Only licensed for non-commercial use. Runs on X86/Linux. Available at www.timesys.com.
- Java RTS Sun - Java SE Real-time (Java RTS). Runs on Sparc/Solaris (Beta for SUSE Linux Enterprise Realtime 10, and Red Hat Enterprise MRG 1.0.). Available at http://java.sun.com/javase/technologies/realtime/rts/.
- IBM WebSphere Real Time. IBM WebSphere Real Time V2 for Real Time Linux, running on main-line real-time Linux distributions (Red Hat MRG and Novell SLERT). However, there are limitations on the hardware supported. The main reason for the hardware limitation is that the supported models have modified firmware to allow better control over SMI event prioritization, in order to achieve determinism of the underlying hardware. Availale at www.ibm.com/software/webservers/realtime/.
- OVM is an academia research project at Purdue University that implements RT VM. Available at http://www.ovmj.org
- JamaicaVM implements RTSJ and a deterministic garbage collector. Runs on various platforms. Available at http://www.aicas.com/jamaica.html.
- jRate (Java Real-Time Extension) is an extension of the GNU GCJ compiler front-end and runtime system which adds support for most of the features required by the RTSJ. Available at http://jrate.sourceforge.net/.
- Aonix PERC is a commercial project targeting many hard real-time, safety critical and embedded systems. The PERC platform is introducing many trade-offs and therefore is not fully compliant with RTSJ, however, allows developers to target a broader scope of applications rather than having strict limitations as it is the case of RTSJ. Available at www.aonix.com/perc.
- aJ100 is a hardware coded JVM. Available at www.ajile.com.
- JRockit Real-Time JRockit Enterprise Java Runtime provided by ORACLE is a Java VM featuring real-time garbage collection suitable for soft real-time systems. Available at www.oracle.com/jrockit.
- IBM/Apogee Aphelion is comprised of reliable and high performance JREs for deploying Java applications on devices based on embedded systems. Supports many OS platforms, further details at http://www.apogee.com/
- [UPDATE: 07/2011] LJRT - Lund Java based Real-Time, http://www.robot.lth.se/java
- [UPDATE: 07/2011] FijiVM - FijiVM, http://www.fiji-systems.com/, more also at this post.
The goal of this blog is to inform about the new technologies and trends in the domain of Real-time Java programming. Currently, there is no consistent source of information about RT Java, this blog will try to close this gap.
During the past few years, I have gathered some links, documents, experience and knowledge about Real-time Java. I would like to share them in this blog.
Anyone who would like to contribute and become a co-author is welcomed!