HBMS: Architecture

Human Behavior Monitoring and Support

The architecture of HBMS system was designed with a goal of making possible the implementation of a flexible Ambient Assisted Living (AAL) system which is capable of learning a person’s behavioral knowledge for later use when that person needs support. Addressing this goal was possible by making this architecture based on the MCA paradigm. The HBMS system implements most of the MCA patterns.

HBMS architecture: MCA-based AAL solution

Figure 1:

HBMS Architecture

The main components of the HBMS system are as follows:

HBMS Modeling Tool

This tool is used for creating and maintaining HCM-L and AREM-L models. It implements the modeling tool pattern. The implementation of this tool is based on the ADOxx metamodeling framework. It communicates with the HBMS kernel by means of the HBMS model transfer interface.

HCM-L-OWL converter

This component transforms HCM-L and AREM-L models obtained through the model transfer interface into OWL2 representation used by both HBMS kernel and HBMS-OI interface. It implements the model adapter pattern.

HBMS knowledge base

This component implements the model storage pattern being a triple store holding HCM and behavioral data. The kernel communicates with it through the Data Management Subsystem that implements the model storage manager pattern.

HBMS Observation Interface (HBMS-OI)

This interface acquires observed behavioral data from heterogeneous activity recognition systems (ARS). It implements the device interface pattern. For adapting specific ARS, HBMS-OI includes a set of ARS adapters.

HBMS kernel

The kernel is the main component of the system providing its core functionality. It contains the following components implementing the model consumer pattern:

  1. Observation Engine;
  2. Behavior Engine;
  3. Support Engine.

The components of the HBMS kernel are as follows:

Observation Engine

This component is responsible for communicating to ARS through HBMS-OI: it obtains the recognition data from HBMS-OI and converts it into the representation suitable for processing by Behavioral Engine.

Behavior Engine

This component is responsible for handling the behavior data arriving from the Observation Engine in context of the current HCM: it matches the arrived data against that HCM to find the current behavioral context, and predicts further actions.

Support Engine

This component is responsible for controlling the behavior of the assisted users through the multimodal user interface. It converts the match and prediction information obtained from the Behavior Engine into the instructions for support clients.

Based on the designed architecture, we implemented a complete prototype of the HBMS system. This prototype includes the following software components:

  1. The modeler implemented as a custom ADOxx extension;
  2. The HBMS kernel implemented as a custom HTTP server accessible through JSON-based API, this implementation is built on top of the embedded jetty HTTP server;
  3. The HBMS monitoring client, HBMS simulator client, and HBMS care worker client implemented in JavaScript by means of AngularJS framework;
  4. The support client implemented in ASP.NET;
  5. The HBMS knowledge base implemented as a triple store by means of Apache Jena framework.

The communication between components is implemented by means of XML and JSON data exchange.

HBMS Architecture: Implementation