Runtime Agent for 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 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 efforts, 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.
Capabilities
Java Capabilities for Embedded and Realtime Systems
JamaicaVM combines standardized API support for 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.
Only JamaicaVM offers platform support for QNX and VxWorks, AOT Compilation and Dynamics Component Loading (after compilation and component-wise compilation).
AOT-compiled Java, for example GraalVM only offers AOT compilation, while Common Java, for example OpenJDK does not support either.
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
Where JamaicaVM supports embedded software operations
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
On x64 and AArch64 JamaicaVM supports Linux*, QNX, Vxworks, Windows** and macOS**
RISC-V is only support on Linux*, all other OS and CPU architectures on request.
*
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 a 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