Representing the semantics of web services and utilising the described semantic knowledge to develop and use within intelligent applications is an active research domain. Automatic composition of web services and reconfiguration of composed web services are some of the likely functions the intelligent applications ought to be performing by exploiting the semantic descriptions of services. The fundamental issue in this field is that one has to put in a lot of effort to write/generate the semantic descriptions of web services. The current approaches such as OWL-S requires generating or writing a huge volume of XML or similar code even to represent some trivial semantics. The semantics include inputs, outputs, preconditions and effects, however, the preconditions and effects are not rich enough to reason upon the activities that services are expected to perform in general. Further a standard language or approach to define the semantic description of web services does not exist. Until such a standard language or approach is devised for proper development of semantic descriptions, such approaches will remain ad hoc and essentially all the matchmaking and compositions tasks will remain at the syntactical level rather than at the semantical level.
Employing traditional AI techniques such as Constraint Satisfaction Problem (CSP) based Configuration to help compose web services to attain a particular goal has potential, as similar techniques have been applied very successfully in the hardware component configuration domain. Adapting the afore mentioned techniques for composition of services required services to be annotated with formal descriptions of their behaviour. As this is a tedious process, automated support for this process is desired.
Automated support for service composition is a complex problem. In particular, the following problems have been identified as core issues in service composition.
- Generating useful semantic descriptions with minimal effort by reusing previously developed concept descriptions where applicable. The lack of graphical notation or language at both the service definition and composition stage can be considered a turn-off for developers not trained in formal methods.
- The absence of a standard constraint specification language to define process descriptions during the service development and composition stages limits knowledge base interchange and reuse.
- Contrary to hardware components configuration domain, the web service composition problem does not enjoy the comfort of having a comprehensive knowledge base. Thus formulating web service composition as a constraint satisfaction problem (CSP) is a complex problem by itself.
- Tools that help non-programmers to generate semantic description of services are not available.
We intend to apply a standard software engineering approach for the design and development of semantic web services. Based on this approach, we intend to build a framework for automatic web service composition based on CSP techniques. The aim of this project is to investigate upon and address the above mentioned issues.
Semantic Web (Berners-Lee, Hendler & Lassila 2001) technology offers the vision of Web of resources where each resource is annotated with machine interpretable descriptions. This capability would enable development of intelligent applications to perform a variety of different tasks on the resources automatically. Like any other resource that are part of the Semantic Web, Web services should also be annotated with machine interpretable descriptions – service descriptions that provide insight into the semantics of the service rather than just the standard port/parameter information described above, are referred to as Semantic Web Service. Figure 1 shows the descriptive associations of such a service.
Most of the approaches for semantic service definition and composition use OWL-S to define the service description and to define the ontologies within the service description. However, when applied to practical application scenarios, direct use of OWLS is still subject to a number of restrictions due to the in-progress nature of the approach (Balzer, Liebig & Wagner 2004), with issues arising during profile matchmaking and process execution. Rather than suggesting local workarounds to counter these issues we approach this problem from a model based software engineering perspective. We propose to use standard software engineering notations to author semantic service descriptions. We propose the use of UML and OCL to author the semantic description of service specifications. Our approach is based on existing proposals to use UML as an ontology language (Djuric 2004, Gasevic et al. 2005) but the extension to include OCL specifications results in higher expressiveness than traditional Semantic Web formalisms that have shown to exhibit a number of drawbacks. The resulting specifications also lend themselves directly to the composition task with constraint-based reasoning engines (Albert et al. 2005, Felfernig, Friedrich, Jannach & Zanker 2002). Our observations indicate that the use of UML and OCL combine ease of use, familiarity with traditional notation, and expressive power in one approach. Our vision of the Semantic Web protocol stack is shown in Figure 2.
Automated Discovery and Assisted Composition
Automated discovery and composition of Web services and the representation of service semantics required to automate these tasks are active research areas that play a large role in current work on service oriented architectures. The automated discovery of services based on their functionality is a crucial and active research area to realise the envisioned advantages of the Semantic Web such as functional reuse and automated composition of Web services. The desired matchmaking is outlined in Figure 3.
In our recent work, we examined a discovery approach that shortlists a set of services by determining consistency between service requests and service descriptions modelled in UML and OCL. The discovery procedure was then employed within a composition framework which was implemented as a Constraint Satisfaction Problem (CSP). Interactive algorithms to deduce concrete service compositions beginning with abstract requirements was presented. The architecture of our system is presented in Figure 4.