Semantic Web Services Description Based on Web Services Description
Position paper for the W3C Workshop on Frameworks for Semantics in Web Services
László Z. Varga, Ákos Hajnal
Computer and Automation Research Institute
Kende u. 13-17, 1111 Budapest, Hungary
The semantic web services are semantic extensions of web services and procedure oriented extensions of the semantic web. Frameworks and technologies are needed to support humans to add semantic aspects to web services descriptions. In this position paper we discuss what kind of semantics is needed for semantic web services, where this semantics can come from, how this semantics can be added and what kind of tools could support the semantic enrichment of web services descriptions. We present the WSDL2Protégé tool which is used in two semantic integration projects and we believe can be a good basis of the methods and tools to support the location of semantics in web services descriptions.
Web services are procedural extensions of the World Wide Web. Web services turn the distributed set of information of the web pages into a distributed set of services. The semantic web is a machine interpretable extension of the World Wide Web. The semantic web turns the presentation oriented representation of information on web pages into content oriented representation of information. The semantic web services are semantic extensions of web services and procedure oriented extensions of the semantic web. The semantic web services turn the programming interface oriented description of web services into meaning oriented description which supports the automatic discovery, composition, invocation and interoperation of services. Both academic and industrial people started to investigate how semantic web services can be described and what kind of operational environment is needed. Currently there are two major initiatives in this direction: one is centred on the Web Services Modelling Ontology (WSMO) , the other is centred on the Web Ontology Language for Services (OWL-S) . Both approaches need frameworks and technologies to add semantic aspects to service descriptions. The semantic aspects of web services descriptions are not inherently part of the description and can be added or linked to other semantic descriptions only with human assistance which needs support from methodologies and automated tools. In this position paper we are going to investigate what kind of semantics is needed for semantic web services, where this semantics can come from, how this semantics can be added and what kind of tools could support the semantic enrichment of web services descriptions. These investigations are in the context of the WSDL2Protégé tool implemented by our team . We expect from the workshop that it helps to direct the future development of the WSDL2Protégé tool towards the current trends of semantic web services, and that we contribute to the automated support of location of semantics in web services description.
Web services description has three layers: the service invocation description (in a WSDL file), the publication and discovery description (in the UDDI registry), and the composite web services description (in the static case e.g. in a BPEL4WS file). The key to semantic description is the service invocation description, because the other descriptions build on the information available in the individual service descriptions. The individual service description has to support two major aspects: the description of the functionality of the web service and the description of the data the web service operates on. Adding semantics to data description can build on ontology descriptions of knowledge representation techniques. The data semantics cannot simply be extracted from WSDL descriptions, because e.g. a string data type can represent semantically different information. The semantic data descriptions contain concepts of a given domain ontology. The description of the functionality of the web service means not only the input and output data of the web service, but also the transformation that the web service produces and the non-functional properties like quality of service or security requirements. The major elements needed for the semantic description of web services identified by the OWL-S  and the WSMO  approach are the following:
Inputs: the input data of the service defined by a given domain ontology
Outputs: the output data of the service defined by a given domain ontology
Post-conditions: conditions on the outputs of the service defined by a given domain ontology
Textual description: human readable description of the service
Sources of semantics
In order to be able to create the semantic description of web services we have to investigate where the semantics can come from. The functionalities of the web service are already encoded in the programme code of the web service. This is mainly related to the execution flow of the service. The interface of the web service is described in a WSDL file. This information is mainly related to the input/output data types and operations of the web service. The programmer (team) of the web service is the expert and the creator of the programme code and the WSDL file. The meaning of the data types and operations of the web service belong to the application domain of the web service and are usually undocumented in a machine readable form. In the best case there is a domain ontology which describes the domain in general, but not the web service itself. The usage semantics may be described in a human readable form. A domain expert can encode the usage semantics into a semantic WSDL file using the web services description, the domain ontology and the domain expertise.
In order to be able to create the semantic WSDL file, the domain expert has to decide on the semantic view to be applied. The same semantic information can be represented from different views. We distinguish three views: the view of the OWL-S approach, the view of the WSMO approach and an agent oriented view. The first two are well know from the literature. We mention the agent oriented view in this paper, because the current version of the WSDL2Protégé tool was built using this view.
The semantic web services group of the DAML program started the development of the DAML+OIL based web service ontology which was further developed on OWL bases. In this approach the upper ontology for web services contains the service profile, the service model and the service grounding. The service profile provides a high-level description of a service and its provider in a way which would typically be presented to users when browsing a service registry. The service model details both the control structure and the data flow structure of the service. The grounding of a service specifies the details of how to access the service which is a mapping from an abstract to a concrete specification.
The WSMO approach extends the web service concept with semantic descriptions of data and services. The Web Services Modeling Framework (WSMF)  model consists of four main elements: ontologies, goal repositories, web services descriptions and mediators. The ontologies provide the terminology used by the other elements. The goal repositories contain specifications of objectives that should be solved by web services. The web services descriptions define the web services from various aspects including the services offered, input/output data, failures, service binding, quality and price information, provenance data, reliability information, etc. Mediators bypass interoperability problems of different vocabulary and interaction styles.
In the standardised agent oriented systems  there are three main semantic elements: concepts, agent actions and predicates. The concepts represent the elements of the domain of discourse. The agent actions represent the activities of the agents. The predicates are the statements the agents make, i.e. the results of the agent actions.
Semantics from WSDL
Once we know what kind of semantics we want to describe and in which view, then we have to decide the origin of the semantics. As we saw in the previous sections the semantics may originate from the programmer of the service and from the domain expert. The METEOR_S system  uses source code annotation to generate semantic web services description. We believe that domain knowledge cannot be described well at source code level, it can be described by the domain expert who works on the WSDL description level. The output of the WSDL2Protégé tool supports the domain expert in this work by transforming the WSDL file into ontology description format. In this format the domain expert can easier edit, modify and extend the WSDL description with domain knowledge.
The WSDL2protégé tool
The WSDL2Protégé tool is applicable to create the Protégé model of arbitrary web service by processing its WSDL file. The conversion is fully automated: the Protégé project file containing the web service model is generated by a public web application (available at the web address http://sas.ilab.sztaki.hu:8080/wsdl2agent) for the submitted WSDL file (or URL). The model can then be opened in Protégé graphical development environment and can used to visualize the ontology of the web service, edit, or export it to various formats (such as RDF, OIL, OWL) using the corresponding Protégé plugins.
Web service operations (<operation> elements in the WSDL) are represented by AgentAction-Predicate pair of classes (frames) in the model, where AgentActions stand for the input, and Predicates correspond to the output of the operations. The input and output parameters of a specific web service operation (<part> elements in the <message> tags associated with the operation in WSDL) are represented by individual slots in the corresponding AgentAction and Predicate classes, respectively. The types of the slots in the model are set according to the XML type given for the parameter in the WSDL file casting it to the most appropriate representation in Protégé (String, Integer, Float, Boolean, Symbol).
Whenever a web service operation expects or replies with structure type parameters the WSDL2Protégé tool assigns separate classes to these types with slots corresponding to the structure fields (according to the complex type definition that can be found in the <types> section of WSDL file). The type of the slot representing a structured type data is set to Class and the Allowed Parents facet is filled with the name of the class describing the structure in Protégé. This kind of association is applied in the case of web service ontologies using nested complex types.
Array type parameters of the web services (also defined in the <types> section of WSDL) are described via multiple cardinality slots in the ontology. In the case of a one-dimensional array the cardinality of the related slot is simply set to multiple, in the case of multi-dimensional arrays however intermediate wrapper classes are introduced, each containing a multiple cardinality slot with type corresponding to the class representing the one lower dimension array.
The set of classes generated by the WSDL2Protégé tool is organized in a predefined structure required by the Ontology Bean Generator plug-in (in the hierarchy of AgentAction, Predicate, Concept abstract classes) that makes it possible to produce proxy agent code directly from the web service model in Protégé that can then be run in Java Agent Development Framework.
In this paper we have investigated how to locate semantics in order to produce semantic web services descriptions. We discussed the required semantics, the origin of this semantics, the different views of semantic representation. We presented the WSDL2Protégé tool that can be used to support the creation of agent oriented view of semantic web services description. The WSDL2Protégé tool supports the domain expert’s work, while the METEOR-S system supports the programming level expert. With the combination of the two tools a skeleton of OWL-S and WSMO views of semantic web services descriptions could be generated in order to support the creation of semantic web services descriptions.
Conclusions, interest in the workshop
This paper has proposed an approach to locate semantics in web services descriptions. We believe that the concepts and the tool presented in this paper is a good start in this direction and contribute to the workshop. The WDL2Protégé tool is part of the WSDL2Agent tool that was created to integrate web services into agent systems. The WSDL2Protégé tool is also a basis for our work in the Sintagma project to semantically integrate web services into heterogeneous data sources. The Sintagma project is a Hungarian national research and development project. Its main goal is the development and experimental application of a novel information integration technology which includes conceptual level integration and is based on virtual database management in distributed architectures. We expect that the discussions at the workshop will encourage and shape the further development of the WSDL2 Protégé tool, as well as the methodologies for the location of semantics in web services descriptions.
 L.Z. Varga, A. Hajnal, Z. Werner: "An Agent Based Approach for Migrating Web Services to Semantic Web Services", Lecture Notes in Computer Science Vol. 3192, C. Bussler, D. Fensel (Eds.), Artificial Intelligence: Methodology, Systems, and Applications 11th International Conference, AIMSA 2004, Varna, Bulgaria, September 2-4, 2004, Proceedings, pp. 371-380., ISBN-3-540-22959-0
 D. Martin, M. Paolucci, S. McIlraith, M. Burstein, D. McDermott, D. McGuinness, B. Parsia, T. R. Payne, M. Sabou, M. Solanki, N. Srinivasan, K. Sycara (SRI, CMU, Univ. Toronto) "Bringing Semantics to Web Services: The OWL-S Approach." First International Workshop on Semantic Web Services and Web Process Composition (SWSWPC 2004) 6-9, 2004, San Diego, California, USA.
 Rubén Lara, Holger Lausen, Sinuhe Arroyo, Jos de Brujin and Dieter Fensel. "Semantic Web Services: description requirements and current technologies", International Workshop on Electronic Commerce, Agents, and Semantic Web Services, In conjunction with the Fifth International Conference on Electronic Commerce (ICEC 2003), Pittsburgh, PA, September 30, 2003.
 Dale, J., Mamdani, E.: “Open Standards for Interoperating Agent-Based Systems” In: Soft-ware Focus, 1(2), Wiley, 2001.
 P. Rajasekaran, J. Miller, K. Verma, A. Sheth, Enhancing Web Services Description and Discovery to Facilitate Composition, International Workshop on Semantic Web Services and Web Process Composition, 2004 (Proceedings of SWSWPC 2004)