Application Management for Component-Based Applications

JamaicaAMS

aicas’ application management system for deploying and managing modular applications, their lifecycle, security, and resources across embedded and edge systems.


The Challenge

Manage the Complexity of Modular Software

A modular architecture makes it easy to add, replace, and maintain individual software components. But in embedded and edge systems, modularity alone is not enough. Teams also need control over how components behave at runtime, which resources they consume, and how the complete application is deployed.

Control Individual Components

Application frameworks may provide component lifecycle management without the ability to forcefully stop individual components. For systems with stronger operational requirements, teams need a way to regain control when a component does not stop as expected.

Limit Resource Consumption

Components compete for finite system resources. Without enforceable limits, an individual component can consume CPU time, memory, and filesystem resources needed elsewhere in the system.

Manage Complexity

With the advantages of modular applications usually comes an overhead in complexity. While encapsulation eases debugging and bug fixing, it makes dependency management harder.

Control System Access

Components need access to the system for providing their specified functionality. They should not have more permissions than are required for their individual task. The system needs to be protected against malicious or erroneous API usage.


The Solution

Bring Operational Control to Components, Resources, and System Access

JamaicaAMS is a modular application management system and service platform for Java that implements a complete, dynamic component model based on the OSGi standard.

JamaicaAMS extends the underlying application framework with capabilities for stronger component and resource control. It provides a pre-composed and pre-compiled runtime and supports multiple deployment formats for different target environments.

Control the Lifecycle Component

Manage modular application components and keep the control to also safely stop individual components when required.

Service Registry and Dependency Management

Advanced dependency management automates away the complexity of modular service architectures. A central service registry, automatic dependency resolution and the ability to run multiple versions of the same component support the weaving of a long-lasting and robust application.

Enforce Resource Budgets

Define and enforce budgets for individual components across system resources including CPU time, memory, filesystem resources, and API access.

Protect the System

By running all components in a virtualized environment, JamaicaAMS protects the system against malicious and erroneous access preserving the – potentially remote – device always in a running and controllable state.


Business Outcome

Reduce Embedded Software Constraints. Save engineering time and costs.

Reduce Lifecycle Costs

Develop, test, update, and replace software components independently. Keep systems operational during maintenance, debugging, and bug fixing instead of redeploying or stopping the complete application. This reduces effort across updates, system variants, maintenance, and field service.

Accelerate Time-to-Market

Develop and release components independently instead of integrating every change into a monolithic system release. Reuse components across supported hardware, processor architectures, and operating systems to reduce system-specific development and testing. Simplify deployment across heterogeneous fleets, shorten release cycles, and bring new features to market faster.

Extend Product Lifetime

Add, update, or replace functionality throughout the system lifecycle without redeploying the complete system. Adapt deployed systems to new requirements over time and extend the economically viable lifetime of existing hardware.


Capabilities

Application Management for Modular Java Systems

Dynamic Component Model

JamaicaAMS implements a complete and dynamic component model based on the OSGi standard.

Forceful Component Stop

JamaicaAMS provides the capability to forcefully stop individual components, extending the component control available in many application frameworks.

Per-Component Resource Limitations

Enforce budgets for individual components across relevant system resources, including CPU time, memory, filesystem resources, and API access.

Pre-Composed and Pre-Compiled Runtime

Ahead-of-Time compilation can be used to fine-tune application execution speed and memory footprint for the requirements of embedded targets.

AOT-Compiled JAR Extensibility

Extend JamaicaAMS with precompiled JARs for improved performance.

Multiple Deployment Formats

JamaicaAMS is available as:

Copy-in Binary Package

Container Image

Amazon Machine Image (AWS AMI)

Red Hat Universal Base Image (UBI)

Yocto Layer


Capabilities

Application Management for Modular Java Systems

Dynamic Component Model

JamaicaAMS implements a complete and dynamic component model based on the OSGi standard.

Per-Component Resource Limitations

Enforce budgets for individual components across relevant system resources, including CPU time, memory, filesystem resources, and API access.

AOT-Compiled JAR Extensibility

Extend JamaicaAMS with precompiled JARs for improved performance.

Forceful Component Stop

JamaicaAMS provides the capability to forcefully stop individual components, extending the component control available in many application frameworks.

Pre-Composed and Pre-Compiled Runtime

Ahead-of-Time compilation can be used to fine-tune application execution speed and memory footprint for the requirements of embedded targets.

Multiple Deployment Formats

JamaicaAMS is available as:

Copy-in Binary Package

Container Image

Amazon Machine Image (AWS AMI)

Red Hat Universal Base Image (UBI)

Yocto Layer


