Pervasive information systems aim to make information available anywhere and at anytime. These systems should be used in different contexts depending on the environment of the user, her/his profile and her/his device. Consequently, one of the main problems of such information systems is the adaptation to context. In this chapter, the authors propose a comprehensive and open strategy that guarantees the adaptation of applications to context on three facets: (i) the services offered to the user, (ii) the multimedia contents returned by these services, and (iii) their presentation to the user. Service adaptation consists of modules that intercept the application’s service calls and modify their behavior using a list of functional adaptation operators. Data adaptation consists in transforming or replacing the non-usable multimedia service outputs in the considered context situation. Presentation adaptation consists in automatically generating the complete code of the user interface that guarantees the interaction with the adapted data and services. The authors’ adaptation strategy has achieved two goals: (i) incrementally integrate context awareness in the application and (ii) guarantee the adaptation starting from a simple description of the services offered to the user. They have validated this strategy by developing a platform that guarantees applications adaptation to context. They used Java, OSGi and Web service technologies to implement this platform. They have also successfully tested our adaptation approach on a home healthcare application concerning dialyzed persons.
Pervasive information systems aim to providing information to users anywhere and at anytime taking account of her/his environment. Accessing web-based applications on a mobile terminal from anywhere (list of fuel stations around), using a collaborative system based on a highly dynamic peer to peer MANET architecture (collaborative writing of a tourism guide on site) or using the legacy information system in new user environments (home patients directly connected to the hospital information system) are examples of these systems. One common difficulty for establishing such systems is their context-awareness, i.e. they must have the ability to manage their utilization contexts and to adapt their behavior to their changes.
Despite a rich landscape in adaptation related contributions, a complete and generic context-aware adaptation approach is still missing (Kjaer, K. E. 2007). The existing solutions are generally proposed to incrementally create adaptive resources. They are not suitable for adapting existing systems to new utilization contexts. Moreover, the existing contributions remain very specific to proprietary models and to ad hoc needs. Like in (Rosa, L., Lopes, A. & Rodrigues, L. 2008), we target the establishment of adaptive systems where “adaptation logic can be separated from the application core. When an application needs to adapt, it is usually not because its core domain has changed but rather a non-functional requirement or behavior of some services within the application, such as the network communication protocol, needs to change.”
In our opinion, to establish a generic context-aware adaptation approach, we need:
Models and tools to describe the adaptation source (i.e. context)
Models and tools to describe the adaptation target (applications, architectures, services, etc)
Adaptation means and tools to modify the adaptation target when context changes
Adaptation policies putting all the previous models and tools together
In this chapter, we present a generic and automatic ontology-based adaptation approach of existing applications to new utilization contexts. We apply our adaptation approach after the development of the applications by dynamically and automatically instantiating a software layer upon them. Our adaptation strategy is based on three main stages: service adaptation, content adaptation and user interface adaptation. Service adaptation consists in changing the behavior of the offered services to end users in order to be compatible with the utilization context of the application. Content adaptation is based on a set of transformations on the type, format and the properties of multimedia content returned by the services. Finally, user interface adaptation is the automatic generation of functional and correct user interfaces in their operating context. Our adaptation strategy is based on two ontologies describing the application architecture and its utilization context. To validate this strategy, we developed a prototype implementing its main stages to apply them on an existing medical application in order to adapt it to mobile phone utilizations.
This chapter is organized as follows: State of the art presents some interesting works related to context-awareness and adaptation. The following section entitled “Overview of our adaptation approach” gives a general overview of our context-aware adaptation approach. In section “Context Modeling”, we propose an ontology based model of the utilization context. In section “Application Modeling”, we present another ontology based model describing a user’s view of an application. In section “Our adaptation approach”, we detail how we use these models to establish a complete and a generic adaptation approach of services, multimedia content and user interfaces in context-aware applications. Finally, before concluding, we present our prototype implementing our adaptation principles and give a concrete case study to validate our context-aware adaptation approach.