The Multi-Sandbox capability of the MicroEJ Core Engine allows a main application (called Standalone Application) to install and execute at runtime additional applications (called sandboxed applications).
The MicroEJ Core Engine implements the [KF] specification. A Kernel is a Standalone Application generated on a Multi-Sandbox-enabled platform. A Feature is a sandboxed application generated against a Kernel.
A sandboxed application may be dynamically downloaded at runtime or integrated at build-time within the executable application.
Note that the Multi-Sandbox is a capability of the MicroEJ Core Engine. The MicroEJ Simulator always runs an application as a Standalone Application.
The Multi-Sandbox process extends the overall process described in the overview of the platform process.
Once a Kernel has been generated, additional MicroEJ Application code (Feature) can be built against the Kernel by :
- Creating one launch configuration per feature.
- Setting the Settings field in the Execution tab of each feature launch configuration to Build Dynamic Feature.
- Setting the Kernel field in the Configuration tab of each feature launch configuration to the ….
using the MicroEJ Application launch named Build Dynamic Feature. The
binary application file produced (
application.fo) is compatible only
for the Kernel on which it was generated. Generating a new Kernel
requires that you generate the Features again on this Kernel.
The Features built can be deployed in the following ways:
- Downloaded and installed at runtime by software. Refer to the [KF]
- Linked at build-time into the executable application. Features linked this way are then called Installed Features. The Kernel should have been generated with options for dimensioning the maximum size (code, data) for such Installed Features. Features are linked within the Kernel using the Firmware linker tool.
Multi-Sandbox memory overhead of MicroEJ Core Engine runtime elements are described in the table below.
|Stack Frame||RW||8 bytes|
|Class Type||RO||4 bytes|
|Interface Type||RO||8 bytes|
LLKERNEL_impl.himplementation (see LLKERNEL: Multi-Sandbox).
Multi-Sandbox is an additional module, disabled by default.
To enable Multi-Sandbox of the MicroEJ Core Engine, in the platform configuration file, check Multi Applications.