MATE

Model-Based Automation Engine

Abstract

MATE: Automation Engine Based on Models. One of the main challenges of the Smart Environmental Systems is automating services provided in a coordinated way in order to satisfy the users’ needs. This automation must take into account users’ behavior patterns, as well as the context in which they are produced, with the aim of adapting to them. Today, this coordination is achieved by using ad hoc solutions and a low level of abstraction, forcing developers to do difficult tasks of implementing and configuring devices. MATE is a software infrastructure that permits the automation and evolution of behavior patterns adapted to the context. MATE continuously monitors the context of the system and the environment with the aim of deciding which patterns must be executed. In addition, it executes these patterns that are totally adapted to the data obtained during the monitoring process. The patterns are described in task models, where the sequence of actions to be done are defined, as well as the services and devices supported by these actions. MATE interprets these models during the execution time without needing to generate any type of code from them. As a consequence, MATE allows these models, built in the analysis and designing phases, to be the unique implementation of the behavior patterns being automatized, making their maintenance and evolution easier. MATE consists of 4 major elements: – Application Programming Interface (APIs): Two APIs have been developed for managing models during the execution times: (1) MUTate (Model-based User Task management mechanisms,) which provides builders for managing the tasks model; and (2) Ocean (Ontology-based Context model management mechanisms,) which provides builders for managing the context model. – Context Monitor: The Context Monitor is responsible for capturing and processing changes in context with the aim of updating the context model according to these changes. The context model has been defined as an ontology in order to facilitate the understanding to other systems. – Automation Engine. It is responsible for executing the behavior patterns within the proper context, according to what the models specify. – Evolution Tool: This tool provides the end users an intuitive interface for modifying the models during the execution time. Internally it uses MUTate and OCEan. These elements have been implemented in Java/OSGi, and they use technologies such as EMF by Eclipse/MDT (Modelling Development Tools), Jena 2.45, OWL API 2.1.16, or the reasoner Pellet 1.5.2 for manipulating models. BENEFITS – Patterns that must be automated can be defined using high level abstraction models without the need to implement any type of code. – Patterns are executed adaptively to the context during the executing time, autonomously and without the intervention of any developer. – Patterns and adaptability required can be evolved during the executing time and without stopping the system. – Evolution is done in a controlled way, always taking into account the restrictions of the meta-models, guaranteeing that any model (and any behavior pattern) remain in an unconscious state. – It provides interfaces that allow the end users to evolve the behavior patterns according to their needs.

Technical specifications

Type of technology

SOFTWARE

Inventors

Person in charge

Valderas Aranda, Pedro José