Team Adam

Overall Objectives
Scientific Foundations
Application Domains
New Results
Contracts and Grants with Industry
Other Grants and Activities

Section: New Results

Middleware for Context-awareness and Ambient Intelligence

Integrating Context Information as RESTful services

Participants : Russel Nzekwa, Daniel Romero, Romain Rouvoy, Lionel Seinturier.

In pervasive environments, the context information is used by applications in order to adapt their behavior to the current user needs. To access this context information, it must be advertised, discovered, and selected according to its properties. All of these operations must be performed with respect of the heterogeneity in terms of providers and consumers, as well as the mobility typical to pervasive environments. Unfortunately, although context dissemination  [63] is a keystone in pervasive environments, existing approaches fail to do so in a flexible way. To tackle this problem, we have proposed SPACES [37] , a simple but efficient middleware solution for flexible context distribution in pervasive environments. SPACES defines ubiquitous software connectors following the REpresentational State Transfer (REST) principles  [71] .

These ubiquitous connectors not only expose the context as REST resources that are accessible via different interaction protocols, but also enable spontaneous interoperability  [79] , [103] between clients and providers.

Our middleware solution benefits from the extensibility of the discovery protocols to augment the context advertisement with Quality of Context (QoC) properties  [69] , [62] .

SPACES also applies LDAP filters  [96] to select the context providers based on this QoC information.

In this way, our approach fosters the notion of context as RESTful services that can be accessed by heterogeneous entities. SPACES has been applied on the legacy COSMOS framework  [64] , [93] to allow the definition of distributed context policies, and validated with a smart home scenario.

Middleware Support for Stable Self-Adaptation in Ubiquitous Environments

Participants : Russel Nzekwa, Romain Rouvoy, Lionel Seinturier.

The correct behavior of pervasive applications requires continuous system adaptation, according to the changes observed in the application environment. Adaptation is a costly process for the system, therefore it should happen only when significant variations occur. Several pervasive applications use various stabilization techniques to reduce the overhead introduced by the system reconfiguration. But usually, the implementation of stabilization techniques is done in an ad-hoc, non-reusable, non-flexible way. The key motivation of our work, is to provide a flexible and generic approach to handle the stabilization of pervasive applications. In our approach [53] , [34] , we first propose our vision of the stabilization of context-aware applications, where the stabilization mechanisms are located before and after the decision making block. Then, we present a flexible methodology to stabilize pervasive systems, by composing stabilization mechanisms. These stabilization mechanisms have been applied on the legacy COSMOS framework  [64] , [93] to improve the quality of context inference.

Context-Aware Modelling and Dynamic Adaptation

Participants : Xavier Blanc, Pierre Carton, Laurence Duchien, Carlos Andres Parra Acevedo, Nicolas Pessemier.

Context-aware applications are applications that can react to changes on their environment. To achieve such reacting behavior, several challenges have to be faced in terms of: context management, support for dynamic reconfiguration, automation of development, and a consistent development process. One possible way to face those challenges is to use the principles of Software Product Line (SPL) and specifically dynamic SPL (DSPL). DSPLs focus on variability management and aim at deriving different products from a same product family. Additionally, DSPLs allow for products to be derived both at design and at runtime. This enables applications to be adapted during execution and dynamically fit new requirements or resource changes. In [26] we have presented a Dynamic Software Product Line to build context-aware systems based on SOA services named CAPucine (Context-Aware Software Product Line). Such DSPL enables a complete service development from requirements to implementation, and a management of context throughout the software life-cycle. We have defined at the same time a service-oriented and context-aware derivation process that monitors the context information in order to dynamically integrate the appropriate assets in a running system. Our target applications follow the service-oriented approach. We used FraSCAti, an SCA platform with dynamic properties, and sensed information from the environment, to dynamically realize the product derivation. Additionally in [36] we have also identified new ways of apply such approach of DSPL, in the domain of Web Services. To enhance the DSPL, we have started to study a high level representation of variability that can be easily transformed and used at design time as well as at runtime. A possible workaround to such problematic refers to Aspect Oriented Modeling. Using aspect models to express variability allows developers to define separated concerns. Afterwards, each model representing a different concern can be woven statically or dynamically depending on the particular needs for the product being designed or adapted. This work corresponds to Carlos Parra's PhD thesis and is partially funded by the CAPPUCINO project.

Adaptation Models for Complex Event Processing

Participants : Laurence Duchien, Julien Ellart, Gabriel Hermosillo, Lionel Seinturier.

Context information could be read from sensors, but also from RFID, NFC, bar code readers. We need to process these events for an integration into software systems. CEVICHE is a framework that intends to facilitate the integration of Complex Event Processing into existing business processes and to allow these processes to be adapted to different circumstances [33] . As part of this framework, there exists a Standard Business Process Language (SBPL) which is used to gather all the information about the processes, contextual environment, business rules and adaptation conditions in a simple XML file. The goal of CEVICHE is to be able to work with any CEP engine available, using the same SBPL file to configure the business processes and rules. To achieve this, the SBPL file is sent to a translation framework which will use a specialized translation plug-in to adapt the information in the file to specific CEP engine's format. This way, if we want to use another CEP engine, all we have to do is change the plug-in, without rewriting all the specifications of the business processes. CEVICHE relies on different technologies to achieve the process adaptation. It needs a CEP engine that will manage the business rules, it uses COSMOS to deal with context-awareness feeding all the context changes to the CEP engine and finally it uses AO4BPEL to adapt the existing processes in runtime without the need to redeploy the processes, avoiding to lose all the current transactions by doing so. CEVICHE is the subject of Gabriel Hermosillo's PhD. thesis and is still in development. It will include a user interface to generate the SBPL file, a translation framework to deploy the business rules in different CEP engines and an aspect manager to handle the changes in the business processes.

This work is partially funded by the ICOM project.


Logo Inria