Article Preview
Top1. Introduction
As the number of available services is steadily increasing, there is a growing interest for reusing basic services in new composite services. Many research activities regarding service composition are focused on business to business interactions, however there is recently relevant activity regarding user-centric services especially for mobile users. In order to match the expectations of this new community, with respect to personalization and ease of use, these services should be designed in a manner that allows them to exhibit a certain level of context-awareness. This process, known as contextual service composition, requires from the composite services to consider information from the user’s context – such as location, profile, age, etc – by performing several adaptations on service behaviour in first stage and composition structure in the second one. The main challenge is to operate the most suitable service combination in order to respond to user expectation and improve the end-user experience. This obligation has involved the introduction of a new type of composite services named Context-Aware Composite Services (CACS). In literature, several approaches work on this new type of services, but most of them did not address the main issues of the context-aware paradigm. First of all, context definition is of vital importance for most of the actually works, since it is the key notion for service adaptation and composition. In addition, raw context retrieval from the environment is not an evident routine, indeed context information are collected from heterogeneous sensors. Additionally, most of standards for service composition (e.g. BPEL, WS-CDL) in SOA do not support dynamic service composition. Such requirement is very crucial for CACS development, as long as they are dynamically built according to the context of use. For these reasons, CACS development implies more open-endedness in terms of analysis, design and implementation phases.
CACS development can profit from existing paradigms and technologies such as process orchestration languages (e.g., BPEL (OASIS, 2007)) and Model Driven Engineering (MDE (Favre, 2004)). Process orchestration languages are very developed tools that enable the transparency and ease of use of the creation of composed services aiming at extending application functionalities. In our approach, BPEL descriptions of CACS are dynamically generated, through our MA2C tool, to provide the most suitable composite service for current context of use. MDE is a model centric approach for software development, in which models are used to drive software development life cycle. In our approach, meta-models of CACS artefacts are provided to guide the design of CACS models.
The reminder of this paper is organized as follows. We motivate and bring out in next section the context-awareness challenges through an illustrative scenario concerning an M-tourism system. In section 3, we introduce our context and context provider metamodels that will guide the building of context management models. Section 4 describes our CACS specification and metamodel and the proposed meta-model for the adaptation Artefacts that are the core of CACS services. Then we present an overview of MA2C in section 5. After that, we will briefly compare and position our work with other proposals found in the literature in section 6. Finally, we conclude and present some perspectives of our work in section 7.