Skip to main content

Notice: This Wiki is now read only and edits are no longer possible. Please see: for the plan.

Jump to: navigation, search

Vorto / Meta Information Model / Discussion / DAL

This page contains information about the relation between the Vorto Meta Model and the OSGi DAL.

OSGi Device Abstraction Layer

OSGi Device Abstraction Layer (DAL) has been released with the Release 6 of the OSGi Residential Specification. It provides an unified device representation, where the applications don't need to take care about the protocol specifics. Because of this unification, it can be easily mapped to the generic Vorto meta information model.


DAL introduces two main items:

  • Device - contains details about the physical device like serial number, model, vendor etc. It's registered as a service in the OSGi service registry.
  • Function - contains a specific device functionality like on/off, temperature reporting etc. Similar to the device, it's registered as a service in the OSGi service registry.

OSGi Device Mapping

This mapping is relatively simple, because the device is described with a set of properties. The Vorto Function Block properties can be mapped to the OSGi Device properties.

OSGi Device Function Mapping

OSGi Device Function has a set of properties and operations. The properties can be readable, writable and eventable. In additional, they can be described with metadata. The property value can be measured in a given unit, can have min value, max value etc. An exemplary mapping is:

OSGi DAL Vorto
Function Function Block
Function Property Function Block Property
Function Property Access No direct mapping, it can be simulated.[1]
Function Property Metadata Function Block Property Data Type.[2]
Function Event Function Block Events Property [1]
Function Operation Function Block Operation


  1. 1.0 1.1 OSGi Function property access can be readable - there is a getter to provide the property value, writable - there is a setter to set the value, eventable - events can be reported. Getter and setter can be mapped to Vorto Function Block operations, while the event can be mapped as a Vorto property in the "events" section.
  2. OSGi Function property can be described with min, max etc. Some of these parameters are supported by the Vorto data types, some are missing.

Back to the top