A Position Statement submitted to the
W3C Workshop on Frameworks for Semantics in Web Services.
This position statement introduces briefly our proposal about relevant research efforts in the field of Semantic Web Services. We assume that the reader has basic knowledge about this area. Thus, the introduction is kept very briefly. The statement is divided into the following sections:
In 2003, we have started to explore semantic Web service descriptions in our research group. At this time, the DAML Services coalition has proposed an upper ontology called DAML-S for describing the semantics of a Web service. DAML-S in an ontology that defines basic concepts to cover a definition about how to describe what the service offers and how it can be used, very briefly.
We began to explore DAML-S by trying an implementation of a matchmaker that processes basic DAML-S descriptions [1]. DAML-S has some characteristics that allowed us to start quite quickly: it is an ontology that uses DAML+OIL as the ontology language. Thus we were able to use existing tools to perform reasoning over a DAML+OIL ontology. And, the defined vocabulary allowed us to define explicit reasoning queries for matchmaking the service descriptions.
After the W3C has introduced the successor of DAML+OIL, namely the Web Ontology Language (OWL), the DAML Service coalition updated their proposal to conform to OWL and accordingly renamed DAML-S into OWL-S. We have enhanced our implementation to process descriptions using the new OWL-S proposal [2]. At the current time, the implementation is a Java GUI tool that allows to select two OWL-S 1.0 descriptions in order to perform a reasoning about the relations of the referring concepts in both documents [3].
When testing the implementation, we discovered the first issue that we regard as critical for the future success of the whole effort: we created our example descriptions entirely manually. However, we have found the creation of such descriptions by far not as easy as required for the wide application by Web service providers and requesters. Thus, we started to think about developing a tool for creating OWL-S descriptions. This effort has lead to a couple of further research opportunities [4]:
In the recent past, research groups have introduced tools and approaches for the automated generation of OWL-S. For example, the WSDL2OWLS converter from Paolucci et al. generates OWL-S templates based on a WSDL interface description of a Web service [5]. From the view of the service provider this approach is promising. However, considering the case that a requester might seek for a service by using semantic descriptions as well, a WSDL description is not available. Thus, this approach serves only the half of the involved parties. Consequently, software tools must offer functionality to cover the specific requirements of service requesters as well as of providers.
Another difficult issue we found is to identify suitable classification systems or ontologies to define the concepts behind what's processed by the Web service and how it works. Two main questions arise by this problem: a) by what criteria are such concepts chosen, and b) how does a software tool import or integrate them?
Thinking about the previously mentioned points, we discovered another - more fundamental question: Which development methodology is the most anticipated for developing Web services? We believe that recent, modern efforts, such as based on the model-driven architecture (MDA), will be used to develop commercial or professional Web services. Thus, a software developer will anticipate tools that can be seamlessly integrated into his/her environment.
The creator of the semantic description will need one or more ontologies that define the referring concepts of the application domain. There are two main options to obtain such an ontology:
One or more ontologies exist already. For example, a company has already created an ontology with the concepts of the application domain to facilitate a knowledge management platform.
The organisation does not have such an ontology. However, another organisations, interest groups or representative bodies of the industry may provide them. Then, this ontology needs to be found.
For the latter point, Web servers and software tools should exist that allow to find suitable ontologies. Currently, some Web pages in the Internet list collections of publicly available ontologies or offer an interface to an index or repository. In the recent past, a new search engine called Swoogle appeared that is inspired by the page rank idea of Google to specifically search for ontologies. However there are some issues left that are specific for the description of Web services:
Most repositories like Swoogle offer the search for keywords, basically. A tool could support an automated way or just a methodology to determine such keywords. In addition to the search task, a tool could also specify the needed keywords to rank the found ontologies. For example, keywords could be possible names of domains that the ontology should cover or names of the desired individual concepts. A tool could search for both. However a tool could also apply different weighting on finding individual concepts and on finding a possible domain name.
After having found such ontologies, the question raises how to use them. A semantic description of a Web service could refer to concepts of just not only one but of a set of ontologies. Consequently a tool should be able to cover a couple of different ontologies at once. Furthermore we doubt that existing ontologies will cover all the desired concepts. By our experience, the designer will likely create additional concepts that refer to existing ontologies. The conclusion is that a tool should provide the basic functionality for modelling ontologies.
Thinking about the development of Web services we can consider two cases: a) a software developer designs software that must integrate external services, or b) a software developer designs a component that offers its functionality as a Web service. In case a) we anticipate the support of software tools to create a semantic description about the interface and functionality of the required component. Accordingly the anticipated tool can use existing information provided by the development environment, such as a syntactic interface description from a software-model in UML. Model transformation techniques could provide the functionality to automatically generate a template of a semantic description.
In case b), we consider a platform specific model (PSM) in the sense of the MDA that models the concrete Web service. Then, a tool can use the transformation techniques as well to generate a template for the semantic description from the PSM. A possible editor tool imports this template. Then, the software developer could model the semantics of the provided Web service.
Based on our motivation that we just found it hard to create semantic descriptions about Web services manually, we are now motivated to promote its tool-supported creation. In our brief introduction we mentioned some research opportunities and why we find them important. We would also like to mention that apart from the requester/provider issue with OWL-S our points apply also to the WSMO effort.
Last but not least we would like to mention that there are many examples where a strong correlation between the success of an architecture, a standard or a protocol and its support by implementations exists: video recording systems, operating systems etc. Thus we think that tools for specifically modelling the semantics about Web services are critical for the success of this effort.
[1] Michael C. Jaeger and Stefan Tang: Ranked Matching for Service Descriptions using DAML-S. In Proceedings of CAiSE'04 Workshops, Riga, Latvia, June 2004
[2] Michael C. Jaeger, Gregor Rojec-Goldmann, Christoph Liebetruth, Gero Mühl and Kurt Geihs: Ranked Matching for Service Descriptions Using OWL-S. KiVS 2005: 91-102
[3] available on its project home page
[4] Michael C. Jaeger, Lars Engel and Kurt Geihs: A Methodology for Developing OWL-S Descriptions. In Proceedings of INTEROP-ESA'05 Workshops, Geneva, Switzerland, February 2005
[5] Massimo Paolucci, Naveen Srinivasan, Katia Sycara and Takuya Nishimura: Towards a Semantic Choreography of Web Services: from WSDL to DAML-S. In Proceedings of the International Conference on Web Services (ICWS 2003), pages 22-26, Las Vegas, Nevada, June 2003