Why JamaicaAMS

Why JamaicaAMS for Modular Application Management?

JamaicaAMS combines the standardized OSGi component model and Apache Felix ecosystem with additional capabilities for controlling components, limiting resource consumption, and deploying a pre-composed runtime.

True Bundle Stop

Forcefully stop individual components when waiting for them to complete is not acceptable due to timing issues and error cases.

Per-Bundle Resource Limitations

Apply resource limits to individual bundles as well as the overall framework level.

Pre-Composed Runtime

Deploy a pre-composed and tested runtime instead of downloading, assembling, and qualifying the required runtime components independently.

Compiled Extensions

Extend the runtime with pre-compiled JARs where improved performance is required.

Capability

Regular OSGi

e.g. Apache Felix

JamaicaAMS

Component Model

Yes

Yes

Community Extensions & Updates 

Yes

Yes

Specific Patches and Fixes

No

Yes

Full Bundle Control (“stop”)

No

Yes

Per-Bundle Resource Limitations 

No

Yes

Pre-Composed Runtime 

No

Yes

Just-in-Time Compilation 

Yes

Yes

*

Extensibility with Pre-Compiled JARs 

No

Yes

OSGi on QNX and VxWorks

Yes, when running on JamaicaVM

Yes, Built-in

* ??????????????????????????


Why JamaicaAMS

Why JamaicaAMS for Modular Application Management?

JamaicaAMS combines the standardized OSGi component model and Apache Felix ecosystem with additional capabilities for controlling components, limiting resource consumption, and deploying a pre-composed runtime.

True Bundle Stop

Forcefully stop individual components when waiting for them to complete is not acceptable due to timing issues and error cases.

Per-Bundle Resource Limitations

Apply resource limits to individual bundles as well as the overall framework level.

Pre-Composed Runtime

Deploy a pre-composed and tested runtime instead of downloading, assembling, and qualifying the required runtime components independently.

Compiled Extensions

Extend the runtime with pre-compiled JARs where improved performance is required.

Multiple Deployment Formats

JamaicaAMS is available as:

Copy-in Binary Package

Container Image

Amazon Machine Image (AWS AMI)

Red Hat Universal Base Image (UBI)

Yocto Layer

Capability

Regular OSGi

e.g. Apache Felix

JamaicaAMS

Component Model

Yes

Yes

Community Extensions & Updates 

Yes

Yes

Specific Patches and Fixes

No

Yes

Full Bundle Control (“stop”)

No

Yes

Per-Bundle Resource Limitations 

No

Yes

Pre-Composed Runtime 

No

Yes

Just-in-Time Compilation 

Yes

No

*

Extensibility with Pre-Compiled JARs 

No

Yes

OSGi on QNX and VxWorks

Yes

**

Yes, Built-in

*

For Windows and macOS, aicas provides a serviced build based on OpenJDK and Apache Felix without JamaicaAMS-specific functionality.

**

When running on JamaicaVM


Use Case Examples

Where is JamaicaAMS used?

Application Management

WHAT: Helping car owners and the police to return your car after theft.

aicas enables the upload of software to vehicles. In case of theft, the application can – if properly authorized – provide vehicle data to the authorities. The vehicle’s location can be traced at any time, certain vehicle functions can be turned on and off. Even interaction with the driver is possible. If the vehicle stops, e.g., at a red light, the onward journey can be prevented.

VALUE: The solution allows for a quick and easy upgrade to the desired software version for all processes and functions. Lifecycle management can be expanded to the functions of underlying, connected microprocessors. Completely remote and just with a few buttons, single devices, any selection of devices – even according to specific requirements, such as location, language, etc. – up to millions of devices can be managed – quick and simple.

Over-the-Air Updates

WHAT: An Automotive Over-The-Air (AOTA) Updates Testbed that demonstrates how software can be remotely managed on a fleet of vehicles.

The base architecture is built around a Telematics Unit (TU) managing the connection to the external network. The TU has connections to the internal busses: ethernet and CAN. On the TU, a realtime OSGi framework with resource enforcement is used to manage the software lifecycle. By running an instance on each domain controller, customers can track the software on each instance. An additional level of segregation is achieved by running system and external software in a container, running as a separate process, in an FPGA, on a GPU, or on a microcontroller.

VALUE: Connecting a vehicle to the internet is just the beginning of digital transformation. This testbed demonstrates how connectivity can be used for effective data collection and remote software maintenance. Keeping the cloud-to-vehicle connection secure is essential for this transformation.

???

Lorem Ipseum

WHAT: Use artificial intelligence to monitor the functions of the machines.

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.


