6.1 Introduction

The OSGi DAL (Device Abstraction Layer) [i.2] is an OSGi defined service to unify interfaces for accessing devices. By using the OSGi DAL, application developers do not need to deal with protocol details to interact with different types of devices such as sensors, actuators, etc.

Figure 6.1-1: OSGi DAL klzzwxh:0003i.2klzzwxh:0004

Figure 6.1-1: OSGi DAL [i.2]

OSGi DAL is comprised of several services:

  • Device: represents the registered device in the OSGi framework. The device service contains properties describing the device's metadata and context information. The device service has one or more function services.
  • Function: represents the function provided by the device. The function could be data reporting or actuating. The function provides a set of FunctionData, properties and operations. A property is the data information that can be accessed by the application. An operation is the interface that can be invoked by an application to trigger a certain procedure. The function also posts FunctionEvent.
  • FunctionEvent: represents the asynchronous event of the function. Once the event is triggered, the event is handled by the registered event handler.
  • FunctionData: represents the data structure that contains the property and metadata of the function.
  • PropertyMetadata: represents the metadata of the function property.
  • OperationMetadata: represents the metadata of the function operation.