With computing devices and the Internet becoming ubiquitous, users can make use of network-based software applications in different places and situations. Mobile devices with Internet connectivity are a good example of this trend. Network-based software applications are being exposed to users as web services, which makes them accessible on demand, when and where the users require them in their daily life. Often users have to make use of several services to fulfil their requirements. The required services can be combined into a service composition, to deliver a value-added service that fulfils all the different requirements of a given user at a given moment. Creating such service compositions beforehand is difficult, or even impossible, as service developers would need to define all the possible service compositions that end-users may require. However, and given that services can be exposed through the Internet, service compositions can possibly be created on demand, driven by the users, whenever users require a given functionality that cannot be delivered by a single existing service. In this thesis we address the problem of personalised service delivery through on demand composition of existing services. To achieve such personalised service delivery, we claim that user-centric service composition supporting approaches are required. User-centric service composition aims at the creation of a new service composition to fulfil the requirements of a specific end-user. Furthermore, we also consider that service composition supporting process needs to be personalised to the user creating the service composition, which is not necessarily the service end-user. Proper attention should be given to the fact that users are heterogeneous, i.e., they have different knowledge, technical skills and may use services in different situations. Furthermore, this process will mainly take place at runtime, which imposes real-time behaviour constraints to the service composition supporting system. We assume that in many application domains users have limited technical knowledge, which implies that the supporting system for service composition must shield the users from the details of the service composition process. To achieve this, users must be provided with some degree of automation on the service composition process. To provide such automation we have developed the DynamiCoS framework, which automates the discovery and composition of services. Such automation is achieved by using semantic-based technologies: semantic service descriptions, ontologies and semantic reasoners. DynamiCoS also supports the process of semantic services publication. Published services are represented in a language-neutral formalism, which allows the publication and composition of services described in different languages. To evaluate DynamiCoS we have developed a prototype implementation. We observed that there is a lack of evaluation methodologies, and a shortage of real world semantic services collections, to help in the evaluation of semantic service composition approaches. Consequently, we have developed a framework for the evaluation of semantic service composition approaches. Following the defined evaluation framework, we have showed that the DynamiCoS approach is capable of automatically discovering relevant service compositions for a given service request. Furthermore, the service composition process can be delivered in real-time, although the processing time can rapidly increase if many semantic services are handled. However, DynamiCoS assumes that users can specify declaratively all the properties of the required service (composition) in one interaction. Such an assumption limits the set of users that can be supported, as most of the users lack application domain knowledge to specify all the details of the required service in one interaction. Generally, users require multiple interactions with the supporting system to acquire information about the application domain in order to drive the service composition process. To overcome this limitation, we have extended DynamiCoS to support a flexible and multi-step interaction between the user and the supporting system. This support is adaptable and allows, for example, to assist users with limited application domain knowledge, by allowing them to acquire information about the domain, and its services, so that they can specify and decide on the services to be used in the service composition. This extension of the DynamiCoS framework resulted in the A-DynamiCoS framework (Adaptable-DynamiCoS). The A-DynamiCoS framework consists of two parts: a domain specific front-end user support and a generic back-end supporting system. The front-end communicates with the back-end by using predefined commands, or primitive commands, which can embed the user intentions at each step of the composition process. Primitive commands provide a given functionality, which is implemented by the basic components of the composition framework, which are on the back-end supporting system. Primitive commands can be used to define a strategy in terms of command flow. Such strategies are domain specific, and depend on the target user population to be supported in a given usage scenario that makes use of service composition to support personalised service delivery. Commands can be exposed to the users with intuitive interfaces that can collect the user intentions and requirements. New primitive commands can be introduced, if necessary, without having to change the previously defined commands. Furthermore, the same primitive commands can be used to design multiple front-end user support command flows, to support different types of users in different application domains. A-DynamiCoS also addresses the problem of incremental composition and execution of services. This problem arises from the fact that users many times decide, after executing a service composition, that they require further services. To tackle this the process of service composition and execution can interleave in A-DynamiCoS. To evaluate A-DynamiCoS, we have developed a prototype implementation. The prototype reuses the components of the DynamiCoS framework implementation, namely the basic components of the composition framework, which are used to implement the different primitive commands. Furthermore, we have developed other components to provide the aimed adaptability of our approach. To validate the A-DynamiCoS applicability in different application domains and to support different types of users, we have used A-DynamiCoS to support two different use cases, one in the e-government domain and another in the entertainment domain. Users of these application domains have different characteristics and require different types of support regarding their service composition process. The user interfaces were developed as normal web pages, defining dialogues with the users. The A-DynamiCoS generic back-end supporting system was able to provide the required support to both use cases with the same set of primitive commands, combined in different command flows. Furthermore, we have also evaluated the performance of A-DynamiCoS back-end supporting system, by measuring the time taken to process the different commands issued from the front-end user support. We observed that the responses were delivered in real-time, i.e., the users did not experience long waiting times for the issued commands. Based on the performed evaluations we can conclude that the A-DynamiCoS framework is adaptable and applicable to different application domains and users, and furthermore it delivers real-time response to users. These results provide a good motivation for using this type of techniques to provide users with more personalised service delivery.
|Award date||11 May 2011|
|Place of Publication||Enschede|
|Publication status||Published - 11 May 2011|
- Service Engineering
- User-centric Service Composition
- Service oriented computing
- Adaptable Architectures