Use Case Examples

Where is JamaicaAMS used?

Application Management

WHAT: Helping car owners and the police to return your car after theft.

HOW: aicas enables the upload of software to vehicles. In case of theft, the application can – if properly authorized – provide vehicle data to the authorities. The vehicle’s location can be traced at any time, certain vehicle functions can be turned on and off. Even interaction with the driver is possible. If the vehicle stops, e.g., at a red light, the onward journey can be prevented.

VALUE: The solution allows for a quick and easy upgrade to the desired software version for all processes and functions. Lifecycle management can be expanded to the functions of underlying, connected microprocessors. Completely remote and just with a few buttons, single devices, any selection of devices – even according to specific requirements, such as location, language, etc. – up to millions of devices can be managed – quick and simple.

Over-the-Air Updates

WHAT: An Automotive Over-The-Air (AOTA) Updates Testbed that demonstrates how software can be remotely managed on a fleet of vehicles.

HOW: The base architecture is built around a Telematics Unit (TU) managing the connection to the external network. The TU has connections to the internal busses: ethernet and CAN. On the TU, a realtime OSGi framework with resource enforcement is used to manage the software lifecycle. By running an instance on each domain controller, customers can track the software on each instance. An additional level of segregation is achieved by running system and external software in a container, running as a separate process, in an FPGA, on a GPU, or on a microcontroller.

VALUE: Connecting a vehicle to the internet is just the beginning of digital transformation. This testbed demonstrates how connectivity can be used for effective data collection and remote software maintenance. Keeping the cloud-to-vehicle connection secure is essential for this transformation.

???

Lorem Ipseum

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

JamaicaAMS Platform Support

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

Linux

Debian/Ubuntu-based

RPM/RHEL-based

Android-based

Yocto-built

*

For Windows and macOS, aicas provides a serviced build based on OpenJDK and Apache Felix without JamaicaAMS-specific functionality.

Reviewed and Approved by AWS

aicas JamaicaAMS has been evaluated and approved by AWS and is now qualified software to run on AWS cloud services.

JamaicaAMS on AWS Marketplace

Certified by Red Hat

aicas JamaicaAMS has been certified by Red Hat and is now qualified software to run on RHEL and available in the Red Hat Ecosystem Catalog.


Deployment

Easiest Integration

JamaicaAMS is available through multiple pre-packaged formats and channels.

Copy-in Binary Package

Get JamaicaAMS as a binary package.

Container Image

Get JamaicaAMS as a container image.

Amazon Machine Image

Use JamaicaAMS as an Amazon Machine Image (AWS AMI).

Red Hat Universal Base Image

Get JamaicaAMS as a Red Hat Universal Base Image (UBI).


aicas EdgeSuite

JamaicaAMS within aicas EdgeSuite

JamaicaAMS is built on JamaicaVM, combining modular application management with a realtime Java runtime and development environment designed for embedded and IoT systems.

Combined with aicas’ Edge Device Portal (EDP), JamaicaAMS bundles can dynamically be deployed from remote for development, testing, and production workflows. aicas’ Edge Data Gateway (EDG) profits from JamaicaAMS running on a device for collecting and preprocessing data and connecting data sources and cloud endpoints with pre-build components from JamaicaCAR and JamaicaIOT.

Explore aicas EdgeSuite

Resources

Related Downloads and Information

Downloads

JamaicaAMS Manuals

Documentation

JamaicaAMS Release Notes


Next Step

Evaluate JamaicaAMS for your Application Architecture 

Discuss your component architecture, resource-control requirements, target environment, and deployment model with aicas.


FAQ

Common questions about JamaicaAMS

JamaicaAMS is a modular system and service platform for Java that implements a complete and dynamic component model based on the OSGi standard. It adds capabilities for component control, resource limitations, and runtime deployment.

Yes. JamaicaAMS implements a component model based on the OSGi standard.

Yes. JamaicaAMS is built on Apache Felix and benefits from its extensions as well as functional and security patches.

JamaicaAMS adds capabilities including forceful bundle stopping, per-bundle resource limitations, a pre-composed and pre-compiled runtime, and extensibility with pre-compiled JARs.

Yes. JamaicaAMS can enforce per-component budgets for resources including CPU time, memory, filesystem resources, and API access.

Yes. JamaicaAMS provides the capability to forcefully stop individual components.

JamaicaAMS is available as a copy-in binary package, container image, Amazon Machine Image (AWS AMI), Red Hat Universal Base Image (UBI), and Yocto layer.

Yes. JamaicaAMS implements standardized APIs that are also implemented by open-source and other proprietary solutions.

Scroll to Top