Visual Modelling of Semantic Services by Graph Transformation

Lead Research Organisation: University of Leicester
Department Name: Computer Science

Abstract

The vision of Web services, where functions like booking flights, buying books, making payments, etc. are available to be used programmatically by a machine, rather than manually by a human user, implies that programs should be able to locate and invoke required services dynamically (at runtime). Web services therefore follow the service-oriented architecture (SOA), which defines the roles of provider, requestor, and central discovery services. Providers advertise their offered services by publishing descriptions on a discovery service. When clients (requestors) are looking for a specific kind of service, they query this discovery service and receive a list of suitable candidates. After selecting the most suitable services, the client is able to use the service directly by contacting the provider. The distributed and dynamic nature of service-oriented applications raises new challenges for their development. - How to specify the functionality and behaviour both provided by a service and required by a client application, and verify that they match? - How to ensure interoperability between services and client applications when dynamic discovery and binding violates the assumptions underlying static verification and integration testing? - How to handle the fact that that, while services are agnostic of technologies used by requestor and provider, their implementations are integrated with the surrounding IT infrastructure? Solutions to these challenges generally fall into one of two categories.Data-driven approaches: Ontologies are used for describing services' input-output relation, or effects on their own data states, in terms of pre- and post conditions and invariants. For consumption by humans such conditions can be expressed in a high-level logical specification language, but for discovery and binding to happen automatically at runtime, specifications need to be in machine-readable form. Semantic web languages for services like OWL-S based on description logics satisfy this requirements.Process-driven approaches: Visual models (based on the Unified Modelling Language (UML) or the Business Process Modelling Notation (BPMN)) describe services' behaviour. Such models are transformed into XML-based descriptions (for example in WSDL or WS-BPEL) automatically. Such an approach provides alignment with mainstream software development practices, but due to the semi-formal character of visual models they cannot fully address interoperability issues. Formal process description methods (for example based on process calculi) are not directly used in practice, although they do inform the design of domain specific languages like WS-BPEL. In this proposal we suggest to combine the formal character of service descriptions based on description logics and process-oriented techniques with the intuitive visual nature of UML and the idea of an automatic translation between the two. In this, we do not only aim at producing descriptions at the model level and generating the logic-based representations, but also - to integrate better the specification of data (ontologies) with the modelling of behavior (processes);- support reasoning on the interoperability of services at the level of visual models, thus allowing a deeper understanding on behalf of domain experts of the mechanisms involved in matching and selecting services.

Publications

10 25 50