Runtime for Java Applications on Embedded Systems
JamaicaVM
aicas’ runtime and development environment for building and running memory-safe, realtime applications across embedded and mission-critical systems.
The Challenge
Bring Modern Software Development to Constrained, Time-critical Edge Systems
Embedded systems often combine strict timing requirements, limited resources, long product lifecycles, and heterogeneous hardware and operating systems.
Teams need a software environment that supports reliable execution without giving up portability or access to established development ecosystems.
1
Standard Java runtimes do not cover every embedded target
Embedded products may run on Linux, QNX, VxWorks, or custom operating systems and on different processor architectures. Standard runtime availability can become a constraint when software must move across these environments.
2
Resource constraints make runtime efficiency and deployment flexibility critical
Embedded applications must fit within device-specific memory and processing limits while remaining maintainable over long lifecycles. Teams need ways to tune performance and footprint without locking the application into a single target platform.
3
Memory safety and realtime requirements must coexist
Manual memory management can introduce failure and security risks, while conventional managed runtimes may introduce unpredictable pauses. Time-critical systems need managed memory without sacrificing deterministic behavior.
The Solution
Run Java Applications Reliably in Embedded and Realtime Environments
JamaicaVM extends the Java ecosystem to embedded systems with a runtime designed for memory-safe, realtime execution across a broad range of operating systems and processor architectures.
Memory-safe Execution
JamaicaVM implements the APIs of the Java programming and bytecode language, enabling Java applications and libraries to run on embedded targets. This applies to bytecode-compatible languages such as Kotlin, Clojure, and Scala, as well.
Realtime Java with Deterministic Memory Management
JamaicaVM provides the reference implementation of the Realtime Specification for Java (RTSJ), allowing developers to build time-critical Java applications in a virtualized, memory-managed environment.
Embedded Portability with Runtime Tuning
JamaicaVM supports standard and realtime operating systems, including Linux, QNX, and VxWorks, as well as custom-built environments. Ahead-of-Time compilation can be used to tune application speed and footprint. JamaicaVM allows for dynamic loading even after compilation to preserve the flexibility of using libraries and other modules.
Business Outcome
Reduce Embedded Software Constraints. Save engineering time and costs.
Cut Embedded Development Time
Reuse Java skills, applications, libraries, and standardized APIs instead of building and maintaining separate software stacks. Reduce development effort, shorten time-to-market, and make existing engineering expertise immediately productive on embedded targets.
Reduce Software Defects and Engineering Effort
Use a managed, memory-safe runtime to eliminate large classes of manual memory-management errors. Spend less engineering time on allocation, deallocation, corruption, and related debugging—and reduce the cost and risk of software defects.
Make Time-critical Software more Predictable
Use RTSJ capabilities and deterministic memory management to control execution behavior where timing matters. Reduce the engineering effort required to achieve predictable realtime behavior and avoid costly workarounds in application code.
Port once—Reuse across Targets
Keep Java as the common application environment across operating systems and processor architectures. Reduce platform-specific development and maintenance, accelerate product variants, and reuse application software instead of repeatedly adapting it to different targets.
Reduce Hardware and Resource Requirements
Use Ahead-of-Time compilation and target-specific configurations to optimize performance and memory footprint for each device. Fit applications to constrained hardware, potentially reduce required RAM and compute resources, and lower device BOM cost without sacrificing application functionality.
Turn Existing Java Expertise into Embedded Productivity
Build on an established ecosystem of developers, libraries, tools, and APIs instead of creating a separate embedded software organization. Reduce training and hiring effort while increasing the value of existing software assets across the product lifecycle.
How it Works
From Connected Devices to Usable Edge Data
Turn distributed edge signals into usable data through a structured workflow, from device connection to visualization and downstream use.
🡢
Add and Connect Devices
🡢
Validate Available Data
🡢
Select the Data you Need
🡢
Configure and Activate Campaigns
🡢
Collect the Data
🡢
Visualize or Integrate the Results
Add new devices to EDG through Automatic Agent Provisioning, providing preconfigured software agents that auto-connect devices to EDG.
Capabilities
Java Capabilities for Embedded and Realtime Systems
JamaicaVM combines standardized API support of Java with runtime and build capabilities for embedded, resource-constrained, and time-critical target environments.
Supports Java Language and Bytecode API
JamaicaVM allows Java applications and libraries to run on supported embedded targets. This applies to bytecode-compatible languages such as Kotlin, Clojure, and Scala, as well.
Deterministic Memory Management
JamaicaVM combines managed memory with realtime capabilities so applications can avoid the issues and security risks that come with manual memory allocation and deallocation while supporting controlled timing behavior.
Realtime Java with RTSJ
In addition to standard Java, JamaicaVM provides the reference implementation of the Realtime Specification for Java (RTSJ). This enables developers to build time-critical applications in Java while using a virtualized, memory-managed environment.
Ahead-of-Time Compilation
Ahead-of-Time compilation can be used to fine-tune application execution speed and memory footprint for the requirements of embedded targets.
Why JamaicaVM
Why JamaicaVM for Embedded and Realtime Java?
JamaicaVM combines support for standardized Java APIs with capabilities designed for embedded and realtime environments.
Built on OpenJDK, it extends the Java ecosystem to operating systems, processor architectures, and resource-limited environments where standard Java implementations may not meet deployment requirements.
Common Java
e.g. OpenJDK
AOT-compiled Java
e.g. GraalVM
JamaicaVM
Plattform Support
QNX, VxWorks
Deterministic Realtime Applications & API
AOT Compilation
Dynamic Component Loading *
* after Compilation and Component-wise compilation
Java Beyond Common OpenJDK Environments
Run Java applications on embedded operating systems and architectures including QNX and VxWorks, with custom builds available for additional target environments.
AOT Compilation for Embedded Targets
Ahead-of-Time compilation enables developers to tune application execution speed and memory footprint for the requirements of embedded systems.
Realtime Java Execution
JamaicaVM provides the reference implementation of the Realtime Specification for Java (RTSJ), enabling time-critical Java applications while retaining the memory safety of a managed runtime environment.
AOT with Dynamic Loading
JamaicaVM can dynamically load code after compilation. Compiled JAR files can remain available as libraries, components, and modules, providing flexibility for application development and tuning alongside AOT compilation.
Configuration for Resource-Limited Devices
JamaicaVM provides configurations adapted to resource-limited embedded devices, extending Java application deployment to environments with tighter system constraints.
Maintained and Supported by aicas
JamaicaVM is maintained by aicas and provided with additional services for embedded and realtime deployment requirements.
Use Case Examples
Apply selective edge data collection to operational data needs
Automotive Live Data Dashboard
WHAT: Provide selected vehicle signals for live operational visibility.
HOW: EDG can collect selected signals from connected vehicles and make the resulting data available for visualization and downstream analysis.
VALUE: Support faster access to relevant operational data without collecting every available vehicle signal.
Remote Equipment Monitoring
WHAT: Collect selected operating data from distributed industrial equipment.
HOW: EDG can provide defined operational signals from remote devices for monitoring and analysis.
VALUE: Support condition monitoring and earlier identification of operational deviations.
Additional Examples
â—Ľ
Vehicle data for defined analytics requirements
â—Ľ
Data monitoring for software-defined vehicles
â—Ľ
Selective data collection for industrial and IoT environments
Use Case Examples
Where JamaicaVM supports embedded software operations
Logic Management
WHAT: Siemens high-end motion control system “Simotion”: provide customers with robust means to program devices, while maintaining a clock cycle below 125µs.
HOW: aicas’ embedded JamaicaVM runs Java code with standards based hard realtime capabilities. This is based on aicas’ deterministic garbage collector.
VALUE: JamaicaVM enables robust device programming, thus reducing the cost of customization for both Siemens and its customers. JamaicaVM has been in operation on Siemens Simatic for over 10 years.​
Realtime Operation
WHAT: The production processes require a reaction time of less than 1ms. The software developers needed a safe and simple programming interface for the tools they are developing.
HOW: By using aicas’ JamaicaVM, a deterministic and realtime embedded virtual machine, Java programming is simplified. At the same time, it ensures very short execution times, such as the 1 ms required by the company’s production equipment.
VALUE: These machines are renowned for their robustness and unparalleled quality. JamaicaVM extends these quality capabilities while bringing simplicity of use on top of companies’ quality standards.
Embedded Sandboxing
WHAT: Use artificial intelligence to monitor the functions of the machines.
HOW: Patients’ lives depend on ventilators. Therefore, the software running the basic operations of the system needs to be shielded from the artificial intelligence used to monitor the ventilator’s functions. The customer, a large German manufacturer of medical technology, uses the virtualization capabilities of aicas’ Jamaica VM to seperate core functionalities from the AI.
VALUE: It ensures the ventilator’s basic software remains operable, even if the AI wants to use more system resources than it should. The Jamaica product family prevents memory or CPU usage beyond defined limits, thus protecting key application functions.
Platform Support
Run Java across Heterogeneous Embedded Environments
JamaicaVM supports a broad range of operating systems and processor architectures, including environments where standard Java runtime implementations are not available.
Host systems: Linux · Windows · MacOS
*
Debian/Ubuntu-based, RPM/RHEL-based, Android-based, Yocto-built
**
For Windows and macOS, aicas provides a serviced build of OpenJDK without realtime functionality.
Target OS
x64
AArch64
RISC-V
Other
Linux *
Yes
Yes
Yes
On Request
QNX
Yes
Yes
On Request
On Request
VxWorks
Yes
Yes
On Request
On Request
Other OS
On Request
On Request
On Request
On Request
Windows
Yes
**
Yes
**
On Request
On Request
macOS
Yes
**
Yes
**
On Request
On Request
aicas EdgeSuite
JamaicaVM within aicas EdgeSuite
JamaicaVM is the runtime and development environment within aicas EdgeSuite, complementing the platform’s capabilities for software, data and AI operations across distributed edge environments.
JamaicaVM is a solid foundation for devices connected to aicas EdgeSuite, providing memory safety and realtime capabilities with features designed specifically for embedded systems. Combined with JamaicaAMS, aicas’ dynamic application management system, it creates an environment for controlled execution and management of modular software on connected edge devices.
Explore aicas EdgeSuiteNext Step
Evaluate JamaicaVM for your Embedded Target
Discuss your operating system, processor architecture, realtime requirements, and Java applications with aicas to determine the right JamaicaVM configuration for your environment.
FAQ