![]() |
University of Malta Department of Computer Science and A.I. Charlie Abela |
PreDiCtS:
|
|
Introduction |
|
PreDiCtS (stands for Personalised Discovery and Composition of Services) is a framework, which provides for the retrieval of services based on service-composition templates. The philosophy behind PreDiCtS is based on four fundamental assumptions:
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. |
| Overview |
|
The Similarity Phase in PreDiCtS makes use of :
The Case-creation process enables the case-designer to easily create a new case which includes the definitions of the Context, Problem and Solution. These definitions are based on the CCBROnto ontology. By providing an easy-to-use interface and hiding the complexity of these definitions, the designer can concentrate on what he wants to achieve with the new case rather then how the various definitions will be combined together. |
![]() |
| Figure 1: Case Creation Tool |
|
The context knowledge that the designer is required to add reflects his credibility and expertise. This will become very useful whenever cases are shared between PreDiCtS users. Such knowledge provides for an element of trust in the form of a foaf:RDF description about the designer. The system, though, is flexible enough to deal with other trust definition languages. Apart from trust in the designer himself, this context knowledge is important when building a history of case-- usage. Together with user feedback, this will help in the generation of a reputation value associated with each case. It is envisioned that future case users will be provided with a means to measure the utility of a particular case to solve a problem. Problems are represented through a set of Question-Answer pairs or QAPs. PreDiCtS provides for the creation, reuse and maintenance of these QAPs. Creating QAPs involves the use of a mapping tool that associates the newly defined question and answer with concepts from a chosen problem definition ontology. Answers are either assigned binary-values, that is Yes or No, or else are associated with a concept from the ontology. Reuse of QAPs is provided to allow case designers to minimise the time for the case creation process. During case-creation a set of QAPs from a chosen problem-domain are displayed and the user can decide whether a QAP is suitable for a particular case or not. |
![]() |
| Figure 2: Question-Answer Pair creation tool |
|
The solution in a case-description is represented through a template which includes details about a workflow of services. To generate the solution, PreDiCtS provides a workflow composer tool based on the approach adopted by James Scicluna in his Visual Composer. This allows for a workflow to be represented through a UML Activity Diagram and then transformed into an OWL-S process definition. The present prototype handles only OWL-S-based templates, though through the use of an existing mapping tool such as BPEL4WS2OWLS, a WS-BPEL description can be successfully transformed into an OWL-S definition and used by PreDiCtS. |
![]() |
| Figure 3: Case Retriever Tool |
Conclusion |
|
PreDiCtS is written in Java and makes use of both Jena
and OWL-S API, together with a
MySQL database which acts as a triple-store.
|
Related Publication |
|
C. Abela and M. Montebello. CCBR Ontology for Reusable Service Templates. In Proceedings of the 3rd European Semantic Web Conference (ESWC 2006), Budva, Montenegro (11th - 14th June 2006) 4011, 59-60, June 2006 C. Abela and M. Montebello. PreDiCtS: A Personalised Service Discovery and Composition Framework. In Proceedings of Semantic Web Personalization Workshop (SWP06), Budva, Montenegro (12th June 2006), 1-10, June 2006 C. Abela and M. Montebello. Conversational Case-Based Reasoning Approach to Service Discovery and Composition. Technical Report, Computer Science Annual Research Workshop (CSAW), University of Malta, November 2006 |