OpenAAL architecture

Aus openAAL
Wechseln zu: Navigation, Suche

The openAAL platform is a modular system. It consists of several components. Every component shall be discovered here. In the picture below are the managers of the openAAL platform mapped. The first layer shows arbitrary services or usecases which are running on top of the openAAL platform. The second layer shows the managers of the platform, which realize different tasks. Every manager communicates with each other trough the service registry blackboard. And the third layer is the hardware layer, with consists of sensors and actors from different manufacturers.

Openaal arch.png



On the bottom of the openAAL architecture is the FHEM server for Home automation, which controls sensor and actor devices. In this way a local system can support different devices. The FHEM server is opensource and implemented in Perl and can be used with a perl interpreter at different operating systems.


The database shall offer the possibility to persist arbitrary informations about the openAAL platform and if necessary to make these informations accessible. For exampel informations can be details about already installed usecases, userroles in AAL space or summarized data vor evaluations.

Online Store

The online store administrates and offers different usecases as .oAAL files and supports for the openAAL system new updates and patches.

Felix OSGI Container

All components or modules of the openAAL platform are implemented as OSGI bundles. The Felix OSGI framework provides a runtime environment for the openAAL platform. All system bundles and usecases can be started and stopped or can be installed dynamically during runtime. If the computer is starting, also FHEM and the Felix container will be started automatically, because of makeing available all system components without interactions of the enduser.

Configurator Bundles

The configurator bundles have the task to configure running usecases. To make this possible, has every usecase to register itsself at the ConfigurationDefinitionRegistry to provide its default configuration XML to the openAAL environment. During runtime it is possible to change with help of the configurator, the configuration parameters of an usecase. The ConfigurationInstancesStorage saves the currently changed configuration in a XML file, which is used by the running usecase.


The system control is an interface to the deployer of an usecase. It is possible through the systemcontrol to add new devices and to install, configure and control usecases.It also gives the opportunity to purchase available usecases from the online store, so that the deployer can download, install and configure without big efforts an usecase. In addition the controlling and monitoring of devices shall be provided, so that the complexity of the mainainance of an AAL environment can be much more likely reduced.


The FHEM-Java-API is an interface between the systemcontrol and FHEM. In addition it provides an interface for usecases, which are interpreting sensor events or are triggering actor events.

AAL usecase

AAL usecases are developed by developers and are using for running the openAAL platform. The openAAl components of the platform provide the usecases an interface for different devices from different manufacturers. And all usecases can be configured through openAAL.

The whole openAAL architecture and the relationships of its components are shown in the picture below.

openAAL architecture


  • Raspberry PI
  • CUL
  • LAN Cable or wifi
  • SD card 4GB
  • Sensors and actors


  • OS: raspibian
  • FHEM
  • Felix OSGI Framework
  • openAAL system tool
  • Configurator
  • The Open Transporter
  • FHEM-Java-API
  • arbitrary usecases