JamaicaVM Selection Criteria: Does your project need JamaicaVM?
At aicas, we receive 100's of inquiries a year from developers trying to understand the criteria of when to use JamaicaVM for a current or future project. We setup the JamaicaVM Personal Edition free trial download to help developers answer these questions for themselves. However, we've found that there is a group of criteria common to most developers making this decision. Below is a list of questions, not in a particular order of importance, which captures the common criteria aicas has seen, that can be used as a self-test to help rate the JamaicaVM selection decision. Rate how important each of the following criteria is to your project, from 1 to 5. 1 being least important and 5 being most important: 1-5 Guaranteed worst case execution time analysis Less than 550 nanosecond jitter execution throughput Complete elimination of stop-the-world garbage collection Complete elimination of heap fragmentation Less than 500 nanosecond thread scheduling latency Multicore CPU architecture support Full Realtime Specification for Java (RTSJ) support Standardized, protected access to physical memory through RTSJ APIs Execution throughput independent of maximum RAM size Scalability from small 32 bit singlecore to 64 bit 128 GB RAM multicore systems Multiple RTOS's to chose from, and path to new RTOS's and versions on demand Multiple CPU architectures to chose from, and path to new architectures on demand Execution throughput equivalent to fully JIT'ed Java code and C++ compiled code Linux and Windows host development support Linux PREEMPT_RT realtime patch support
aicas GmbH aicas inc Haid-und-Neu-Str. 18, 76131 Karlsruhe, Deutschland 6 Landmark Square, Ste 400 Stamford, CT 06901, USA www.aicas.com
Eclipse plug-in support, including commercial versions (e.g. Workbench, Momentics, Luminosity, etc.) Open JDK support FLASH ROM embeddable applications Minimized executable image using smart linking and execution profiling technology Thread resource utilization visualization tools Parallel, concurrent, multi-threaded, deterministic, non-fragmenting, work-based garbage collector technology Full support for the Java Native Interface (JNI) to call C/C++ code, verified integration with SWIG Java wrapper class autogenerator tool A strong partner ecosystem including: • interprocess and intersystem, low-latency • standards-based messaging systems • M2M, cloud DISA certified messaging; in-memory, in-process databases • embedded webserver and servlet support RTCA DO-178C/DO-332 safety-critical compliant runtime and garbage collector technology Suggested scoring: 0 – 39
____ ____ ____
____ ____ ____ ____
____ ____
JamaicaVM will work for your project, but you do not have a strong selection criteria to recommend it over non-realtime Java toolchains. The open source, Open JDK may be sufficient for your work. 40 – 79 JamaicaVM will work for your project and you have moderate supporting criteria to recommend it. You may be able to use an alternative realtime Java toolchain, with careful management of garbage collector, throughput performance, API, and other related issue. 80 – 120 JamaicaVM will work for your project and your selection criteria indicates it is strongly recommended. You will likely find that all other non-realtime and realtime Java toolchains have limitations that may endanger your developers meeting your project's requirements.
aicas GmbH aicas inc
Haid-und-Neu-Str. 18, 76131 Karlsruhe, Deutschland 6 Landmark Square, Ste 400 Stamford, CT 06901, USA www.aicas.com