This document presents a proposed solution for developing semantic web services using UML and Acceleo. It discusses challenges with current semantic web service development including steep learning curves and lack of standardized tools. The proposed solution uses UML models to generate syntactic service descriptions and Acceleo templates to derive semantic descriptions from UML models and ontologies. A use case scenario and demonstration are presented, followed by a discussion of related work and conclusions on the need for simpler and more efficient semantic web service development tools.
1. Exploiting UML and Acceleo for
Developing Semantic Web Services
Jabu. Mtsweni
School of Computing
University of South Africa, Pretoria
mtswejs@unisa.ac.za
3. 1. INTRODUCTION
• Semantic Web Services (SWS) = Web Services (WS) +
Semantic Web (SW)
• Ontologies (formal representation of knowledge) plays a key
role in SWS.
• SWS promise a number of benefits:
• Improved representation, sharing, searching,
reasoning, and re-use of data and services on the Web
• Automation of various tasks on the Web, such as service
discovery, selection, execution, and monitoring
4. 2.1 BACKGROUND
SWS rely on semantic descriptions for automation
Semantic descriptions describe non-functional and
functional (capability and behaviour) aspects of
services
Semantic descriptions are normally derived from
ontologies
Models such as WSMO, OWL-S based on ontology
languages (e.g. WSML and OWL) are available
Other light-weight approaches, such as WSMO-Lite
and SAWSDL are also available to define ontologies
and descriptions
5. 2.2 BACKGROUND (CHALLENGES)
Steep learning curve of emerging semantic models
Complex textual semantic description languages
Current tools are tightly-coupled to specific
languages
Lack of support for the development of semantic
services
Lack of unified semantic service development tools
Lack of Standardization (e.g. no common standard
for defining semantic descriptions)
6. 3. PROPOSED SOLUTION
• The development process of semantic services
comprises a number of tasks
• service implementation
• syntactic descriptions
• semantic descriptions
• Deployment
• Publication
• Without the necessary tools to support these tasks
the development process of semantic services
could be prolonged
11. 5. RELATED WORK
• There are a number of solutions that have been proposed to
date for facilitating the development of semantic services.
• OWL-S IDE [by Srinivasan, Paolucci, and Sycara ]
• Translates Java code into WSDL
• WSDL to skeletal OWL-S ontologies
• Only Supports OWL-S
• Generation of Semantic descriptions lacks details
needed for automation
• Reverse Engineering [by Bensaber and Malki]
• Follows model-driven approach
• WSDL translated to UML class and activity diagrams
• Diagrams then converted to OWL-S descriptions
• Relies heavily on syntactic descriptions
12. 6. CONCLUSION
Semantic services are seen as the main building block for the
Next Generation of the Web
The driving philosophy behind WS & SWS development is
programmer’s productivity.
Simpler and Efficient tools are then necessary for a facilitating
the implementation of semantic technologies
The proposed approach is viewed as one possible solution in
dealing with the complexities and restrictions involved in
implementing semantic services
Further research points to improving the suggested approach
by incorporating software agents; which are relevant for
processing the semantic descriptions in an autonomous,
proactive, and reactive manner on Web
Thus, in this paper we propose the approach presented in the Figure as one possible solution for facilitating the process of building semantic services by exploiting existing and matured technologies. Creation of service models representing the structure and behavior of targeted semantic services and domain knowledge. For this purpose, UML tools embedded within Eclipse can be used to design class diagrams and activity diagrams. The designed service models could also be annotated using pre-defined keywords or a generic UML profile that comprises stereotypes and tagged values for different semantic description languages, such as WSMO or OWL-S. In this manner, a single model could be used to generate semantic descriptions based on different languages. (2) After compatible models have been designed using the UML2 SDK for Eclipse or even imported from external sources and annotated; automatic model transformations using Acceleo transformation scripts compatible with the Eclipse environment could follow. Acceleo transformation rules that were implemented for the proposed solution.
Table shows a snippet of an Acceleo script developed for transforming annotated UML class diagrams into WSMO domain ontologies. As it can be noted in Line 8, the script would only generate WSMO-compliant ontologies if the class diagram is annotated with the WSMO keyword. The Acceleo transformation script could also be easily edited to support new requirements (e.g. new semantic description language).
In this section, the value of the proposed approach is demonstrated through a use-case scenario adapted from a Sixth EU Framework Programme project called DIP [29]. The scenario is based on developing semantic services for a Mortgage Comparator Web application. The application is intended to compare mortgage loans offered by different financial institutions for a specific property that an ordinary individual would like to buy. Based on the first step of the suggested solution in the previous slides, an abstract service model in the Figure was designed using the UML2 SDK for Eclipse, and subsequently utilized by the Acceleo transformation scripts for automatically generating all the appropriate skeletons and code stubs. The <<RESTful>> and <<WSMO>> UML stereotypes were exploited to annotate the service model in order to aid the model transformers to automatically generate RESTful services and WSMO descriptions as planned.
This slides demonstrates the Java code, and the partial WSMO domain ontologies generated through the model2semantics transformation script. Only the domain and service ontologies of classes annotated with the keyword <<WSMO>> are generated in this case. The process of generating OWL-S compliant descriptions would only require an annotation of service models with the <<OWL-S>> keywords. Other languages can easily be accommodated by defining additional mappings and transformation rules. These could be integrated within the Eclipse environment without disrupting any previously defined transformation rules.