The mBSA provides management of the OSGi Runtime in OS-native level. Thanks to its extensions mBSA is capable of executing numerous control functions over target runtimes, including OSGi ones, as well as of communicating setup information over TCP.
Feature Set
Bellow a list of required and optional plugins included with mBSA module to provide its functionalities:
Config Manager COMMS – provides remote access to ConfigManager Plugin through Comms.
COMMS – adds COMMS protocol support for mBSA. COMMS is internal protocol for remote control of mBSA and its plugins.
External Counters – provides counter for important system events (number of FW restarts, number of MBSA restarts, number of OS restarts).
COMMS File Access – adds support for reading and writing files through the COMMS protocol.
Manager – manages the lifecycle of the FW, provides support for functions like update of the FW and/or the JVM, etc.
Nrunner – provides an alternative to using Runtime.exec() for starting native Processes from inside a JVM.
OS Restart – provides OS restart functionality using low-level APIs or shell scripts.
Runtime Controller – provides possibility to manage (start, monitor, stop) different types of Runtimes.
RTC COMMS Client – provides mBSA Java component for RTC Communication through Comms.
TCP/IP Transport – provides basic implementation of TCP/IP communication like stream connections and server listeners.
Thread Guard – adds watchdog-like functionality for mBSA threads.
Target Manager – provides a central database for keeping information about each runtime and its connections.
TM COMMS Client – provides mBSA Java component for communication with external mBSA Comms module.
TM COMMS Module – provides mBSA Java component for communication with external mBSA Target Manager module.
Hardware Watchdog – provides thread ping mechanism and hardware watchdog access, if the OS and the platform support it.
OS Watchdog – adds a watchdog for OS events like excessive CPU or memory usage.
Process Watchdog – adds a watchdog for processes.
Known Issues and Limitations
Microsoft Visual C++ 2010 Redistributable Package (x86/x64) should be installed manually.
System Integrity Protection has to be disabled in order to use mBSA on macOS/OS X since version 10.11 (OS X El Capitan).
When using Beaglebone, if you see an error "No such file or directory" when executing binaries (e.g. mbsae.core) probably the box has different ld-linux.so location. Binaries are linked against /lib/ld-linux-armhf.so.3. Consider using ln -s /lib/ld-linux.so.3 /lib/ld-linux-armhf.so.3
NRunner plugin is deprecated and not built by default. It supports only 32-bit JVMs, due to limitation in Java communication protocol and could cause a deadlock due to pipe synchronization concept.
Bosch IoT Gateway Software will not have runtime native support, it will use System.exec() for spawning.
Licensing Information
Check the mBSA section in the Licenses Information documentation .