The SDK contains a set of Eclipse plugins, enabling third-party developers to easily create, optimize and test OSGi applications and services. They also help engineers at home gateway manufacturers to create a customized OSGi target image for a specific device.
The main Eclipse plugins and their features are the following:
mToolkit – Includes a collection of convenient tools for deployment and management of OSGi-compliant bundles on OSGi Runtime straight from within the Eclipse Workbench.
Manages OSGi environments on remote devices including bundle installation and update, examination of the installed components in a tree-like manner, etc.
Models and builds OSGi Runtime images that best fit the requirements of the target device platform.
Launches the OSGi Runtime on a target device in normal, debug and profile mode.
Provides OSGi Runtime emulation on a developer PC and allows work in normal, debug and profile mode.
mBProfiler – Assists developers in improving the efficiency of applications by exploring different aspects of the performance of a Java program, associated with the JVM consumption of the available platform resources as CPU, memory and threads.
Memory consumption measurement and stack frames tracing.
CPU loads profiling.
Momentary heap allocation information.
Thread state progress statistics.
Tracking the stack traces of active threads and the monitors they use.
Garbage collection during profiling.
System plugins – Offers a set of supplementary features assisting developers in constructing applications for concrete images of Bosch IoT Gateway Software Runtime.
Target Platforms Store – Adds to the Eclipse Plug-in Development Environment a bunch of target platforms holding the APIs and services available in the OSGi Runtime.
Target Image Descriptors – Represent a set of predefined OSGi Runtime images containing the functional components for the most typical production use cases. Developers can use the image descriptors to generate a ready runtime and deploy it on devices, to emulate a runtime on a PC or to design own images based on the predefined ones.