Provides information about the supported mechanisms for automatic device capability discovery
The OSGi Device Management package delivers mechanisms for automatic discovery of the capabilities of the OSGi devices. They extend the mechanisms provided by the RM Generic Device Management Framework for defining device capabilities which are valid for every device type. In this document, it is assumed that the reader is familiar with the concept of the RM device capabilities, described in the Generic Device Management package documentation.
Four ways of automatic determining of the device capabilities are supported:

  • Basic capabilities

The following table lists the default set of capabilities, called basic capabilities, which the RM Management Agent retrieves from the device and provides them to the RM server during device synchronization:

Device Capability Property

Description

Platform Hardware


HardwarePlatform.DeviceIndetifier

The identifier of the device type. For an OSGi device the value is "mprm.osgi.device".

JVM and Supported Java Class Libraries


java.specification.name

The name of the Java specification.

java.specification.vendor

The vendor of the Java specification.

java.specification.version

The version of the Java specification.

java.vendor

The vendor of the JDK.

java.version

The JDK version.

java.vm.name

The name of the Java VM of the OSGi device.

java.vm.vendor

The vendor of Java VM of the OSGi device.

java.vm.version

The version of Java VM of the OSGi device.

OSGi Framework


org.osgi.framework.executionenvironment

The Execution Environments (EEs) supported by the OSGi device framework. This basic device capability property is set as an alias of the Execution Environment Management SoftwarePlatform.EE platform property.

org.osgi.framework.language

The ISO 639 code of the language supported on the OSGi device framework.

org.osgi.framework.os.name

The operating system of the OSGi device framework.

org.osgi.framework.os.version

The version of OSGi device framework operating system.

org.osgi.framework.processor

The processor of the device framework. Possible values are specified by OSGi Framework specification.

org.osgi.framework.vendor

The vendor of the OSGi device framework.

org.osgi.framework.version

The version of the OSGi Framework specification supported by the device.

Gateway Software OSGi Runtime
(properties available if the device connected to the OSGi Runtime from an Gateway Software XXX SDK)


mbs.framework.build.version

The build version of the OSGi runtime.

mbs.framework.product.version

The product version of the OSGi runtime.

mbs.product.version

The product version of the OSGi runtime.

mbs.security

The used security model of the OSGi runtime.

mbs.storage.impl

The storage implementation of the OSGi runtime.

mbs.storage.native

The storage of native implementation of the OSGi runtime.

You cannot remove device capabilities defined on the device. However, new properties can be introduced to refine the matching of bundle requirements against device capabilities.

  • Capabilities delivered by custom capability providers

Capability providers can provide specific device capabilities to the Management Agent. The Management Agent detects the presence of capability providers on the device and gets the corresponding capabilities.

  • Capabilities defined as system properties with a specific prefix

When deployed on the device or the device is synchronized, the Management Agent loads system properties having the "prm.platform.capability" prefix as device capabilities. For example the prm.platform.capability.upnp.enabled will be interpreted as the upnp.enabled device capability.

  • Capabilities related with the software components on the device

They are retrieved automatically on device registration and represent the capabilities provided by the currently available OSGi bundles. This type of device capabilities is used to satisfy the dependencies of the OSGi bundles during their installation on the device.

Device Capability Property

Description

SoftwarePlatform.Component.BundleId

The unique identifiers of the OSGi bundles running on the device.

SoftwarePlatform.Component.ContentId

The logical identifiers of the OSGi bundles running on the device.

SoftwarePlatform.Component.GlobalId

The Global Id identifiers of the OSGi bundles running on the device.

SoftwarePlatform.Package

Packages exported by the OSGi device bundles.

SoftwarePlatform.Service

Services registered by the OSGi device bundles.

To learn about the concept of platform properties, refer to the "Device Platform Capabilities" document from the Conceptual Guide of the Software Repository package documentation.