Java Environment for Parallel Realtime Development (JEOPARD)
Java Environment for Parallel Realtime Development
(JEOPARD)
Start date: Jan 1, 2008,
End date: Sep 30, 2010
PROJECT
FINISHED
The JEOPARD project will develop a platform independent software development interface for complex multicore systems, including SMP. The interface will be based on existing technologies including Java, the Real-Time Specification for Java (JSR 1 and JSR 282) and Safety-Critical Java (JSR 302), which provide a good foundation for the development of complex, safe, realtime systems, but do not yet provide particular support for multicore systems. Even worse, some technologies can not support more than one processor, making it impossible to develop applications that scale with the number of processors available on current and future advanced multicore systems.The JEOPARD consortium covers all layers of a multicore embedded system. At the processor level, virtualised SMP architectures and advanced NUMA architectures are addressed. At the OS level, required OS scheduling facilities and low-level OS APIs will be provided for the virtual machine, or low-level native application code. JEOPARD will also analyse the impact of NUMA on OS facilities and how FPGA-based components can integrate with OS-supported components. At the Java virtual machine level, a realtime Java implementation that supports predictable execution of all Java operations will be extended to maintain predictable execution on multiple parallel processors, including real-time memory management, and support for efficient synchronisation mechanisms and compiler support for parallel systems. At the API layer, a powerful interface will be provided that provides control over and efficient use of available processor resources. Tools for static analysis of parallel applications will also be developed for detection of runtime errors. The project includes close involvement and validation by industry user partners and strong cooperation with standardisation authorities aiming at a POSIX-like standard for multicore systems both at the OS level and Java level.
Get Access to the 1st Network for European Cooperation
Log In