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
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.
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.
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.
The kernel is the main component of the system providing its core functionality. It contains the following components implementing the model consumer pattern:
The components of the HBMS kernel are as follows:
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.
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.
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:
The modeler implemented as a custom ADOxx extension;
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;
The support client implemented in ASP.NET;
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.