PreDiCtS (Personalised Discovery and Composition of Services) is a framework, which allows the retrieval of services based on service-composition templates. The philosophy behind PreDiCtS is based on four fundamental assumptions:
- service-retrieval process is considered as the process that encapsulates both service discovery and/or service composition.
- it is important to make use of past experience to ease the service-retrieval process
- it is important that the system identifies as clearly as possible the users service requirements
- having identified both the users required functionality and a set of suitable templates the system can start searching for services that fit into these templates
The first assumption is motivated by the fact that composition of services comes into play whenever the service discovery process is unable to find a service that fulfils the users requirements. At which point, the retrieval system has to identify which services, atomic or complex (a service made up of other services), can be combined together to provide a complete solution.
The second assumption allows us to consider past experiences of service-retrieval and to represent them through templates that capture generic aspects of specific service composition instances. This presents the advantage that a new service-retrieval query aimed at discovering new functionalities, does not necessarily lead to a service-composition process that is created from scratch. Furthermore, the use of generalised templates provides flexibility whenever adaptations to these templates are required, since composing Web services by means of concrete (concrete here is referring to service descriptions that are bound to specific, existing services) service interfaces leads to tightly-coupled compositions in which each service involved in the chain is tied to a Web service instance.
Through PreDiCtS it is possible to identify more clearly which solution the user is after. For this reason we considered an extension to Case-Based Reasoning (CBR), which is called Conversational Case-Based Reasoning (CCBR). The motivation being, that CBR restricts the user to define a complete problem definition (service-retrieval query) at the start of the case-retrieval process while CCBR uses a mixed-initiative approach that allows for a partial definition of the problem by the user, and makes use of a refinning, dialogue process to identify more clearly the user’s problem state. This phase is referred to as the Similarity Phase and is triggered when a new problem (i.e. a request for particular service functionality) is presented to the system. The CCBR approach provides a set of questions (also referred to as Question-Answer pairs) which the user can choose to answer. Depending on these answers, a ranked list of past, similar cases are retrieved and recommended to the requester, together with other unanswered questions. Through this dialogue process the requester can decide when to stop this iterative-filtering phase, and when to reuse or adapt a chosen case.
The PreDiCtS service-retrieval process continues with a search for suitable services, in a service-repository. We refer to this phase in PreDiCtS, as the Integration Phase. During this phase, a mapping is attempted, from the features in the solution of the chosen, and possibly, adapted case (this we term as the Most-Similar Case or MSC), to actual services that are found in a service registry. Whenever the Similarity Phase does not return a suitable MSC the user can create a new case from scratch. Building new cases is not a trivial task, since it requires detailed knowledge about the domain. Therefore such task is best left for knowledge engineers. We considered this situation and it is envisioned that in future versions of PreDiCtS users will be allowed to add new cases by communicating with other peers across a network.
Queries can be sent to a service registry and an AI planning component can be used to combine retrieved services according to the knowledge defined in the MSC templates. The planning algorithm that we are considering is based on the partial order planning algorithm.
The Similarity Phase in PreDiCtS makes use of:
- Case Creator: The Case-creation process enables the case-designer to easily create a new case which includes the definitions of the Context, Problem and Solution. The solution in a case-description is represented through a template which includes details about a workflow of services.
- Case Retieval: The Case Retrieval Tool allows to figure out the case which suits best to the given goal/problem. Problems are represented through a set of Question-Answer pairs or QAPs. PreDiCtS provides for the creation, reuse and maintenance of these QAPs. Hence, the Case which is most similar to the QAPs is returned as best suiting result.