The emergence of pervasive systems has led to a greater need for context-aware applications. An important kind of context-aware applications is context-aware service composition, which considers end-users contextual information while services are composed. Embedding the context into a standard composite service enhances the flexibility, but makes its development more complicated. There are reasons for such complexity, diversity and heterogeneity of context concepts and sources, the need to adapt to the service composition standards, and temporal and uncertain nature of context values, to name a few.
The goal of this study is to reduce this complexity and to ease the development of context-aware service compositions. To reach this goal, we proposed a solution that follows model-driven development and context-as-a-service approaches.
The proposed solution composed of the CaaSSET framework, the PCaSO middleware, and standard tools for developing and executing the composite services. CaaSSET consists of a reference model, a metamodel, a graphical modeling tool, a code generation tool, and the CaaSSET API. PCaSO consists of a reference model and five intermediate web services.
In our solution, the developer leverages CaaSSET to design the graphical model of a context service, and to transform the model to a context web service. The developer, afterward, uses the PCaSO intermediate web services along with the context web service to turn a composite service built with a standard composite service development tool, into a context-aware composite service.
To evaluate the usefulness of the proposed solution, a case study was conducted, in which, we modeled and developed a tourism context web service as well as a tourism context-aware composite service. Case study results and related work review revealed that the proposed solution can ease the development of context-aware service composition and has an advantage over related work. We also used a survey to investigate the usability of the tools, provided by CaaSSET. All participants in the survey were satisfied with using CaaSSET to ease the development of a context web service. They also found the provided tools applicable and easy to work. Overall, more than 75% of the participants evaluated the usability (including ease of use, ease of learning, usefulness and satisfaction) as desirable.