daniela berardi john domingue

345
1 2nd European Semantic Web Conference, Heraklion, Greece, May 2005 Carnegie Mellon University Katia Sycara Massimo Paolucci Christoph Bussler Emilia Cimpian Matthew Moran Michael Stollberg Michal Zaremba Liliana Cabral John Domingue Daniela Berardi Massimo Mecella

Upload: others

Post on 12-Sep-2021

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Daniela Berardi John Domingue

1

2nd European Semantic Web Conference, Heraklion, Greece, May 2005Carnegie Mellon

University

Katia Sycara

Massimo Paolucci

Christoph Bussler

Emilia Cimpian

Matthew Moran

Michael Stollberg

Michal Zaremba

Liliana Cabral

John Domingue

Daniela Berardi

Massimo Mecella

Page 2: Daniela Berardi John Domingue

2

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Agenda• Part I: Introduction to Semantic Web Services

• Part II: Semantic Web Service Ontologies– OWL-S – WSMO – differences & commonalities

Coffee Break: 10.30 – 11.00

• Part III: Addressing Semantic Web Service Challenges – Discovery – Composition

Lunch: 12.30 – 14.00

• Part IV: Semantic Web Service Tools & Systems– CMU OWL-S Browser – Service Composer – WSMX

Coffee Break: 15.30 – 16.00

• Part V: Hands-On Session

Page 3: Daniela Berardi John Domingue

3

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

PART I:

Introduction to Semantic Web Services

Michael Stollberg

Page 4: Daniela Berardi John Domingue

4

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Contents

• The vision of the Semantic Web

• Ontologies as the basic building block

• Current Web Service Technologies

• Vision and Challenges for Semantic Web Services

Page 5: Daniela Berardi John Domingue

5

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Static

– 500 million users – more than 3 billion pages

WWWURI, HTML, HTTP

The Vision

Page 6: Daniela Berardi John Domingue

6

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

WWWURI, HTML, HTTP

Serious Problems in• information finding,• information extracting,• information representing,• information interpreting and• and information maintaining.

Semantic WebRDF, RDF(S), OWLStatic

The Vision

Page 7: Daniela Berardi John Domingue

7

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

WWWURI, HTML, HTTP

Bringing the computer back as a device for computation

Semantic WebRDF, RDF(S), OWL

Dynamic Web ServicesUDDI, WSDL, SOAP

Static

The Vision

Page 8: Daniela Berardi John Domingue

8

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

WWWURI, HTML, HTTP

Bringing the web to its full potential

Semantic WebRDF, RDF(S), OWL

Dynamic Web ServicesUDDI, WSDL, SOAP

Static

Semantic WebServices

The Vision

Page 9: Daniela Berardi John Domingue

9

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

The Semantic Web • the next generation of the WWW

• information has machine-processable and machine-understandable semantics

• not a separate Web but an augmentation of the current one

• Ontologies as basic building block

Page 10: Daniela Berardi John Domingue

10

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Ontology Definition

formal, explicit specification of a shared conzeptualization

commonly accepted understanding

conceptual model of a domain

(ontological theory)

unambiguous terminology definitions

machine-readability with computational

semantics

Page 11: Daniela Berardi John Domingue

11

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Ontology TechnologyTo make the Semantic Web working we need:

• Ontology Languages:– expressivity – reasoning support – web compliance

• Ontology Reasoning: – large scale knowledge handling – fault-tolerant – stable & scalable inference machines

• Ontology Management Techniques: – editing and browsing – storage and retrieval – versioning and evolution Support

• Ontology Integration Techniques: – ontology mapping, alignment, merging – semantic interoperability determination

• and … Applications

Page 12: Daniela Berardi John Domingue

12

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Web Services • loosely coupled, reusable components

• encapsulate discrete functionality

• distributed

• programmatically accessible over standard internet protocols

• add new level of functionality on top of the current web

Page 13: Daniela Berardi John Domingue

13

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

The Promise of Web Servicesweb-based SOA as new system design paradigm

Page 14: Daniela Berardi John Domingue

14

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

WSDL • Web Service Description Language • W3C effort, WSDL 2 final construction phase

describes interface for consuming a Web Service:- Interface: operations (in- & output) - Access (protocol binding) - Endpoint (location of service)

Page 15: Daniela Berardi John Domingue

15

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

UDDI• Universal Description, Discovery, and Integration Protocol • OASIS driven standardization effort

Registry for Web Services:- provider - service information- technical access

Page 16: Daniela Berardi John Domingue

16

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

SOAP• Simple Object Access Protocol • W3C Recommendation

XML data transport:- sender / receiver- protocol binding- communication aspects- content

Page 17: Daniela Berardi John Domingue

17

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Lacks of Web Service Technology• current technologies allow usage of Web Services• but:

– only syntactical information descriptions – syntactic support for discovery, composition and execution=> Web Service usability, usage, and integration needs to be

inspected manually – no semantically marked up content / services– no support for the Semantic Web

=> current Web Service Technology Stack failed to realize the promise of Web Services

Page 18: Daniela Berardi John Domingue

18

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Semantic Web Technology

+

Web Service Technology

Semantic Web Services

=> Semantic Web Services as integrated solution for realizing the vision of the next generation of the Web

• allow machine supported data interpretation• ontologies as data model

automated discovery, selection, composition, and web-based execution of services

Page 19: Daniela Berardi John Domingue

19

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Semantic Web Services• define exhaustive description frameworks for

describing Web Services and related aspects (Web Service Description Ontologies)

• support ontologies as underlying data model to allow machine supported data interpretation (Semantic Web aspect)

• define semantically driven technologies for automation of the Web Service usage process (Web Service aspect)

Page 20: Daniela Berardi John Domingue

20

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Semantic Web ServicesUsage Process:• Publication: Make available the description of the capability

of a service • Discovery: Locate different services suitable for a given

task • Selection: Choose the most appropriate services among

the available ones • Composition: Combine services to achieve a goal• Mediation: Solve mismatches (data, protocol, process)

among the combined • Execution: Invoke services following programmatic

conventions

Page 21: Daniela Berardi John Domingue

21

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Semantic Web ServicesExecution support:

• Monitoring: Control the execution process

• Compensation: Provide transactional support and undo or mitigate unwanted effects

• Replacement: Facilitate the substitution of services by equivalent ones

• Auditing: Verify that service execution occurred in the expected way

Page 22: Daniela Berardi John Domingue

22

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

PART II:

Semantic Web Service OntologiesKatia Sycara

Michael StollbergDumitru Roman

Page 23: Daniela Berardi John Domingue

23

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Contents• OWL-S

– Upper Ontology

– Service Profile

– Process Model

– Service Grounding

• WSMO

– WSMO top level notions

– Choreography and Mediation

– Mediation

• Differences and Commonalities

Page 24: Daniela Berardi John Domingue

24

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

OWL-S

Katia Sycara

Page 25: Daniela Berardi John Domingue

25

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

OWL-S Ontology• OWL-S is an OWL ontology to describe Web services• OWL-S leverages on OWL to

– Support capability based discovery of Web services– Support automatic composition of Web Services– Support automatic invocation of Web services

Complete do not compete– OWL-S does not aim to replace the Web services standards

rather OWL-S attempts to provide a semantic layer • OWL-S relies on WSDL for Web service invocation (see Grounding)• OWL-s Expands UDDI for Web service discovery (OWL-S/UDDI

mapping)

Page 26: Daniela Berardi John Domingue

26

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

OWL-S Upper Ontology

• Mapping to WSDL• communication protocol (RPC, HTTP, …)• marshalling/serialization• transformation to and from XSD to OWL

• Control flow of the service•Black/Grey/Glass Box view

• Protocol Specification• Abstract Messages

•Capability specification•General features of the Service

• Quality of Service• Classification in Service

taxonomies

Page 27: Daniela Berardi John Domingue

27

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Service Profiles

Service Profile– Presented by a service.– Represents

what the service provides– Two main uses:

1. Advertisements of Web Services capabilities

2. Request of Web services with a given set of capabilities

Page 28: Daniela Berardi John Domingue

28

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

OWL-S Profile in a Nutshell• Describes Web service

– What capabilities it provides: • What transformation the service computes• Type of service and products

– General features such as• Agent providing the service• Security requirements• Quality guarantees of service

• Primary role: to assist discovery– Allows capability based search– Allows selection based on requirements of the requester

• Profile does not specify use/invocation

Page 29: Daniela Berardi John Domingue

29

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

OWL-S Service ProfileCapability Description

• Preconditions– Set of conditions that should hold prior to service invocation

• Inputs– Set of necessary inputs that the requester should provide to invoke the

service• Outputs

– Results that the requester should expect after interaction with the service provider is completed

• Effects– Set of statements that should hold true if the service is invoked

successfully.• Service type

– What kind of service is provided (eg selling vs distribution)• Product

– Product associated with the service (eg travel vs books vs auto parts)

Page 30: Daniela Berardi John Domingue

30

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

OWL-S Service ProfileAdditional Properties

• Security Parameters– Specify the security capabilities of a Web service (eg support

X509 Encryption)– Specify the security requirements of a Web service (eg a client

should be able to provide X509 Encryption)• Quality rating

– What level of service quality does the Web service provide?• Description with standard business taxonomies

– How would the service be classified in standard taxonomies such as UNSPSC or NAICS?

This is not a closed set, new properties can be added using existing ontologies

Page 31: Daniela Berardi John Domingue

31

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Process Model

• Process Model– Describes how a service

works: internal processes of the service

– Specifies service interaction protocol

– Specifies abstract messages: ontological type of information transmitted

• Facilitates– Web service invocation– Composition of Web services– Monitoring of interaction

Page 32: Daniela Berardi John Domingue

32

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Viewpoints of Process Model• Three viewpoints of a Web service

– Glass Box:• The Web service reveals all its internal structure• Which parts of the service it performs in-house, which one it

subcontracts, etc

– Black Box:• The Web service model does not reveal anything about the

internal working of the service• It just specifies what data it gathers and what data it sends back

– Grey Box:• The Web service selectively hides some parts of its Process

Model, while it publicizes others

Page 33: Daniela Berardi John Domingue

33

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Definition of Process• A Process represents a transformation (function). It is

characterized by four parameters– Inputs: the inputs that the process requires – Preconditions: the conditions that are required for the

process to run correctly– Outputs: the information that results from (and is

returned from) the execution of the process– Results: a process may have different outcomes

depending on some condition• Condition: under what condition the result occurs• Constraints on Outputs• Effects: real world changes resulting from the execution of the

process

Page 34: Daniela Berardi John Domingue

34

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Motivation for Results• Processes may terminate in exceptional states:

– The credit company may fail to charge the credit card– The book may be out of stock– The deliver of the goods may fail

• Results support modeling of non-deterministic outcomes of Web services– The condition specifies when an outcome is generated– Each outcome is characterized by

• a set of constraints on outputs • a set of effects

Page 35: Daniela Berardi John Domingue

35

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Example of Process<process:AtomicProcess rdf:ID="LogIn"><process:hasInput rdf:resource="#AcctName"/><process:hasInput rdf:resource="#Password"/><process:hasOutput rdf:resource="#Ack"/><process:hasPrecondition isMember(AccName)/><process:hasResult>

<process:Result><process:inCondition>

<expr:SWRL-Condition>correctLoginInfo(AccName,Password)

</expr:SWRL-Condition></process:inCondition><process:withOutput rdf:resource=“#Ack“>

<valueType rdr:resource=“#LoginAcceptMsg”></process:withOutput><process:hasEffect>

<expr:SWRL-Condition>loggedIn(AccName,Password)

</expr:SWRL-Condition></process:hasEffect>

</process:Result></process:hasResult>

</process:AtomicProcess>

Inputs / Outputs

Result

Condition

Effect

OutputConstraints

Precondition

Page 36: Daniela Berardi John Domingue

36

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Ontology of ProcessesProcess

Atomic

Simple

CompositeProvides abstraction, encapsulation etc.

Defines a workflow composed of process performs

Invokablebound to grounding

Page 37: Daniela Berardi John Domingue

37

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Process Model Organization• Process Model is described as a tree structure

– Composite processes are internal nodes– Simple and Atomic Processes are the leaves

• Simple processes represent an abstraction– Placeholders of processes that aren’t specified – Or that may be expressed in many different ways

• Atomic Processes correspond to the basic actions that the Web service performs– Hide the details of how the process is implemented– Correspond to WSDL operations

Page 38: Daniela Berardi John Domingue

38

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Composite Processes•Composite Processes specify how processes work together to compute a complex function•Composite processes define

1.Control FlowSpecify the temporal relations between the executions of the different sub-processes

2.Data FlowSpecify how the data produced by one process is transferred to another process

Page 39: Daniela Berardi John Domingue

39

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Example of Composite ProcessSequenceBookFlight

DepartArrive

FlightsAirline

Airline Flight

Perform

Get Flights Flight

Perform

SelectFlight

Flights

Control Flow LinksSpecify order of execution

Data-Flow LinksSpecify transfer of data

Perform statementsSpecify the execution of a process

Page 40: Daniela Berardi John Domingue

40

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Perform Construct• Perform provides invocation mechanism

– Specify context of process execution• input data flow• hooks for output data flow

• Distinction between definition and invocation of a process– Definition specifies the process’ I/P/R– Perform specify when the process is invoked

and with what parameters

Page 41: Daniela Berardi John Domingue

41

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Control Flow• Processes can be chained to form a workflow• OWL-S supports the following control flow constructs

– Sequence/Any-Order: represents a list of processes that are executed in sequence or arbitrary order

– Conditionals: if-then-else statements– Loops: while and repeat-until statements – Multithreading and synchronization: split process in

multiple threads, and rendezvous (joint) points– Non-deterministic choices: (arbitrarily) select one

process of a set

Page 42: Daniela Berardi John Domingue

42

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Data FlowDataflow allows information that is transferred from process

to process.Output→Input:

The information produced by one process is transferred to another in the same control construct

Input →Input:The information received by a composite process is transferred to

the sub-processes

Output→Output:The information produced by a subprocess is transferred to a

super-process

Page 43: Daniela Berardi John Domingue

43

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Process Model: take home lesson

• Service Model describes– Set of processes that define the operations

performed by the Web service– Control flow describing the temporal flow of

processes– Data flow describing the transfer of

information between sub-processes

Page 44: Daniela Berardi John Domingue

44

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Service Grounding

• Service Grounding– Provides a specification of service

access information.– Service Model + Grounding give

everything needed for using the service

– Builds upon WSDL to define message structure and physical binding layer

• Specifies:– communication protocols,

transport mechanisms, communication languages, etc.

Page 45: Daniela Berardi John Domingue

45

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Rationale of Service Grounding

• Provides a specification of service access information.

• Service Model + Grounding give everything needed for using the service – Service description is for reasoning about the service

• Decide what information to send and what to expect– Service Grounding is for message passing

• Generate outgoing messages, and get incoming messages• Mapping XML Schemata to OWL concepts

• Builds upon WSDL to define message structure and physical binding layer

Page 46: Daniela Berardi John Domingue

46

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Mapping OWL-S / WSDL 1.1• Operations

correspond to Atomic Processes

• Input/Outputmessages correspond to Inputs/Outputs of processes

Page 47: Daniela Berardi John Domingue

47

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Example of GroundingSequenceBookFlight

DepartArrive

FlightsAirline

Airline Flight

Perform

Get Flights Flight

Perform

SelectFlight

Flights

Get Flights OpDepartArrive

Flights

WSDL

AirlineFlightSelect

Flight opFlights

Page 48: Daniela Berardi John Domingue

48

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Result of using the Grounding• Invocation mechanism for OWL-S

– Invocation based on WSDL– Different types of invocation supported by WSDL can be used

with OWL-S• Clear separation between service description and

invocation/implementation– Service description is needed to reason about the service

• Decide how to use it• Decide how what information to send and what to expect

– Service implementation may be based on SOAP an XSD types– The crucial point is that the information that travels on the wires

and the information used in the ontologies is the same• Allows any web service to be represented using OWL-S

– For example: Amazon.com

Page 49: Daniela Berardi John Domingue

49

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Handling stateful vs stateless Web services

1. Stateless Web services• The server does not maintain the state of the

computation• Dataflow links specify how the client

communicate the state to the service2. Stateful Web services

• The service does maintain the state• No need of dataflow links since transfer of

information is opaque to the client

Page 50: Daniela Berardi John Domingue

50

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Representing Stateful Web services

SequenceBookFlight

FlightsAirline

Airline Flight

Perform

Get Flights Flight

PerformSelectFlight

Flights

Get Flights OpArrive Flights

ServerFlightSelect

Flight opFlights

Stateless: no information is transferred between the two operations

Client

Server

Page 51: Daniela Berardi John Domingue

51

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Representing Stateless Web services

SequenceBookFlight

FlightsAirline

Airline Flight

Perform

Get Flights Flight

PerformSelectFlight

Get Flights OpArrive Flights

ServerFlightSelect

Flight opFlights

Client

Stateful: information is recorded by the server, no need of transfer between the two operations

Page 52: Daniela Berardi John Domingue

52

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Conclusion OWL-S section• OWL-S provides a language for the description of Web

services– Service Profile provides description of capabilities of

Web Service• Allows capability-based discovery

– Process Model provides the description of how to use a Web service

• Allows automatic invocation of Web service– Service Grounding maps Atomic Processes into

WSDL operations• Allows separation between description and implementation• Supports description of arbitrary Web services

Page 53: Daniela Berardi John Domingue

53

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Web Service Modeling Ontology WSMO

Michael Stollberg

Page 54: Daniela Berardi John Domingue

54

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Outline• WSMO

– aims & objectives– working structure

• Design Principles • Top Level Notions

– Ontologies – Web Services– Goals– Mediators

Page 55: Daniela Berardi John Domingue

55

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

WSMO is ..

• a conceptual model for Semantic Web Services : – Ontology of core elements for Semantic Web Services – a formal description language (WSML) – execution environment (WSMX)

• … derived from and based on the Web Service Modeling Framework WSMF

• a SDK-Cluster Working Group (joint European research and development initiative)

Page 56: Daniela Berardi John Domingue

56

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

WSMO Working Groups

A Conceptual Model for SWS

A Formal Language for WSMO

A Rule-based Language for SWS

Execution Environment for WSMO

Page 57: Daniela Berardi John Domingue

57

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

• Web Compliance• Ontology-Based• Strict Decoupling• Centrality of Mediation• Ontological Role Separation• Description versus Implementation• Execution Semantics

WSMO Design Principles

Page 58: Daniela Berardi John Domingue

58

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

WSMO Top Level NotionsObjectives that a client wants toachieve by using Web Services

Provide the formally specified terminologyof the information used by all other components

Semantic description of Web Services: - Capability (functional)- Interfaces (usage)

Connectors between components with mediation facilities for handling heterogeneities

WSMO D2, version 1.2, 13 April 2005 (W3C submission)

Page 59: Daniela Berardi John Domingue

59

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Non-Functional Propertiesevery WSMO elements is described by properties that

contain relevant, non-functional aspects

• Dublin Core Metadata Set: – complete item description– used for resource management

• Versioning Information – evolution support

• Quality of Service Information – availability, stability

• Other – Owner, financial

Page 60: Daniela Berardi John Domingue

60

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Non-Functional Properties ListDublin Core Metadata

Contributor Coverage Creator Description Format Identifier Language Publisher Relation Rights Source Subject Title Type

Quality of Service Accuracy NetworkRelatedQoSPerformanceReliability RobustnessScalability Security Transactional Trust

Other Financial Owner TypeOfMatchVersion

Page 61: Daniela Berardi John Domingue

61

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

WSMO Ontologies

Provide the formally specified terminologyof the information used by all other components

Semantic description of Web Services: - Capability (functional)- Interfaces (usage)

Connectors between components with mediation facilities for handling heterogeneities

Objectives that a client wants toachieve by using Web Services

Page 62: Daniela Berardi John Domingue

62

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

• Ontologies are used as the ‘data model’ throughout WSMO– all WSMO element descriptions rely on ontologies– all data interchanged in Web Service usage are ontologies– Semantic information processing & ontology reasoning

• WSMO Ontology Language WSML– conceptual syntax for describing WSMO elements – logical language for axiomatic expressions (WSML Layering)

• WSMO Ontology Design– Modularization: import / re-using ontologies, modular approach for

ontology design – De-Coupling: heterogeneity handled by OO Mediators

Ontology Usage & Principles

Page 63: Daniela Berardi John Domingue

63

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

• Non functional properties (see before)• Imported Ontologies importing existing ontologies

where no heterogeneities arise• Used mediators OO Mediators (ontology import with

terminology mismatch handling)

Ontology Elements:Concepts set of concepts that belong to the ontology, incl.Attributes set of attributes that belong to a conceptRelations define interrelations between several conceptsFunctions special type of relation (unary range = return value) Instances set of instances that belong to the represented ontology

Axioms axiomatic expressions in ontology (logical statement)

Ontology Specification

Page 64: Daniela Berardi John Domingue

64

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

WSMO Web Services

Provide the formally specified terminologyof the information used by all other components

Semantic description of Web Services: - Capability (functional)- Interfaces (usage)

Connectors between components with mediation facilities for handling heterogeneities

Objectives that a client wants toachieve by using Web Services

Page 65: Daniela Berardi John Domingue

65

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

WSMO Web Service Description

Web ServiceImplementation(not of interest in Web Service Description)

Choreography --- Service Interfaces ---

Capability

functional description

WS

WS

- Advertising of Web Service- Support for WS Discovery

client-service interaction interface for consuming WS - External Visible

Behavior- Communication

Structure- ‘Grounding’

realization of functionality by aggregating other Web Services - functional

decomposition - WS composition

Non-functional Properties

DC + QoS + Version + financial

- complete item description- quality aspects - Web Service Management

WS

Orchestration

Page 66: Daniela Berardi John Domingue

66

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Capability Specification• Non functional properties • Imported Ontologies • Used mediators

– OO Mediator: importing ontologies with mismatch resolution – WG Mediator: link to a Goal wherefore service is not usable a priori

• Pre-conditions What a web service expects in order to be able to provide its service. They define conditions over the input.

• Assumptions Conditions on the state of the world that has to hold before the Web Service can be executed

• Post-conditions describes the result of the Web Service in relation to the input, and conditions on it

• Effects Conditions on the state of the world that hold after execution of the Web Service (i.e. changes in the state of the world)

Page 67: Daniela Berardi John Domingue

67

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Choreography & Orchestration• VTA example:

• Choreography = how to interact with the service to consume its functionality

• Orchestration = how service functionality is achieved by aggregating other Web Services

VTAService

Date

Time

Flight, Hotel

Error

Confirmation

Hotel Service

Flight Service

Date, Time

Hotel

Error

Date, Time

Flight

Error

When the service isrequested

When the service requests

Page 68: Daniela Berardi John Domingue

68

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Choreography Aspects

• External Visible Behavior– those aspects of the workflow of a Web Service where Interaction is

required – described by workflow constructs: sequence, split, loop, parallel

• Communication Structure– messages sent and received – their order (communicative behavior for service consumption)

• Grounding – executable communication technology for interaction – choreography related errors (e.g. input wrong, message timeout, etc.)

• Formal Model – reasoning on Web Service interfaces (service interoperability)– allow mediation support on Web Service interfaces

Interface for consuming Web Service

Page 69: Daniela Berardi John Domingue

69

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Orchestration Aspects

- decomposition of service functionality

- all service interaction via choreographies

Control Structure for aggregation of other Web Services

WS

Web S

ervice Business Logic

1

2

3

4

WS

State in Orchestration

Control Flow

Data Flow

Service Interaction

Page 70: Daniela Berardi John Domingue

70

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

WSMO Web Service Interfaces• service interfaces are concerned with service consumption

and interaction • Choreography and Orchestration as sub-concepts of

Service Interface • common requirements for service interface description:

1. represent the dynamics of information interchange during serviceconsumption and interaction

2. support ontologies as the underlying data model 3. appropriate communication technology for information interchange4. sound formal model / semantics of service interface specifications in

order to allow operations on them.

Page 71: Daniela Berardi John Domingue

71

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Service Interface Description • Ontologies as data model:

– all data elements interchanged are ontology instances – service interface = evolving ontology

• Abstract State Machines (ASM) as formal framework: – dynamics representation: high expressiveness & low ontological

commitment– core principles: state-based, state definition by formal algebra,

guarded transitions for state changes– overcome the “Frame Problem”

• further characteristics: – not restricted to any specific communication technology– ontology reasoning for service interoperability determination – basis for declarative mediation techniques on service interfaces

Page 72: Daniela Berardi John Domingue

72

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Service Interface Description Model• Vocabulary Ω:

– ontology schema(s) used in service interface description – usage for information interchange: in, out, shared, controlled

• States ω(Ω): – a stable status in the information space – defined by attribute values of ontology instances

• Guarded Transition GT(ω):– state transition – general structure: if (condition) then (action) – different for Choreography and Orchestration

Page 73: Daniela Berardi John Domingue

73

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Service Interface Example

Ωin hasValues concept A [att1 ofType Xatt2 ofType Y]

a memberOf A [att1 hasValue xatt2 hasValue y]

a memberOf A [att1 hasValue x,att2 hasValue y]

b memberOf B [att2 hasValue m]

IF (a memberOf A [att1 hasValue x ])

THEN (b memberOf B [att2 hasValue m ])

State ω1 Guarded Transition GT(ω1) State ω2

Ωout hasValues concept B [att1 ofType Watt2 ofType Z]

Vocabulary: - Concept A in Ωin- Concept B in Ωout

received ontology instance a

Communication Behavior of a Web Service

sent ontology instance b

Page 74: Daniela Berardi John Domingue

74

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Future Directions

Ontologies as data model:- every resource description based on ontologies- every data element interchanged is ontology instance

Formal description of service interfaces:- ASM-based approach - allows reasoning & mediation

workflow constructs as basis for describing service interfaces:- workflow based process models for describing behavior - on basis of generic workflow constructs (e.g. van der Aalst)

Choreography:- interaction of services / service and client - a „choreography interface“ describes the behavior of aWeb Service for client-service interaction for consuming the service

Orchestration:- how the functionality of a Web Service is achieved by aggregating other Web Services

- extends Choreography descriptions by control & data flow constructs between orchestrating WS and orchestrated WSs.

Grounding:- making service interfaces executable - currently grounding to WSDL

Conceptual models

User language- based on UML2 activity diagrams - graphical Tool for Editing & Browsing Service Interface Description

Page 75: Daniela Berardi John Domingue

75

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

WSMO Goals

Provide the formally specified terminologyof the information used by all other components

Semantic description of Web Services: - Capability (functional)- Interfaces (usage)

Connectors between components with mediation facilities for handling heterogeneities

Objectives that a client wants toachieve by using Web Services

Page 76: Daniela Berardi John Domingue

76

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Goals• Ontological De-coupling of Requester and Provider

• Goal-driven Approach, derived from AI rational agent approach- Requester formulates objective independently - ‘Intelligent’ mechanisms detect suitable services for solving the Goal- allows re-use of Services for different purposes

• Usage of Goals within Semantic Web Services– A Requester (human or machine) defines a Goal to be resolved – Web Service Discovery detects suitable Web Services for solving the

Goal automatically – Goal Resolution Management is realized in implementations

Page 77: Daniela Berardi John Domingue

77

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Goal Specification• Non functional properties • Imported Ontologies• Used mediators

– OO Mediators: importing ontologies with heterogeneity resolution – GG Mediator:

• Goal definition by reusing an already existing goal• allows definition of Goal Ontologies

• Requested Capability – describes service functionality expected to resolve the objective – defined as capability description from the requester perspective

• Requested Interface – describes communication behaviour supported by the requester for

consuming a Web Service (Choreography) – Restrictions / preferences on orchestrations of acceptable Web

Services

Page 78: Daniela Berardi John Domingue

78

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

WSMO Mediators

Provide the formally specified terminologyof the information used by all other components

Semantic description of Web Services: - Capability (functional)- Interfaces (usage)

Connectors between components with mediation facilities for handling heterogeneities

Objectives that a client wants toachieve by using Web Services

Page 79: Daniela Berardi John Domingue

79

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Mediation • Heterogeneity …

– Mismatches on structural / semantic / conceptual / level – Occur between different components that shall interoperate– Especially in distributed & open environments like the Internet

• Concept of Mediation (Wiederhold, 94): – Mediators as components that resolve mismatches– Declarative Approach:

• Semantic description of resources • ‘Intelligent’ mechanisms that resolve mismatches independent of content

– Mediation cannot be fully automated (integration decision)

• Levels of Mediation within Semantic Web Services (WSMF):(1) Data Level: mediate heterogeneous Data Sources (2) Protocol Level: mediate heterogeneous Communication Patterns (3) Process Level: mediate heterogeneous Business Processes

Page 80: Daniela Berardi John Domingue

80

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

WSMO Mediators Overview

Page 81: Daniela Berardi John Domingue

81

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Mediator StructureWSMO Mediator

uses a Mediation Service via

Source Component

Source Component

TargetComponent1 .. n

1

Mediation Services

- as a Goal - directly- optionally incl. Mediation

Page 82: Daniela Berardi John Domingue

82

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

OO Mediator - Example

OO MediatorMediation Service

Train ConnectionOntology (s1)

Purchase Ontology (s2)

Train Ticket Purchase Ontology

Mediation Services

Goal:“merge s1, s2 and s1.ticket subclassof s2.product”

Discovery

Merging 2 ontologies

Page 83: Daniela Berardi John Domingue

83

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

GG Mediators• Aim:

– Support specification of Goals by re-using existing Goals – Allow definition of Goal Ontologies (collection of pre-defined Goals)– Terminology mismatches handled by OO Mediators

• Example: Goal Refinement

GG MediatorMediation Service

Source Goal“Buy a ticket”

Target Goal “Buy a Train Ticket”

postcondition: “aTicket memberof trainticket”

Page 84: Daniela Berardi John Domingue

84

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

WG & WW Mediators• WG Mediators:

– link a Web Service to a Goal and resolve occurring mismatches – match Web Service and Goals that do not match a priori– handle terminology mismatches between Web Services and Goals⇒ broader range of Goals solvable by a Web Service

• WW Mediators:– enable interoperability of heterogeneous Web Services⇒ support automated collaboration between Web Services

– OO Mediators for terminology import with data level mediation– Protocol Mediation for establishing valid multi-party collaborations– Process Mediation for making Business Processes interoperable

Page 85: Daniela Berardi John Domingue

85

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

OWL-S and WSMO

Commonalities and Differences

Page 86: Daniela Berardi John Domingue

86

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Outline• Perspectives

• Relation of Ontology Elements

• Interoperability and Mediation

• Semantic Representation

Page 87: Daniela Berardi John Domingue

87

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

OWL-S Perspective• OWL-S is an ontology and a language to describe

Web services• guiding lines for the development of OWL-S

– Strong relation to Web Services standards• rather than proposing another WS standard, OWL-S aims at

enriching existing standards• OWL-S is grounded in WSDL and it has been mapped into UDDI

– Based on the Semantic Web• Ontologies provide conceptual framework to describe the domain of

Web services and an inference engine to reason about the domain• Ontologies are essential elements of interoperation between Web

services – Build upon 30 years of AI research on Knowledge

Representation and Planning

Page 88: Daniela Berardi John Domingue

88

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

WSMO Perspective• WSMO is a conceptual model for the core elements of

Semantic Web Services– core elements: Ontologies, Web Services, Goals, Mediators – ontology for precise, unambiguous, element description – language for semantic element description (WSML) – reference implementation (WSMX)

• Focus on solving the integration problem• Mediation as a key element• Ontologies as data model

– every resource description is based on ontologies– every data element interchanged is an ontology instance

• Based on Knowledge Engineering and B2B Integration experience

Page 89: Daniela Berardi John Domingue

89

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

OWL-S and WSMO

• Request– OWL-S uses Profiles to express existing

capabilities (advertisements) and desired capabilities (requests)

– WSMO separates provider (capabilities) and requester points of view (goals)

• Conceptually, OWL-S requested profile and WSMO goal are not exactly the same – Requested service profile vs requester objectives

OWL-S profile ≈ WSMO capability + goal + non-functional properties

Page 90: Daniela Berardi John Domingue

90

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

OWL-S and WSMO

• Perspective:– OWL-S Process Model describes operations performed by Web Service,

including consumption as well as aggregation – WSMO separates Choreography and Orchestration

• Formal Model:– OWL-S formal semantics has been developed in very different frameworks

such as Situation Calculus, Petri Nets, Pi-calculus– WSMO service interface description model with ASM-based formal semantics– OWL-S Process Model is extended by SWRL / FLOWS

both approaches are not finalized yet

OWL-S Process Model ≈ WSMO Service Interfaces

Page 91: Daniela Berardi John Domingue

91

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

• OWL-S provides default mapping to WSDL– clear separation between WS description and interface

implementation– other mappings could be used

• WSMO also defines a mapping to WSDL, but aims at an ontology-based grounding– avoid loss of ontological descriptions throughout service usage

process – ‘Triple-Spaced Computing’ as innovative communication

technology

OWL-S Grounding ≈ current WSMO Grounding

OWL-S and WSMO

Page 92: Daniela Berardi John Domingue

92

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Mediation and Interoperation• Interaction of Web services is bound to produce many forms

of mismatch– Data mismatch: the interacting parties do not agree on

the data format that they are using– Ontology mismatch: the interacting parties refer to

different ontologies– Protocols mismatch: the interacting parties expect

information at different times– Goals Mismatch: the interacting parties attempt to

achieve very different goals– Interpretations Mismatch: The interacting parties

interpret the same information in very different ways• These mismatches need to be reconciled for the

interoperation to succeed.• Mediators are the components that reconcile these

mismatches

Page 93: Daniela Berardi John Domingue

93

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Mediation in OWL-S and WSMO• OWL-S does not have an explicit notion of mediator

– Mediation is a by-product of the orchestration process• E.g. protocol mismatches are resolved by constructing a plan that

coordinates the activity of the Web services– …or it results from translation axioms that are available to the

Web services• It is not the mission of OWL-S to generate these axioms

• WSMO regards mediators as key conceptual elements– Different kinds of mediators:

• OO Mediators for ensuring semantic interoperability • GG, WG mediators to link Goals and Web Services • WW Mediators to establish service interoperability

– Reusable mediators– Mediation techniques under development

Page 94: Daniela Berardi John Domingue

94

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Semantic Representation• OWL-S and WSMO adopt a similar view on the need

of ontologies and explicit semanticsbut they rely on different logics

– OWL-S is based on OWL/SWRL• OWL represent taxonomical knowledge• SWRL provides inference rules• FLOWS as formal model for process model

– WSMO is based on WSML a family of languages with a common basis for compatibility and extensions in the direction of Description Logics and Logic Programming

Page 95: Daniela Berardi John Domingue

95

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

OWL vs WSML

• WSML aims at overcoming deficiencies of OWL• Relation between WSML and OWL+SWRL to be completed

OWL Lite

OWL DL

OWL Full

WSML Flight

WSML DL

WSML Core

WSML Rule

WSML Full

Description Logics

full RDF(S) support

subset

Description Logics

Logic Programming

First Order Logic

Page 96: Daniela Berardi John Domingue

96

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Summary

Grounding(WSDL / SOAP, ontology-based)

Service Interfaces (Choreography +

Orchestration)

Goals and Web Services

(capability)

WSMO

WSDL/SOAPGrounding+ WSDL/SOAP

InvocationHow to invoke

BPEL4WSProcess ModelConsumption &

Interaction How to consume & realize

UDDI APIProfileDiscoveryWhat it does

current Web Service technologiesOWL-S

Page 97: Daniela Berardi John Domingue

97

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

PART III:

Addressing Semantic Web Service Challenges

Michael StollbergDaniela Berardi

Page 98: Daniela Berardi John Domingue

98

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Contents

• Aspects of Semantic Web Services

• Discovery

– Problem of Discovery

– Existing approaches overview

• Composition

– Problem of Composition

– Existing approaches overview

Page 99: Daniela Berardi John Domingue

99

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Challenges• Web services as loosely coupled components that

shall interoperate dynamically and automatically • Techniques required for:

– Discovery• How are Web services found and selected?

– Composition• How to aggregate Web Services into a complex

functionality?– Conversation

• How to ensure automated interaction of Web Services? – Invocation

• How to access and invoke Semantic Web Services?– Mediation and Interoperability

• How are data and protocol mismatches resolved?

Page 100: Daniela Berardi John Domingue

100

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Discovery Problems & Approaches Overview

Michael Stollberg

Page 101: Daniela Berardi John Domingue

101

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Outline • Aspects of Discovery • Terminology • Discovery Process• Discovery Techniques

– keyword-word based retrieval– controlled vocabulary / pre-filtering

• Semantic Discovery – Matchmaking Notions – Approaches & Prototypes

Page 102: Daniela Berardi John Domingue

102

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Aspects of Discoveryfind appropriate Web Service for automatically

resolving the objective of a requester

• Aims:– high precision discovery – maximal automation – effective discoverer architectures

• Requirements: – infrastructure that allows storage and retrieval of

information about Web services – description of Web services functionality – description of requests or goals– algorithms for matching requesters for capabilities with the

corresponding providers

Page 103: Daniela Berardi John Domingue

103

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Terminology • Web Services:

– abstract Web Services• provides access to concrete Web Services • has a description

– concrete Web Services• a concrete execution of a Web Service with given input

values• corresponds to an abstract Web Service

• Goals / Requests: – predefined goals (Goal Templates)

• generic structure of user requests • ease goal / request creation by users • defined in Goal Ontologies

– concrete goals (Goal Instances)• concrete objectives • serve as client for automated service usage

based on “Conceptual Architecture for Semantic Web Services”, C. Preist, ISWC 2004

Page 104: Daniela Berardi John Domingue

104

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Overall Discovery Process

Goal Template

Requester Desire

Selected Goal Template

Concrete Goal

abstract WS

usable abstract Web Services

GoalDiscovery

Goal Refinement

Abstract Service Discovery

Concrete Web Service

ease

of g

oal

desc

riptio

nef

ficie

ntfil

terin

gac

cura

cy

Goal Repository

Service Repository

Concrete Service Discovery & Selection

Keller, U.; Lara, R.; Lausen, H.; Polleres, A.; Fensel, D.: AutomaticLocation of Services. In Proc. of the 2nd European Semantic Web

Symposium (ESWS2005), Heraklion, Crete, 2005.

Page 105: Daniela Berardi John Domingue

105

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Discovery Techniques • different techniques available

– trade-off: ease-of-provision <-> accuracy – resource descriptions & matchmaking algorithms

Key Word Matching match natural language key words in resource descriptions

Controlled Vocabularyontology-based key word matching

Semantic Matchmaking … what Semantic Web Services aim at

Ease

of provision

Possible

Accuracy

Page 106: Daniela Berardi John Domingue

106

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Keyword-based retrieval: UDDI • Service Information by:

– provider – services + binding

templates– categories

• T-Models allow creating specific information models on resources

• standard API for finding & retrieving information on services and providers

=> allows finding all information on available Web Service

=> Web Service usage / integration to be done manually

Page 107: Daniela Berardi John Domingue

107

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Semantic Web Services in UDDI • Mapping semantic

resource descriptions into UDDI

• OWL-S Service Profile mapping to UDDI

• WSMO elements to UDDI mapping (for all top level elements)

⇒ mapping semantic descriptions to syntactic repository

⇒ allows retrieval of structural information

M. Paolucci, T. Kawamura, T. Payne, and K. Sycara: Importing the Semantic Web into UDDI. In Proc. of E-Services and the Semantic Web Workshop. Herzog, R.; Lausen, H.; Roman, D.; Zugmann, P.: WSMO Registry. WSMO Working Draft D10 v0.1, 26 April 2004.

Page 108: Daniela Berardi John Domingue

108

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Controlled Vocabulary

OWL-S Profile Hierarchies• hierarchy of Web Services

– functional similarities (domain, in- / outputs) – allows pre-filtering of services on basis of categorization

Web Services

E-commerce

Book Selling

Airline Ticketing

Ticketing

Event Ticketing

Information

Web SearchWeather

http://www.daml.org/services/owl-s/1.0/ProfileHierarchy.owl

Page 109: Daniela Berardi John Domingue

109

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Controlled Vocabulary

WSMO non-functional properties • Ontology keywords in non-functional properties

– dc#subject contains main ontology concepts related to Web Service

– allows pre-filtering similar to OWL-S Profile Hierarchy, but on basis on ontologies (“controlled vocabulary”)

• Example– a Web Service for selling train tickets in Austria

dc#subject hasValue _tc#trainticket, po#purchase, loc#austria

– does not precisely describe Web Service functionality => accuracy of discovery result meager

Lara, R., Lausen, H.; Toma, I.: (Eds): WSMX Discovery. WSMX Working Draft D10 v0.2, 07 March 2005.

Page 110: Daniela Berardi John Domingue

110

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Semantic Matchmaking usability determination on basis of

precise semantic descriptions

• OWL-S Profile provides capability description & request– Functional capabilities (what the Web services does)– Quality parameters (how the Web service does it) – Capability description & request are both Profile-based– OWL-S reliance on OWL provides basis for semantic

matching

• WSMO separates requester and provider viewpoints– WSMO goals describe requester objectives– WSMO capabilities describe WS functionality– Non-functional properties used for security, trust, etc.

Page 111: Daniela Berardi John Domingue

111

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

OWL-S Profile Matching• Adverstisement (service provider) and request

described as OWL-S Service Profiles• Matching inputs and outputs of

advertisement and request• Five degrees of match:

– Exact– PlugIn R ⊆ A– Subsumed A ⊆ R– Intersection ¬(A ⎡⎤ R⊆⊥)– Fail when disjoint A ⎡⎤ R⊆⊥

• this is ontology-subsumption matching

Thing

Vehicle

Car Truck

SedanCoupe

subs

ume

plug

-inex

act

Mid-SizeLuxury

Price

M. Paolucci, T. Kawamura, T. Payne, and K. Sycara: Semantic matching of web services capabilities. Proceedings of the First International Semantic Web Conference, Springer-Verlag, 2002; pp 333-347. Li, L. and Horrocks, I.: A software framework for matchmaking based on semantic web technology. In Proc. of the 12th International Conference on the World Wide Web, Budapest, Hungary, May 2003.

Page 112: Daniela Berardi John Domingue

112

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

WSMO Capabilities: Set-based Modeling

Information Space all possible instances of used ontologies

• capability as state-relation (pre- & post state of service usage)• each capability description element restricts the information

space to the set of possible instances that satisfy the element • used in both goals and service descriptions

Assumption Effect

Precondition Postcondition

shared variablescomputational

non-computational

pre-state post-state

Page 113: Daniela Berardi John Domingue

113

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Matchmaking Notions & IntentionsExact Match:

G, WS, O, M ∀x. (G(x) <=> WS(x) )

PlugIn Match: G, WS, O, M ∀x. (G(x) => WS(x) )

Subsumption Match: G, WS, O, M ∀x. (G(x) <= WS(x) )

Intersection Match: G, WS, O, M ∃x. (G(x) ∧ WS(x) )

Non Match: G, WS, O, M ¬∃x. (G(x) ∧ WS(x) )

= G = WS

X

Keller, U.; Lara, R.; Polleres, A. (Eds): WSMO Web Service Discovery. WSML Working Draft D5.1, 12 Nov 2004.

Page 114: Daniela Berardi John Domingue

114

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Discovery Approach• Matchmaking Notion to be used defined for each goal

capability element • Basic Procedure:

Goal Capability Web Service Capability

Assumption

Precondition

Effect

Postcondition

Assumption

Precondition

Effect

Postcondition

Plug-In

Exact

Intersection

Exact

valid pre-state?

valid post-state?

abort

yesno

abortyes

no

Match

Page 115: Daniela Berardi John Domingue

115

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Prototype with TA/Flora2• Realization

– F-Logic Reasoner with Transaction Logic Support – Resource Modeling

• Service Capability: set of rules for each element • Goal Capability: pre-state as facts, post-state as queries

– State: model of a logical theory (facts & rules) – State-Transitions: Update of the logical theory

• Insertion & Deletion of Facts and/or Rules• Matchmaking on basis of current state

M. Kifer, R. Lara, A. Polleres, C. Zhao, U. Keller, H. Lausen and D. Fensel: A Logical Framework for Web Service Discovery. Proc. 1st. Intl. Workshop SWS'2004 at ISWC 2004,Hiroshima, Japan, November 8, 2004, CEUR Workshop Proceedings, ISSN 1613-0073

Pre state(Pre, A)

Post state(Post, E)

2. hypothetical execution

Goal

1. vaild pre-state?

3. vaild post-state?

Pre state(Pre, A)

Post state(Post, E)

Web Service

• Procedure: 1. Goal pre-state satisfies Service pre-state? 2. Insert Goal pre-state into Knowledge Base (KB) 3. Can KB satisfy Service post-state (hypoth. execution)?4. If yes, can Service post-state satisfy Goal post-state?

Page 116: Daniela Berardi John Domingue

116

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Prototype with VAMPIRE• Realization

– FOL Theorem Prover – Universe as Knowledge Definition:

• ontology schemas (concepts, relations, axioms) • generic instances for all concepts and relations

– Matchmaking: Proof Obligations • Goal and Service descriptions as logical theories • Matchmaking Notions as Proof Obligations

– not bound to DL / LP reasoning support

• Universe Definition:– supports matchmaking without knowledge

creation / insertion at runtime – handling of incomplete facts (modeling

intention ≠ semantics in logics) Stollberg, M.; Keller, U.; Fensel. D.: Partner and Service Discovery for Collaboration on the Semantic Web. Proc. 3rd Intl. Conference on Web Services (ICWS 2005), Orlando, Florida, July 2005.

Generic Instance

Incomplete Facts

concept Person [age ofType integersex ofType string]

?x memberOf Person[age hasValue ?A]and ?A = 80 .

Ontology

Goal

Page 117: Daniela Berardi John Domingue

117

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Conclusions• Discovery as central Semantic Web Services technology • Approaches from OWL-S and WSMO are converging

• Integrated Discoverer Architectures admired:

Resource Repository (UDDI or other)

Keyword-/ Classification-based Filtering

Controlled Vocabulary Filtering

Semantic Matchmaking

usable Web Service

efficient narrowing of search space (relevant services to be inspected)

retrieve SerivceDescriptions

invoke Web Serivce

Page 118: Daniela Berardi John Domingue

118

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Automatic Service Composition:A Conceptual Perspective

Daniela Berardi

based on joint work with Diego Calvanese, Giuseppe De Giacomo, Maurizio Lenzerini, Massimo Mecella

Page 119: Daniela Berardi John Domingue

119

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Composition

• Deals with the implementation of anapplication (in turn offered as a service) whose application logic involves the invocation of operations offered by otherservices– The new service is the composite service– The invoked services are the component

services

Page 120: Daniela Berardi John Domingue

120

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Synthesis and Orchestration

• (Composition) Synthesis: building the specification of the composite service (i.e., the composition schema)– Manual– Automatic

• Orchestration: the run-time management of the composite service (invoking otherservices, scheduling the different steps, etc.)– Composition schema is the “program” to be

executed– Similarities with WfMSs (Workflow Management

Systems)

Page 121: Daniela Berardi John Domingue

121

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Composition Schema

• A composition schema specifies the “process” of the composite service– The “workflow” of the service

• Different clients, by interacting with the composite service, satisfy their specificneeds (reach their goals)– A specific execution of the composition

schema for a given client is anorchestration instance

Page 122: Daniela Berardi John Domingue

122

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

functionalrequirementsof the target service

non-functionalrequirementsof the target service

Synthesis

availableservice 1non-

functionalfeatures

functionalfeatures

servicedescriptions

availableservice 1availableservice 1non-

functionalfeatures

functionalfeatures

servicedescriptions

… … …

specification of the process of the composite service

Orchestration

Monitoring

availableserviceinvocation

clientclient

target serviceinvocation

additionalrequirements fororchestration

availableservice nnon-

functionalfeatures

functionalfeatures

servicedescriptions

availableservice navailableservice nnon-

functionalfeatures

functionalfeatures

servicedescriptions

Service Composition System

Page 123: Daniela Berardi John Domingue

123

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

1. Composition Synthesis:Input:– client request– set of available services

Output:– specification of composite service

2. Orchestration:Input: – specification of composite service

Output: – coordination of available services

according to the composition schema– data flow and control flow monitoring

Service CompositionHow to model client request ?

How to model available services ?

How to orchestrate the composite service ?

How to model the composite service ?

Page 124: Daniela Berardi John Domingue

124

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Service Description

• Services export a view of their behavior– I/O interface

• Data Access– focus on data– for information gathering

• Atomic Actions– focus on actions– world altering services

– Complex Behavioral Description(typically represented using finite states, e.g., TSs)

information oriented services

services asatomic actions

services asprocesses

Page 125: Daniela Berardi John Domingue

125

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Composition as (classical)

planning

The Whole Picture

Knoblock’sgroup

Traverso’sgroup

The Roman group

Stat

ics

of t

he s

yste

m

Dynamics of component services

Dynamics o

f target s

ervice

Diagram inspiredfrom Hull&Su 2004 SIGMOD tutorial

McIlraith’sgroup

Hull’s group

Page 126: Daniela Berardi John Domingue

126

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Key Dimensions in Service Composition (1)

1. Statics of the composition system(i.e., static semantics):

– e.g, ontologies of services (for sharing semantics of data/information), inputs and outputs, etc.

2. Dynamics of component services(i.e., dynamic semantics, process):

– e.g., behavioral features, complex forms of dataflow, transactional attitudes, adaptability to varyingcircumstances

Page 127: Daniela Berardi John Domingue

127

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

3. Dynamics of the target service(i.e., dynamic semantics, process)

The target service exposed as:– single step– (set of) sequencial steps– (set of) conditional steps– while/loops, running batch– while/loops, running under an external

control

atomicaction

process

Key Dimensions in Service Composition (2)

Page 128: Daniela Berardi John Domingue

128

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Key Dimensions in Service Composition: the 4thdimension

4. Degree of (in)completeness in thespecification of:

– Static Aspects (of the composition system)– Dynamic Aspects (of component services)– Target service specification

• Note: Orthogonal to previous dimensions

For simplicitynot shown in the following

slides

Page 129: Daniela Berardi John Domingue

129

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

What is Addressed from the Technical Point of View?

• Automatic composition techniques?– Which formal tools?– Sound and complete techniques?– Techniques/Problem investigated from

computational point of view?

Page 130: Daniela Berardi John Domingue

130

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Analyzed Works

• Knoblock’s group (information oriented services)

• Composition as Planning (services as atomic actions)

• Traverso’s group• McIlraith’s group• Hull’s group• The Roman group

as called by Rick Hull in his SIGMOD 2004 tutorial

(services as processes)

Page 131: Daniela Berardi John Domingue

131

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Knoblock’s Group

• available service: data query– basic idea: informative services as views over data

sources– each service described in terms of I/O parameters (of

course, the latter being provided by the data source), binding patterns and additional constraints on the source

• client request: – data query, expressed in terms of inputs provided by

the client and requested outputs

Page 132: Daniela Berardi John Domingue

132

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Knoblock’s Group

• service composition problem: – Input: (i) available services modeled as data-

sources, and (ii) client request as user query– Output: (automatically obtained) composite service

as integration plan for a generalized user query, so that all the user queries that differ only for intensional input values can be answered by the same (composite) service. Integration plan as asequence of source queries, taking binding pattern into account

Page 133: Daniela Berardi John Domingue

133

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Knoblock’s Group

Knoblock’sgroup

Stat

ics

of t

he s

yste

m

Dynamics of component services

Dynamics o

f target s

ervice

Page 134: Daniela Berardi John Domingue

134

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Composition as Planning

• available services: atomic actions • client request: client (propositional) goal• service composition problem: planning problem

– Input: (i) client goal (also encodes initial condition)(ii) available services as atomic actions

– Output: composite service as a (possibly conditional) plan, i.e., sequence of actions that transform the initial state into a state satisfying the goal.• Sirin, Parsia, Wu, Hendler & Nau [Sirin etal ICWS03] • ICAPS 2003 Planning for Web Services workshop [P4WS03]• ICAPS 2004 Planning for Web and Grid Services workshop [P4WGS04]

• NOTE: the client has not influence over the control flow of the composite service

Page 135: Daniela Berardi John Domingue

135

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Example (1)• Component Services

– S1: True → S1:bookFlight FlightBooked ∧ MayBookLimoMayBookLimo → S1:bookLimo LimoBooked

– S2: True → S2:bookHotel HotelBookedHotelBooked → S2:bookShuttle ShuttleBooked

– S3: True → S3:bookEvent EventBooked

• Ontology:– TravelSettledUp ´ FlightBooked ∧ HotelBooked ∧ EventBooked– CommutingSettled ´ ShuttleBooked ∨ LimoBooked ∨

TaxiAvailablilityChecked– ...

• Client Service Request:–– Find a composition of the actions (i.e., a sequence, a program uFind a composition of the actions (i.e., a sequence, a program using sing

such actions as basic instructions) such that a given property isuch actions as basic instructions) such that a given property is s fulfilledfulfilled

Page 136: Daniela Berardi John Domingue

136

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Example (2)• Component Services

– S1: True → S1:bookFlight FlightBooked ∧ MayBookLimoMayBookLimo → S1:bookLimo LimoBooked

– S2: True → S2:bookHotel HotelBookedHotelBooked → S2:bookShuttle ShuttleBooked

– S3: True → S3:bookEvent EventBooked

• Ontology:– TravelSettledUp ´ FlightBooked ∧ HotelBooked ∧ EventBooked– CommutingSettled ´ ShuttleBooked ∨ LimoBooked ∨

TaxiAvailablilityChecked– ...

• Client Service Request:–– Starting from: Starting from: ¬¬FlightBookedFlightBooked ∧∧ ¬¬ HotelBookedHotelBooked ∧∧

¬¬EventBookedEventBooked ∧∧ ¬¬CommutingSettledCommutingSettled–– Achieve: Achieve: TravelSettledUpTravelSettledUp ∧∧ CommutingSettledCommutingSettled

Page 137: Daniela Berardi John Domingue

137

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Example (3)• Component Services

– S1: True → S1:bookFlight FlightBooked ∧ MayBookLimoMayBookLimo → S1:bookLimo LimoBooked

– S2: True → S2:bookHotel HotelBookedHotelBooked → S2:bookShuttle ShuttleBooked

– S3: True → S3:bookEvent EventBooked

• Ontology:– TravelSettledUp ´ FlightBooked ∧ HotelBooked ∧ EventBooked– CommutingSettled ´ ShuttleBooked ∨ LimoBooked ∨ TaxiAvailablilityChecked– ...

• Client Service Request:Starting from:Starting from:¬¬FlightBookedFlightBooked ∧∧ ¬¬ HotelBookedHotelBooked ∧∧ ¬¬EventBookedEventBooked ∧∧ ¬¬CommutingSettledCommutingSettled

achieve: achieve: TravelSettedUpTravelSettedUp ∧∧ CommutingSettledCommutingSettled

• Compositions:– S1:bookFlight; S1:bookLimo; S2:bookHotel; S3:bookEvent– S3:bookEvent; S2:bookHotel; S1:bookFlight; S2:bookShuttle

Page 138: Daniela Berardi John Domingue

138

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Another Example (1)• Component Services:

– S1: Registered → S1:bookFlight FlightBooked¬Registered → S1:register Registered

– S2: True → S2:bookHotel HotelBookedHotelBooked → S2:bookShuttle ShuttleBooked

– S3: True → S3:bookEvent EventBooked

• Ontology:– TravelSettedUp ´ FlightBooked ∧ HotelBooked ∧ EventBooked

• Client Service Request:Starting from: Starting from:

¬¬FlightBookedFlightBooked ∧∧ ¬¬ HotelBookedHotelBooked ∧∧ ¬¬EventBookedEventBookedAchieve: Achieve:

TravelSettedUpTravelSettedUp

Page 139: Daniela Berardi John Domingue

139

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Another Example (2)Client Service Request:

–– Starting from: Starting from: ¬¬FlightBookedFlightBooked ∧∧ ¬¬ HotelBookedHotelBooked ∧∧ ¬¬EventBookedEventBooked–– Achieve: Achieve: TravelSettedUpTravelSettedUp

What about Registered? The client does not know whether he/she/it is registered or not.The composition must resolve this at runtime:

if (¬Registered)S1:register;

S1:bookFlight; S2:bookHotel; S3:bookEvent

Page 140: Daniela Berardi John Domingue

140

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Composition as Planning

Knoblock’sgroup

Composition as (classical)

planning

Stat

ics

of t

he s

yste

m

Dynamics of component services

Dynamics o

f target s

ervice

Page 141: Daniela Berardi John Domingue

141

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Planning is a Rich Area!!!• Sequential Planning (plans are sequences of actions)• Conditional Planning (plans are programs with if’s and

while’s)• Conformant Planning (plans the work in spite of

incomplete -non observable- information)• Knowledge Producing Actions/Sensing (distinction

between truth and knowledge)• Plan Monitoring• Interleaving Deliberation and Execution• Form of the Goals:

– Achieve something– Achieve something while keeping something else– Temporal goals– Main goal + exception handling

Page 142: Daniela Berardi John Domingue

142

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Traverso’s Group• available services:

– non-deterministic transition systems characterized by a set of initial states and by a transition relation that defines how the execution of each action leads from one state to a set of states

– among such services, one represents the client

• client request (called global goal): – it specifies a main execution to follow, plus some side

paths that are typically used to resolve exceptional circumstances e.g., Do Φ else Try Ψ

Page 143: Daniela Berardi John Domingue

143

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Traverso’s Group• service composition problem: (extended)

planning problem– Input: (i) a set of services, including the one

representing the client (behavior), and (ii) the global goal,

– Output: a plan that specifies how to coordinate the execution of various services in order to realize the global goal.

• NOTE: – the composition is not tailored towards satisfying

completely the client requested behavior, but concerns with the global behavior of the system in which some client desired executions may happen not to be fulfilled

Page 144: Daniela Berardi John Domingue

144

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Traverso’s Group

Knoblock’sgroup

Composition as (classical)

planning

Stat

ics

of t

he s

yste

m

Dynamics of component services

Dynamics o

f target s

ervice Traverso’s

group

Page 145: Daniela Berardi John Domingue

145

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

McIlraith’s Group

• both available and composite service: behavioral description seen as procedures invokable by clients– Golog procedure, atomically executed, i.e., seen by

its client as an atomic Situation Calculus action, presenting an I/O interface

– each service stored in an OWL-S ontology

Page 146: Daniela Berardi John Domingue

146

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

McIlraith’s Group

• client request: – skeleton of a Golog procedure expressing also client

constraints and preferences• service composition problem:

– Input: (i) OWL-S ontology of services as atomic actions, and (ii) client request

– Output: Golog procedure obtained by automaticallyinstantiating the client request with servicescontained in the ontology, by also taking clientpreferences and constraints into account

• NOTE: the client has not influence over the control flow of the composite service

Page 147: Daniela Berardi John Domingue

147

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

McIlraith’s Group

Knoblock’sgroup

Composition as (classical)

planning

Stat

ics

of t

he s

yste

m

Dynamics of component services

Dynamics o

f target s

ervice Traverso’s

group

McIlraith’sgroup

Page 148: Daniela Berardi John Domingue

148

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Hull’s Group

• both available and composite service (peer): behavioral description– Mealy machine, that exchanges messages with other

peers according to a predefined communicationtopology (channels among peers)

– peers equipped with (bounded) queue to store messages received but not yet processed

– Conversation: sequence of messages exchanged by peers

– At each step, a peer can either (i) send a message, or (ii) receive a message, or (iii) consume a message from the queue, or (iv) perform an empty move, by just changing state

Page 149: Daniela Berardi John Domingue

149

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Hull’s Group

• Choreography mapping problem:– Input: (i) a desired global behavior (i.e., set of

desired conversations) as a Linear Temporal Logic formula, and (ii) an infrastructure (a set of channels, a set of peer names and a set of messages)

– Output: Mealy machines (automatically obtained) forall the peers such that their conversations are compliant with the LTL specification

Page 150: Daniela Berardi John Domingue

150

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

McIlraith’sgroup

Hull’s Group

Knoblock’sgroup

Composition as (classical)

planning

Stat

ics

of t

he s

yste

m

Dynamics of component services

Dynamics o

f target s

ervice Traverso’s

group

Hull’s group

Page 151: Daniela Berardi John Domingue

151

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

The Roman Group

• available service: behavioral description– service as an interactive program: at each step it

presents the client with a set of actions among which to choose the next one to be executed

– client choice depends on outcome of previously executed actions, but the rationale behind this choice depends entirely on the client

– behavior modeled by a finite state transition system, each transition being labeled by a deterministic (atomic) action, seen as the abstraction of the effective input/output messages and operations offered by the service

Page 152: Daniela Berardi John Domingue

152

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

The Roman Group

• client request (target service):– set of executions organized in a (finite state) transition

system of the activities he is interested in doing• service composition problem:

– Input: (i) finite state transition system of availableservices, and (ii) finite state transition system of target service

– Output: (automatically obtained) composite service that realizes the client request, such that each action of the target service is delegated to at least one available service, in accordance with the behavior of such service.

• NOTE: the client “strongly” influence the composite service control flow

Page 153: Daniela Berardi John Domingue

153

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Composition as (classical)

planning

The Roman Group

Knoblock’sgroup

Traverso’sgroup

Hull’s group

Stat

ics

of t

he s

yste

m

Dynamics of component services

Dynamics o

f target s

ervice

The Roman group

McIlraith’sgroup

Page 154: Daniela Berardi John Domingue

154

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Composition as (classical)

planning

The Whole Picture

Knoblock’sgroup

Traverso’sgroup

The Roman group

Stat

ics

of t

he s

yste

m

Dynamics of component services

Dynamics o

f target s

ervice

McIlraith’sgroup

Hull’s group

Page 155: Daniela Berardi John Domingue

155

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

PART IV:

Semantic Web ServiceTools & Systems

Katia Sycara Massimo MecellaEmilia Cimpian

Page 156: Daniela Berardi John Domingue

156

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Contents

• CMU OWL-S IDE

• Composer (Rome)

• WSMX

Page 157: Daniela Berardi John Domingue

157

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

OWL-S IDE (CMU)

Katia Sycara

Integration of WS implementation, deployment, discovery, invocation

and verification

Page 158: Daniela Berardi John Domingue

158

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

WS Development and invocation• Web Service Development

– Implement Web service– Produce WSDL and OWL-S WS description– Deploy Web service

• Advertise to available UDDI• Make service available for invocation

• Web Service invocation on client side– Find Web service in UDDI– Translate internal data representation to WS data

representation– Invoke Web service consistently with specification of OWL-S

Process Model

• All descriptions should fit together otherwise interaction with Web service fails

Page 159: Daniela Berardi John Domingue

159

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Integrated WS Development cycle• OWL-S IDE aims at automating WS-

Development and invocation cycle– Based on Eclipse to support WS

programmers– (Semi) Automated generation of WSDL and

OWL-S descriptions– Consistency checking– Automated publication with UDDI– Integrated Semantic discovery in UDDI– Automated generation of client code

Page 160: Daniela Berardi John Domingue

160

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Overview OWL-S IDE

OWLOWL--S2UDDIS2UDDIConverterConverterProfileProfile

ProcessProcess

WSDL2OWLWSDL2OWL--SSConverterConverter

OWLOWL--S APIS API

OWLOWL--S VMS VM

WSDLWSDLCodeCode

JavaJavaCodeCode

PublishPublish UDDI PortUDDI PortInquiryInquiry UDDI PortUDDI Port

Matching Engine

Green PagesBusiness Description

Yellow PagesService Properties

White PagesPorts and Bindins

Business RegistryBusiness Registry

OWL inside

OWL inside

Capability Capability PortPort

Java Code

Generated OWL-S GroundingGrounding

Embed guided generation of WSDL and schematic OWL-S directly from Java exploiting Java2WSDL and WSDL2OWL-S tools

OWL-S VMprovides an execution environment for OWL-S Web services

Automatic publication, inquiry and capability-based discovery with Semantic UDDI

OWL-S Editor integrated with Eclipse

OWL-S APIprovide easy processing in Java

Integrated editing of all OWL-S modules

Page 161: Daniela Berardi John Domingue

161

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

OWL-S IDE a close lookSeamlessly transform Java into OWL-S

OWL-S Menu Java2OWL-S…

JavaO

WL-S

Overview of

OWL-S Service

descriptio

n

Profile/Process ModelOverview

Coherent interface facilitate switching between views

Detailed Processdescription

Page 162: Daniela Berardi John Domingue

162

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

OWL-S IDE: a look inside• The OWL-S IDE is based on the following

components– WSDL2OWL-S

• Map WSDL descriptions into OWL-S descriptions– OWL-S API

• Transform OWL-S code in an equivalent set of Java classes for easy processing

– OWL-S Virtual Machine• Control interaction with Web service consistently with Process

Model and Grounding– OWL-S/UDDI translator

• Translate OWL-S Profiles in UDDI statements– Semantic UDDI

• Integrate UDDI Registry and OWL reasoning to facilitate discovery of Web services

Page 163: Daniela Berardi John Domingue

163

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Mapping WSDL to OWL-S

• Exploit relation between WSDL and OWL-S to generate (partial) OWL-S specification– Automatic generation of Grounding– Partial generation of Process Model and Profile– Up to 80% of work required to generate a OWL-S

description is done automatically– Allow programmers to concentrate on the information

that is really different between the two Web services descriptions

• Combined with Java2WSDL to provide Java2OWL-S

Page 164: Daniela Berardi John Domingue

164

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

OWL-S API• Parser for OWL-S Service descriptions

– Transform OWL-S code in an equivalent set of Java classes for easy processing

– Based on Jena OWL API• Jena does all the inferences• OWL-S descriptions are not parsed syntactically, but

derived from Semantic Model

– Complete version for OWL-S 1.1 available open source on semwebcentral.org

Page 165: Daniela Berardi John Domingue

165

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

OWL-S/UDDI Translator• UDDI and OWL-S Profile provide a description

of Web services in two very different ways – UDDI stresses Business/Service/Binding

representation– OWL-S stresses capability representation

• Mapping OWL-S representation into UDDI allows combination of – Use of widely accepted industry standard– Semantic Service Discovery supported by OWL-S

Page 166: Daniela Berardi John Domingue

166

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Expressing capabilities in OWL-S• OWL-S Profile describes capabilities of Web

services• Three types of representations:

1. Functional representation– Input/Output specify the information

transformation produced by the Web service– Precondition/Effect specify the domain

transformation produced by the Web service2. Non-functional properties3. Type of service and product information

• Many capability matching algorithms have been proposed, here we discuss three.

Page 167: Daniela Berardi John Domingue

167

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Mapping OWL-S into UDDI

Provenance information in the OWL-S Profile is has a direct mapping to UDDI Business Entity

Service Specification and features of the service can be added through the specification of a set of OWL-S specific TModels.

Page 168: Daniela Berardi John Domingue

168

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

CMU UDDI is publicly available at www.daml.ri.cmu.edu/matchmakeror on SemWebCentralwww.semwebcentral.orgA variant of the CMU UDDI is in use at the NTT UDDI Business Registry (The main public UDDI in Japan) (see Kawamura et al 2003, 2004)

Semantic UDDIIntegrating OWL-S and UDDI

PublishPublish PortPort InquiryInquiry PortPort

Green Pages

Yellow Pages

White Pages

UDDIUDDIBusiness RegistryBusiness Registry

CapabilityCapability PortPort

OWLOWL--SSMatching Matching

EngineEngine

• CMU OWL-S Matching engine has been integrated within UDDI server

• CMU UDDI server provides• Normal UDDI Publish/Inquiry ports

• Complete interoperability with any UDDI Client

• Capability Port provides OWL-S based capability requests

(see Srinivasan et al 2004)

Page 169: Daniela Berardi John Domingue

169

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Matching Capabilities

• Matching of I/O of the request with I/O of the advertisement

• Five degrees of match– Exact– PlugIn R⊆A– Subsumed A⊆R– Intersection ¬(A ⎡⎤ R⊆⊥)– Fail when disjoint A ⎡⎤ R⊆⊥

• Efficient implementation given correct indexing of advertisements– Match within ms– Linear complexity on the size of

the query• Current work aims at matching

preconditions/effects service and product types and service parameters

Thing

Vehicle

Car Truck

SedanCoupe

subs

ume

plug

-inex

act

Mid-SizeLuxury

Price

Page 170: Daniela Berardi John Domingue

170

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

OWL-S Virtual Machine•• OWLOWL--S VM a generic processor for the OWLS VM a generic processor for the OWL--S S

Process Model Process Model –– It can interact with any OWLIt can interact with any OWL--S Web serviceS Web service–– Based on the Process Model formal Based on the Process Model formal semantics(Ankolekarsemantics(Ankolekar et et

al 2002)al 2002)–– Exploits Web services technology such as Axis and WSIFExploits Web services technology such as Axis and WSIF

• Provide generic client code for Web services described using OWL-S

Page 171: Daniela Berardi John Domingue

171

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Architecture OWL-S VM

SOAP

OWL Theorem Prover

Process ModelProcessor

GroundingProcessor

OWL-S Processor

Web service

Invocation

Web Services

DecisionSystem

OWL KB

WSDL

OWL-SProcessModel

OWL-SGround

ing

OWL-SGround

ing

Knowledge base of the client

make non-deterministic decisions, and providesdata to OWL-S Processor

OWL-S Service

description

Page 172: Daniela Berardi John Domingue

172

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Beyond OWL-S IDE• OWL-S IDE provides the bases for OWL-S

development– Support WS implementation– Allow automatic client generation and WS

invocation– Integrate WS discovery in the WS implementation

• OWL-S IDE has been used to experiment with– Security in OWL-S– WS Composition in OWL-S– Mediation in OWL-S

Page 173: Daniela Berardi John Domingue

173

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Security and Policies• No standard OWL-S representation for Security and Policies has been

published yet– But experimentation already underway– Adoption of a solution will depend on WS security standards

• Security Experiments with • representing security capability/requirements for discovery• Representing security information in Process Model.(See Denker et al 2003)

• Policies: – Experiments combining OWL-S and Rei– Rei statements included in Process Model to constrain the use of a Web

service (see Kagal 2004)• Recent work on Formal Verification of OWL-S Process Models provides

a way to certify adherence to a policy(see Ankolekar et al “Spinning the OWL-S Process Model” In Semantic Web Services Workshop at ISWC ’04)

Page 174: Daniela Berardi John Domingue

174

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Composition with OWL-S

CMU Composition Architecture• It integrates discovery and composition

– OWL-S/UDDI Matchmaker for discovery– Retsina planner to control the agent

• Interleaving of planning and execution to allow communication while planning

– OWL Reasoner– OWL-S Virtual Machine to communicate with other

Web Services• Used in a number of applications: travel

domain, supply chain management• Connection with autonomous agent technology

in collaboration with

Page 175: Daniela Berardi John Domingue

175

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Composition Example• Task:

– Organize trip to Conference – Use DAML-S VM for

interactionCalendar Agent schedule tripPI Meeting Web Service provides information about location dates etcChecks on calendar stored in MS OutlookAirline and Rental car provide are information sourcesDAML-S Matchmaker uses UDDI

Page 176: Daniela Berardi John Domingue

176

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Mediation with OWL-S• OWL-S is orthogonal to mediation

– Mediators are architecture components– OWL-S is a language for the description of

Web services• It works with any architecture that supports

ontology specification • To the extent that WSMO mediators are

Web services, they can be described in OWL-S.(See Paolucci et al. “Expressing WSMO Mediators in OWL-S” In Semantic Web

Services Workshop at ISWC ’04)

Page 177: Daniela Berardi John Domingue

177

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Mediation with OWL-S (2)• General schema to represent WSMO mediators:

– any xy-mediator is represented by a Web service that takes input x and reports output y

• …but the mediation is more complex than asserting the need for mappings– Discovery maps advertisements and requests – Planning systems to reconcile discrepancies between

Web services– Data type Mapping rules are used in the OWL-S

Groundings• OWL-S assumes all these technologies for interoperation

and mediation

Page 178: Daniela Berardi John Domingue

178

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Conclusion: How OWL-SAddresses WS problems

• Discovery– Provide formal representation of capabilities of WSs– Many different types of inferences possible to find Web services using OWL/OWL-S

• Composition– Support formal representation of WS Process Model of Web services– Process Model can be integrated into Planning systems for automatic composition

• Invocation– Support any type of WS invocation mechanism– Clear separation between WS description and implementation

• Guaranteeing Security and Policies– No explicit policy and security specification yet– Proposed solution will interoperate with WS security standards

• Mediation and Interoperation– Mediation services can be directly described– Interoperation allowed by ontology-based description of WS descriptions and data

• The solutions are envisioned maintaining a strong relation with existing WS standards

Page 179: Daniela Berardi John Domingue

179

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

ESCA Tool for Synthesizing Composite Web

Services in the Roman Framework

Massimo Mecella

based on joint work with Daniela Berardi, Diego Calvanese, Giuseppe De Giacomo, Maurizio Lenzerini

Page 180: Daniela Berardi John Domingue

180

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Basics on Services

• A Service is an interactive program thatexpose its behavior in terms of an abstract description

• A client selects and interacts with it according to the description exposed

Client

These are your options

This is my choice

Service

Page 181: Daniela Berardi John Domingue

181

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Behavior Exposed by a Service

• Behavior compactly modeled by a finite state transition system (TS): tree of all possible sequences of actions

• Each transition labeled by a deterministic (atomic) action• Data produced by actions not explicitly modeled

– data used by the client to interact with the service

Client

ServiceDo you want to search by author

or by title?

search by author, please

search_by_author

search_by_title

listen

Page 182: Daniela Berardi John Domingue

182

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Community of Services

• A community of services is– a finite set of services …– … that share implicitly a common understanding

on a common (finite) set of actions …– … and expose their behavior using this common

set of actions• A client specifies his request as desired

service behavior (Target Service) expressed as TS, using the common set of actions of the community

Page 183: Daniela Berardi John Domingue

183

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Example of composition

•• Community of services Community of services (expressed as TS)(expressed as TS)

•• Target service Target service (again expressed as TS)(again expressed as TS)

a: “search by author (and select)”b: “search by title (and select)”r: “listen (the selected song)”

a

rS1

b

rS2

a

rS0

b

Page 184: Daniela Berardi John Domingue

184

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Example of compositionTarget Service

a

rS0

b

a

r

b

r

Service S1

Service S2

Client A request:

delegation:

requests

Compositionschema

a

a: “search by author (and select)”b: “search by title (and select)”r: “listen (the selected song)”

Page 185: Daniela Berardi John Domingue

185

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Example of compositionTarget Service

a

rS0

b

a

r

b

r

Service S1

Service S2

Client A request:

delegation:

requests

a

S1

r

Compositionschema

a: “search by author (and select)”b: “search by title (and select)”r: “listen (the selected song)”

Page 186: Daniela Berardi John Domingue

186

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Example of compositionTarget Service

a

rS0

b

a

r

b

r

Service S1

Service S2

Client A request:

delegation:

requests

S1

a

S1

r

Compositionschema

a: “search by author (and select)”b: “search by title (and select)”r: “listen (the selected song)”

Page 187: Daniela Berardi John Domingue

187

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Example of compositionTarget Service

a

rS0

b

a

r

b

r

Service S1

Service S2

Client A request:

delegation:

requests

bS1

a

S1

r

Client B request:

delegation:

Compositionschema

a: “search by author (and select)”b: “search by title (and select)”r: “listen (the selected song)”

Page 188: Daniela Berardi John Domingue

188

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Example of compositionTarget Service

a

rS0

b

a

r

b

r

Service S1

Service S2

Client A

Client B

request:

delegation:

request:

delegation:

requests

S2

rS1

a

S1

r

b

Compositionschema

a: “search by author (and select)”b: “search by title (and select)”r: “listen (the selected song)”

Page 189: Daniela Berardi John Domingue

189

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Example of compositionTarget Service

a

rS0

b

a

r

b

r

Service S1

Service S2

Client A

Client B

request:

delegation:

request:

delegation:

requests

S2S2

rS1

a

S1

r

b

Compositionschema

a: “search by author (and select)”b: “search by title (and select)”r: “listen (the selected song)”

Page 190: Daniela Berardi John Domingue

190

Example of compositionTarget Service

a

rS0

b

a

r

b

r

Service S1

Service S2

r, S1

a, S1 b, S2

r, S2

Goal: to automaticallysynthesize Compositionschema represented as

Note: we cannot label the Note: we cannot label the Target Service directlyTarget Service directly

Compositionschema

Page 191: Daniela Berardi John Domingue

191

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Algorithms for Composition: Key Ideas

•• We exploit Propositional Dynamic Logic (PDL)We exploit Propositional Dynamic Logic (PDL)

•• Interesting properties of PDL:Interesting properties of PDL:–– EXPTIME decidabilityEXPTIME decidability–– Tree model propertyTree model property–– Small model propertySmall model property

We can automatically build a composition schema

We can automatically build a finite state composition schema

Page 192: Daniela Berardi John Domingue

192

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

PDL encoding

Φ = Init ∧ ([u]Φ0 ∧ i=1,…,n [u]Φi∧ [u]Φaux )

PDL PDL encodingencoding isis polinomialpolinomial in the in the sizesize of the of the serviceservice TSsTSs

InitialInitial statesstates of of allallservicesservices

PDL PDL encodingencoding of of Target Target serviceservice

PDL PDL encodingencoding of of ii--thth componentcomponentserviceservice

PDL PDL additionaladditionaldomaindomain--independentindependentconditionsconditions

Page 193: Daniela Berardi John Domingue

193

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Results on AutomaticallyBuilding Service Composition

PDL formula encodingthe compositionproblem

Checksatisfiability

(and build a model)

compositionschema

EXPTIME

ΦΦr, S1

a, S1 b, S2

r, S2

Page 194: Daniela Berardi John Domingue

194

ResultsThm 1: Composition schema exists iff PDL formula Φ is satisfiable

From composition labeling of the target Service one can build a tree model for the formula,

and vice-versaCor 1: Composition schema existence of services, expressible as TS, is decidable in EXPTIME⇒ A model of the PDL formula is a composition A model of the PDL formula is a composition schemaschema

Page 195: Daniela Berardi John Domingue

195

ResultsThm 2: If composition schema exists then

composition schema which is a TS exists.From a small model of the PDL formula Φ,

one can build a composition schema which is a TS

Cor 2: Finite state composition existence, when services are expressible as TSs, is decidable in EXPTIME

⇒ A finite model of the PDL formula is a A finite model of the PDL formula is a composition schema which is a TScomposition schema which is a TS

Page 196: Daniela Berardi John Domingue

196

Results

Thm 3: Our technique for Service composition is sound, complete and EXPTIME-terminating

From Thm 1 and Thm 2

⇒ We can automatically We can automatically buildbuild a composition a composition schema which is a finite state transition schema which is a finite state transition system in EXPTIMEsystem in EXPTIME

Page 197: Daniela Berardi John Domingue

197

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Extensions to the RomanFramework

• Loose specification of target service: – target service “under-specified”

• how to automatically compute composition? Done: [Berardi-etal ICSOC04]

• how to extend ESC to this enhanced framework? ongoing work

• Incomplete specification of Services of the community:− services export partial description of their behavior to the

community• how to automatically compute composition?

ongoing work (very hard!)

• Enriching the language for describing services:– Adding Data “in a smart way” (joint work with Rick Hull)– lower level of abstraction– new problems, e.g. how to deal with intrinsic nondeterminism ?– Idea: exploiting database theory

• how to automatically compute composition? First

Results!

Page 198: Daniela Berardi John Domingue

198

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

E-Service Composition(ESC ) Tool

• The ESC Tool implements our automaticcomposition algorithm

• It is available as an open source project at:http://sourceforge.net/projects/paride/

• On this site we intend to release the various prototypes produced by our research.

• ESC developed in Java

Page 199: Daniela Berardi John Domingue

199

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Architecture of the ESC Tool

AbstractionAbstractionModuleModule

SynthesisSynthesis EngineEngine

(PDL/DL SAT + (PDL/DL SAT + FSM FSM minimizerminimizer) )

serviceservice TSsTSs

RealizationRealizationModuleModule

TS of TS of compositioncomposition

WSWS--BPEL BPEL specificationspecificationof the of the compositioncompositionschema schema toto bebe enactedenactedbyby the the OrchestratorOrchestrator

WSWS--DL + DL + behavioralbehavioraldescriptionsdescriptions of of servicesservices of of the community the community

WSWS--DL + DL + behavioralbehavioraldescriptionsdescriptions of the of the target target serviceservice

Page 200: Daniela Berardi John Domingue

200

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Synthesis Engine

• TS_2_ALC: Input: TS Ouput: ALC knowledge base

• ALC Tableau Algorithm: Input: ALC knowledge baseOuput: if ALC knowledge base satisfiable

then return a model which is a composition schema (repr. as TS)

else fail• TS Minimizer: Input: TS

Output: TS minimized

Synthesis Engine

Composer Module

TS_2_ALCTranslator

ALC Tableau Algorithm

TS Minimizer

Page 201: Daniela Berardi John Domingue

201Our Algorithm for ServiceComposition

INPUT: S0 /* TS of client specification */S1..Sn /* TSs of Services in the Community C */

OUTPUT: if a composition of S0 wrt S1..Sn exists then return TS of composition schemaelse return nil

beginФ = TS_2_ALC(S0,S1,..,Sn) /* encode client spec. and services of C

into a PDL formula Ф */If = ALC_Tableau(Ф) /* compute a finite model If for Ф */if (If == nil) /* if If does not exist, i.e., no composition exists*/

then return nilelse /* else If exist */

Sc = Extract_TS(If) /* extract a TS from If*/TS = Minimize(Sc) /* minimize it */return TS /* return it */

end

Page 202: Daniela Berardi John Domingue

202

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

ESC Tool at work

ESCESCSynthesisEngine

s10 s1

1

listen

S1

search_by_author

s20 s2

1

listen

S2

search_by_title

s00 s0

1

listen

S0

search_by_author

search_by_title

target service

Service community

Page 203: Daniela Berardi John Domingue

203

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Page 204: Daniela Berardi John Domingue

204

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

ESC Tool at work

ESCESCSynthesisEngine

t0

t2

t1(search_by_

author,S1)

(listen,S1)

(search_by_title,

S2)

(listen, S2)

s10 s1

1

listen

S1

search_by_author

s20 s2

1

listen

S2

search_by_title

s00 s0

1

listen

S0

search_by_author

search_by_title

target service

service community

Page 205: Daniela Berardi John Domingue

205

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Abstracting over Technologies:Abstraction & Realization

ModulesModeling Services asTransition Systems

BACKUP

Page 206: Daniela Berardi John Domingue

206

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Intuition

• Abstraction Module: – WS-DL

+ TS– OWL-S

• Realization Module: – TS --> WS-BPEL

see, e.g., [Pistore&Traverso

ISWC04]

BACKUP

Page 207: Daniela Berardi John Domingue

207

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Transition Systems• A transition system (TS)

is a tupleT = < A, S, S0, δ, F > where:– A is the set of actions– S is the set of states– S0 ⊆ S is the set of initial

states– δ ⊆ S × A × S is the

transition relation– F ⊆ S is the set of final

states

Ven

2pInserted

ChoiceB

ChoiceL

1pInserted

2p

1p

collectB collectL

big

little

BACKUP

Page 208: Daniela Berardi John Domingue

208

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Process Algebras and TSs• Process theory:

– a process is a term of an algebraic language

– a transition E →a F means that process E may become F byperforming(participating in, or accepting) action a

– structured rules guide the derivation

• A graph:– nodes are process

terms– labelled directed arcs

between nodes

Ven = 2p.2pInserted + 1p.1pInserted

2pInserted = big.ChoiceB

1pInserted = little.ChoiceL

ChoiceB = collectB.Ven

ChoiceL = collectL.Ven

Ven

2pInserted

ChoiceB

ChoiceL

1pInserted

2p

1p

collectB collectL

big

little

BACKUP

Page 209: Daniela Berardi John Domingue

209

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Web Service DefinitionLanguage (WS-DL)

• WS-DL (v2.0) provides a framework for defining– Interface: operations and input/output formal

parameters– Access specification: protocol bindings (e.g., SOAP)– Endpoint: the location of service

provideServiceService

1..n

implement1

BindingBinding

EndpointEndpoint

specify (how to invoke)

1..n

supportInterfaceInterface

MessageMessage

consist ofextend

consist of

PartPart

1..n

1..2

1..n

0..n OperationOperation

Serviceimplementation(concrete definition)

Service interface (abstract definition)

BACKUP

Page 210: Daniela Berardi John Domingue

210

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Message Exchange Patterns (1)

Client Service

input

in-only (no faults)

Client Serviceoutput

out-only (no faults)

Client Service

input

robust in-only (message triggers fault)

fault

Client Serviceoutput

robust out-only (message triggers fault)

fault

BACKUP

Page 211: Daniela Berardi John Domingue

211

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Message Exchange Patterns (2)

in-out (fault replaces message)

Client Service

(1) input

(2) output(2’) fault

Client Service

(2) input

(1) output

(2’) fault

out-in (fault replaces message) out-optional-in(message triggers fault)

Client Service

(?) input

output

fault

in-optional-out(message triggers fault)

Client Service

input

(?) output

fault

BACKUP

Page 212: Daniela Berardi John Domingue

212

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

WS-DL is the Set of Actions

• A message exchange pattern (and the related operation) represents aninteraction with the service client– an action that the service can perform by

interacting with its client• Abstracting from formal parameters, we

can associate a different symbol to eachoperation …

• … thus obtaining the alphabet of actions

BACKUP

Page 213: Daniela Berardi John Domingue

213

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

An Example (1)• The MP3ServiceInterfacedefines 3 actions:– search_by_title / st– search_by_author / sa– listen / l

• Formally A = st,sa,l

start

readyToPlay

st sal

BACKUP

Page 214: Daniela Berardi John Domingue

214

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Definition of a message and itsformal parameter

An Example (2)<definitions … >

<types><element name="ListOfSong_Type">

<complexType><sequence><element minOccurs="0" maxOccurs="unbound“

name="SongTitle" type="xs:string"/></sequence></complexType>

</element><element name="SearchByTitleRequest">

<complexType><all><element name="containedInTitle“

type="xs:string"/></all></complexType>

</element><element name="SearchByTitleResponse">

<complexType><all><element name="matchingSongs“

xsi:type="ListOfSong_Type"/></all></complexType>

</element>

BACKUP

Page 215: Daniela Berardi John Domingue

215

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

An Example (3)<element name="SearchByAuthorRequest">

<complexType><all><element name="authorName“

type="xs:string"/></all></complexType>

</element><element name="SearchByAuthorResponse">

<complexType><all><element name="matchingSongs“

xsi:type="ListOfSong_Type"/></all></complexType>

</element><element name="ListenRequest">

<complexType><all><element name="selectedSong“

type="xs:string"/></all></complexType>

</element>

BACKUP

Page 216: Daniela Berardi John Domingue

216

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

An Example (4)

<element name="ListenResponse">

<complexType><all><element name="MP3fileURL" type="xs:string"/>

</all></complexType></element><element name="ErrorMessage">

<complexType><all><element name="cause" type="xs:string"/>

</all></complexType></element>

</types>

BACKUP

Page 217: Daniela Berardi John Domingue

217

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

<interface name="MP3ServiceType"><operation name="search_by_title" pattern="in-out">

<input message="SearchByTitleRequest"/><output message="SearchByTitleResponse"/><outfault message="ErrorMessage"/>

</operation><operation name="search_by_author" pattern="in-out">

<input message="SearchByAuthorRequest"/><output message="SearchByAuthorResponse"/><outfault message="ErrorMessage"/>

</operation><operation name="listen" pattern="in-out">

<input message="ListenRequest"/><output message="ListenResponse"/><outfault message="ErrorMessage"/>

</operation></interface>

</definitions>

An Example (5)

Definition of anoperation and itsmessage exchangepattern

Definition of a service interface

BACKUP

Page 218: Daniela Berardi John Domingue

218

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

The ESC AbstractionModule

• Input: Services in the repository and the target Service • Output: for each Service, its corresponding FMS

• Behavioral descriptions can be expressed in any language that allows to express a finite state machine

• Behavioral descriptions can be expressed in OWL-S (to be refined)

BACKUP

Page 219: Daniela Berardi John Domingue

219

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Intuition

• Abstraction Module: – WS-DL

+ TS– OWL-S

• Realization Module: – TS --> WS-BPEL

BACKUP

Page 220: Daniela Berardi John Domingue

220

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Business Process ExecutionLanguage for Web Services

(WS-BPEL)• Allows specification of

composition schemas of Web Services– Business processes as coordinated

interactions of Web Services– Business processes as Web

Services• Allows abstract and executable

processes• Influenced from

– Traditional flow models– Structured programming– Successor of WSFL and XLANG

• Component Web Services described in WS-DL (v1.1)

Activity A

Activity B

Activity C

Clientof the com

posite serviceBACKUP

Page 221: Daniela Berardi John Domingue

221

WS-BPEL SpecificationAn XML document specifying• Roles exchanging messages with

the composite service/process• The (WSDL) interfaces supported

by such roles

invoke checkLocalStock

invoke checkShipAvailable

invoke confirmOrderinvoke cancelOrder

receive orderGoods

supplier

customer

warehouse

local service offered by the

supplier

interfaces

Orchestration- variables and data transfers, - exception handling,- correlation information (for instance routing)

Variables:warehouse: URIinStock, shippingAvail: boolcustomer: String…

roles

• The orchestrationof the process– Variables and

data transfer– Exception

handling– Correlation

information

BACKUP

Page 222: Daniela Berardi John Domingue

222

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Process Model(Activities)

• Primitive– invoke: to invoke a Web Service (in-out) operation– receive: to wait for a message from an external source– reply: to reply to an external source message– wait: to remain idle for a given time period– assign: to copy data from one variable to another– throw: to raise exception errors– empty: to do nothing

• Structured– sequence: sequential order– switch: conditional routing– while: loop iteration– pick: choices based on events– flow: concurrent execution (synchronized by links)– scope: to group activities to be treated “transactionally” (managed

by the same fault handler, within the same transactional context)

A link connects exactly one source activity S to exactly one target activity T; T starts only after S ends. An activity can have multiple incoming (possibly with joinconditions) and outgoing links. Linkscan be guarded

BACKUP

Page 223: Daniela Berardi John Domingue

223

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Process Model(Data Manipulation and Exception Handling)

• Blackboard approach– a blackboard of variables is associated to each

orchestration instance (i.e., a shared memory withinan orchestration instance)

– variables are not initialized at the beginning; they are modified (read/write) by assignments and messages

– manipulation through XPath• Try-catch-throw approach

– definition of fault handlers– … but also event handlers and compensation

handlers (for managing transactionality as in the SAGA model)

BACKUP

Page 224: Daniela Berardi John Domingue

224

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

From a TS to WS-BPEL (1)

<process name = “…”>

</process>

<partnerLinks>…

</partnerLinks>

<flow><links>

…</links><!-- state skel. -->…<!-- state skel. -->

</flow>

<variables>…

</variables>

TransitionSkeletons

StateSkeletons

WS-BPEL SpecificationSkeleton

TransitionSystem

Mapping transitions

Mapping states

Connecting state skeletons on the basis of the graph

BACKUP

Page 225: Daniela Berardi John Domingue

225

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

From a TS to WS-BPEL (2)Intuition [Baina etal CAISE04, Berardi etal VLDB-TES04]

1. Each transition corresponds to a WS-BPEL pattern consisting of (i) an<onMessage> operation (in order to wait for the input from the client of the composite service), (ii) followed by the effective logic of the transition, and then (iii) a final operation for returning the result to the client. Of course both before the effective logic and before returning the result, messages should be copied forth and back in appropriate variables

2. All the transitions originating from the same state are collected in a <pick> operation, having as many <onMessage> clauses astransitions originating from the state

3. The WS-BPEL file is built visiting the graph in depth, starting from the initial state and applying the previous rules.

N.B.: (1) and (2) works for in-out interactions (the one shown in the following). Simplemodifications are needed for in-only, robust-in-only and in-optional-out. The otherkinds of interactions implies a proactive behaviour of the composite service, possiblyguarded by <onAlarm> blocks.(3) works for acyclic TS. See later for cycle management.

BACKUP

Page 226: Daniela Berardi John Domingue

226

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Transition Skeletons<onMessage … >

<sequence><assign>

<copy><from variable="input" ... /><to variable=“transitionData“ ... />

</copy></assign>< !-- logic of the transition --><assign>

<copy><from variable=“transitionData" ... /><to variable="output" ... />

</copy></assign><reply ... />

</sequence></onMessage>

BACKUP

Page 227: Daniela Berardi John Domingue

227

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

State Skeletons• N transitions from state Si are mapped onto:

<pick name = “Si”><!-- transition #1 --><onMessage … ><!-- transition skeleton --></onMessage>… … …<!-- transition #N --><onMessage … ><!-- transition skeleton --></onMessage>

</pick>

BACKUP

Page 228: Daniela Berardi John Domingue

228

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Mapping the TS• All the <pick> blocks are enclosed in a

surrounding <flow>; the dependenciesare modeled as <link>s– <link>s are controlled by specific variablesSi-to-Sj that are set to TRUE iff the transition Si → Sj is executed

– Each state skeleton has many outgoing<link>s as states connected in output, each going to the appropriate <pick> block

BACKUP

Page 229: Daniela Berardi John Domingue

229

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Mapping Cyclic TSs(Intuition)

• Identify all the cycles• Enclose the involved state skeletons inside a <while>

block controlled by a condition (!exit) (exit is a variable defined ad hoc)– exit is set to FALSE by any transition that “goes out” of the

cycle– The overall <while> block is connected to other state

skeletons by appropriate <link>s• Special cases:

– A state S with self-transitions can be represented as a <pick>block enclosed in a <while> block controlled by a condition(Vs) (the variable VS is set to FALSE by other non self-transitions)

– Cycles starting from the initial state should not be considered, as they can be represented as the start of a new instance

BACKUP

Page 230: Daniela Berardi John Domingue

230

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

An Example (1)

<partnerLinks><!-- The “client” role represents the requester of this composite service -->

<partnerLink name="client" partnerLinkType="tns:Transition" myRole="MP3ServiceTypeProvider" partnerRole="MP3ServiceTypeRequester"/>

<partnerLink name="service" partnerLinkType="nws:MP3CompositeService" myRole="MP3ServiceTypeRequester" partnerRole="MP3ServiceTypeProvider"/>

</partnerLinks>

st

sa

l

l

start

2

1

BACKUP

Page 231: Daniela Berardi John Domingue

231

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

An Example (2)<variables>

<variable name="input" messageType="tns:listen_request"/><variable name="output“ messageType="tns:listen_response"/>

<variable name=“dataIn" messageType="nws:listen_request"/><variable name=“dataOut" messageType="nws:listen_response"/>

</variables>

<pick><onMessage partnerLink="client"

portType="tns:MP3ServiceType" operation="listen" variable="input"><sequence>

<assign><copy>

<from variable="input" part="selectedSong"/><to variable=“dataIn" part="selectedSong"/>

</copy></assign>… …<assign>

<copy><from variable=“dataOut" part="MP3FileURL"/><to variable="output" part="MP3FileURL"/>

</copy></assign><reply name="replyOutput"

partnerLink="client" portType="tns:MP3ServiceType" operation="listen" variable="output"/>

</sequence></onMessage>… …

</pick>

BACKUP

Page 232: Daniela Berardi John Domingue

232

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

An Example (3)<process suppressJoinFailure = “no”>

<flow><links>

<link name=“start-to-1”/><link name=“start-to-2”/>

</links>

<pick createInstance = “yes”><onMessage=“sa">

<sequence><copy>...</copy>… …<copy>...</copy><reply ... />

</sequence></onMessage><onMessage=“st">

<sequence><copy>...</copy>… …<copy>...</copy><reply ... />

</sequence></onMessage><source linkName=“start-to-1” transitionCondition = “bpws:getVariableData(‘start-to-1’) = ‘TRUE’ “ /><source linkName=“start-to-2” transitionCondition = “bpws:getVariableData(‘start-to-2’) = ‘TRUE’ “ />

</pick>

The <sa> transition skeletonshould set variables:start-to-1 = TRUEstart-to-2 = FALSE

The <st> transition skeletonshould set variables:start-to-1 = FALSEstart-to-2 = TRUE

A new instance is created in the initial state. This resolve also the presence of the cycles without the need of enclosing <while>

BACKUP

Page 233: Daniela Berardi John Domingue

233

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

An Example (4)<pick><onMessage="l">

<sequence><copy>...</copy>… …

<copy>...</copy><reply ... />

</sequence></onMessage><target linkName=“start-to-1” />

</pick><pick>

<onMessage="l"><sequence>

<copy>...</copy>… …

<copy>...</copy><reply ... />

</sequence></onMessage><target linkName=“start-to-2” />

</pick></process>

BACKUP

Page 234: Daniela Berardi John Domingue

234

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Web Service Execution Environment

(WSMX)Emilia Cimpian

Digital Enterprise Research Institute (DERI)

Page 235: Daniela Berardi John Domingue

235

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Contents• Scope of WSMX Development• Architecture

– Components• System Architecture

– Inter-relationship of Components• Execution Semantics

– Component Interfaces• Data Flow between Components

Page 236: Daniela Berardi John Domingue

236

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Scope of WSMX Development• reference implementation for

WSMO• complete architecture for SWS

discovery, mediation, selection and invocation

• initial functionality - achieving a user-specified goal by invoking WS described with the semantic markup

Page 237: Daniela Berardi John Domingue

237

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Architecture Overview• Components

– System Architecture• Interrelationship of components

– Execution semantics• Component interfaces

– Data flow between components

Page 238: Daniela Berardi John Domingue

238

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

System Architecture

Page 239: Daniela Berardi John Domingue

239

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Execution Semantics• Invocation order of components• Process context• Event-based implementation• JMX implementation

Page 240: Daniela Berardi John Domingue

240

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Invocation Order

Page 241: Daniela Berardi John Domingue

241

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Process Context

Page 242: Daniela Berardi John Domingue

242

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Event-based Implementation

Page 243: Daniela Berardi John Domingue

243

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

JMX Implementation

Page 244: Daniela Berardi John Domingue

244

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

System Architecture

Page 245: Daniela Berardi John Domingue

245

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

System ArchitectureRequest to discoverWeb services. May be sent to adapteror adapter may extract from backend app.

Page 246: Daniela Berardi John Domingue

246

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

System Architecture

Goal expressed in WSMLsent to WSMX System Interface

Page 247: Daniela Berardi John Domingue

247

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

System Architecture

Comm Manager component implements the interface to receive WSML goals

Page 248: Daniela Berardi John Domingue

248

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

System Architecture

Comm Manager tells coreGoal has been recieved

Page 249: Daniela Berardi John Domingue

249

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

System Architecture

Choreography wrapperPicks up event for Choreography component

Page 250: Daniela Berardi John Domingue

250

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

System Architecture

A new choreography Instance is created

Page 251: Daniela Berardi John Domingue

251

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

System Architecture

Core is notified that choreography instance has been created.

Page 252: Daniela Berardi John Domingue

252

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

System Architecture

Parser wrapper picks up event for Parser component

Page 253: Daniela Berardi John Domingue

253

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

System Architecture

WSML goal is parsed to internal format

Page 254: Daniela Berardi John Domingue

254

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

System Architecture

Page 255: Daniela Berardi John Domingue

255

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

System Architecture

Page 256: Daniela Berardi John Domingue

256

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

System Architecture

Discovery is invokedfor parsed goal

Page 257: Daniela Berardi John Domingue

257

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

System Architecture

Page 258: Daniela Berardi John Domingue

258

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

System Architecture

Page 259: Daniela Berardi John Domingue

259

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

System Architecture

Discovery component requires data mediation.

Page 260: Daniela Berardi John Domingue

260

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

System Architecture

Page 261: Daniela Berardi John Domingue

261

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

System Architecture

Page 262: Daniela Berardi John Domingue

262

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

System Architecture

After data mediation, discovery component completes its task.

Page 263: Daniela Berardi John Domingue

263

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

System Architecture

Page 264: Daniela Berardi John Domingue

264

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

System Architecture

Page 265: Daniela Berardi John Domingue

265

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

System Architecture

After discovery, the choreography instance for goal requester is checkedfor next step in interaction.

Page 266: Daniela Berardi John Domingue

266

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

System Architecture

Page 267: Daniela Berardi John Domingue

267

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

System Architecture

Page 268: Daniela Berardi John Domingue

268

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

System Architecture

Next step in choreography is to return set of discoveredWeb services to goal requester

Page 269: Daniela Berardi John Domingue

269

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

System Architecture

Set of Web Service descriptionsexpressed in WSML sent to appropriate adapter

Page 270: Daniela Berardi John Domingue

270

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

System Architecture

Set of Web Service descriptionsexpressed in requester’s ownformat returned to goal requester

Page 271: Daniela Berardi John Domingue

271

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Component Interfaces• Methods• Parameter• Examples

– Data Mediator– Invoker

Page 272: Daniela Berardi John Domingue

272

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Data MediatormediateData (

URIRef sourceOntologyID,URIRef targetOntologyID,Identifiable ontologyFragment )

– Calls the mediator and returns back the mediated fragment of ontology

• Parameters– sourceOntologyID - the source ontology ID – targetOntologyID - the target ontology ID – ontologyFragment - the subject of the mediation (instances from the

source ontology)

• Returns– the mediated payload (instances from the target ontology)

Page 273: Daniela Berardi John Domingue

273

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

InvokersendWSMLMessage (

java.lang.String wsdl, java.lang.String portType, java.lang.String operation,

WSMLMessage message )

Page 274: Daniela Berardi John Domingue

274

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Conclusions• Event based component architecture• Conceptual model is WSMO (with some add-

ons)• End to end functionality for executing SWS• Has a formal execution semantics• Real implementation • Open source code base at SourceForge• Event driven component architecture• Developers welcome

Page 275: Daniela Berardi John Domingue

275

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

PART V:Hands-On Session

John Domingue Liliana Cabral Matt Moran

Michal Zaremba

Page 276: Daniela Berardi John Domingue

276

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Contents

• Internet Reasoning Service (IRS III):

– system overview

– demonstration

• Hands-on Session:

– Introduction to Use Case Scenario

– Hands-on Session tasks

– Exercises

Page 277: Daniela Berardi John Domingue

277

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

IRS-III: A framework and platform for

building Semantic Web Services

John Domingue and Liliana Cabral

Page 278: Daniela Berardi John Domingue

278

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

The Internet Reasoning Service is an infrastructure for publishing, locating, executing and composing Semantic Web Services

Page 279: Daniela Berardi John Domingue

279

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Design Principles• Ontological separation of User and Web Service

Contexts• Capability Based Invocation• Ease of Use• One Click Publishing• Agnostic to Service Implementation Platform• Connected to External Environment• Open• Complete Descriptions• Inspectable• Interoperable with SWS Frameworks and Platforms

Page 280: Daniela Berardi John Domingue

280

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Features of IRS-III (1/2)• Based on Soap messaging standard• Provides Java API for client applications• Provides built-in brokering and service

discovery support• Provides capability-centred service

invocation

Page 281: Daniela Berardi John Domingue

281

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Features of IRS-III (2/2)• Publishing support for variety of platforms

– Java, Lisp, Web Applications, Java Web Services

• Enables publication of ‘standard code’– Provides clever wrappers– One-click publishing of web services

• Integrated with standard Web Services world– Semantic web service to IRS– ‘Ordinary’ web service

Page 282: Daniela Berardi John Domingue

282

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

IRS-3 Server

Domain Models

Web Service Specifications+ Registry of Implementors

Goal Specifications+ SOAP Binding

IRS Publisher

S O

A P

IRS Client

SOAP

IRS Publisher

IRS Publisher

IRS Publisher

Lisp

Java

Java WS

IRS-III Framework

Page 283: Daniela Berardi John Domingue

283

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

LispWeb Server

IRS-III Architecture

IRS-III Server

WS Publisher Registry

OCMLWSMO Library

OWL(-S) HandlerOWL(-S)

Browser

Invocation Client

Publishing Clients

SOAP Handler

SOAP

Publishing Platforms

Web Service

Java Code

Web Application

SOAPBrowserHandler

PublisherHandler

InvocationHandler

Java

API

WSMX

Page 284: Daniela Berardi John Domingue

284

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Publishing Platform Architecture

IRS-III Publishing PlatformHTTP Server

SOAP Handler

ServiceRegistrar

ServiceInvoker

WS Service Registry

IRS-III Server

Invocation Client

SOAP

SOAP

Publishing Clients

SOAP

Web Service 1Web Service 2

Web Service 3

Page 285: Daniela Berardi John Domingue

285

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

IRS-III/WSMO differences

• Underlying language OCML• Goals have inputs and outputs• IRS-III broker finds applicable web services via

mediators– Used mediator within WS capability – Mediator source = goal

• Web services have inputs and outputs ‘inherited’ from goal descriptions

• Web service selected via assumption (in capability)

Page 286: Daniela Berardi John Domingue

286

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

OWL-S 1.0 Translation

OWL-SProcess

OWL-STranslator

OWLTranslator

Web Service(Mediatorand Goal)

Page 287: Daniela Berardi John Domingue

287

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

OWL Process to Web Service• IOPEs are translated to:

has-input, has-output, has-precondition andhas-postcondition

in the capability of a Web service.

• The type and condition definitions at the range of the above roles are translated by the OWL to OCML translator.

• Simple goal and mediators can be generated (optional) as template for later development.

Page 288: Daniela Berardi John Domingue

288

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

IRS-III Demo(including OWL-S Import)

John Domingue and Liliana Cabral

Page 289: Daniela Berardi John Domingue

289

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

SWS Creation & Usage Steps• Create a goal description

– (e.g. exchange-rate-goal)– Add input and output roles– Include role type and soap binding

• Create a wg-mediator description – Source = goal– Possibly add a mediation service

• Create a web service description– Used-mediator of WS capability = wg-mediator above

• Specify Operation <-> Lisp function mapping in Choreography Grounding

• Publish against web service description• Invoke web service by ‘achieve goal’

Page 290: Daniela Berardi John Domingue

290

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Multiple WS for goal• Each WS has a mediator for used-

mediator slot of capability– Some WS may share a mediator

• Define a kappa expression for assumption slot of WS capability

• Kappa expression format– (kappa (?goal) <ocml relations>)

• Getting the value of an input role– (wsmo-role-value ?goal <role-name>)

Page 291: Daniela Berardi John Domingue

291

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Defining a Mediation Service• Define a wg-mediator• Source = goal• Mediation-service = goal for mediation

service• Mediation goal

– Mediation goal input roles are a subset of goal input roles

• Define mediator and WS as normal

Page 292: Daniela Berardi John Domingue

292

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Valid Relations• Classes are unary relations

– e.g. (country ?x)

• Slots are binary relations – e.g. (is-capital-of ?x ?y)

• Standard relations in base (OCML toplevel) ontology =, ==, <, >, member

Page 293: Daniela Berardi John Domingue

293

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

European Currency Assumption

(kappa (?goal)(member

(wsmo-role-value?goal 'has_source_currency)

'(euro pound)))

Page 294: Daniela Berardi John Domingue

294

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Goal Based Invocation

Invocation

Instantiate Goal Description

Exchange-rate-goal Has-source-currency: us-dollarsHas-target-currency: pound

Web Service Discovery

European-exchange-rate-wsNon-european-exchange-rate-wsEuropean-bank-exchange-rate-ws

Solve GoalGoal -> WG Mediator -> WS/Capability/Used-mediator

Web service selection

European-exchange-rate

Mediate input values

‘$’ -> us-dollar

WS -> Capability -> Assumptionexpression Mediation

Invoke selected web service

European-exchange-rate

Invocation

Page 295: Daniela Berardi John Domingue

295

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Hands-On Session (with IRS III)

John Domingue and Liliana Cabral

Page 296: Daniela Berardi John Domingue

296

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

European Travel Scenario

Page 297: Daniela Berardi John Domingue

297

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

European Travel Demo

Page 298: Daniela Berardi John Domingue

298

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

IRS-III Hands On Task• Develop an application for the European Travel scenario based on

SWS. The application should support a person booking a train ticket between 2 European cities at a specific time and date

• Create Goal, Web service and Mediator WSMO descriptions in IRS-III (european-travel-service-descriptions) for available services. Your descriptions should choose a specific service depending on the start and end locations and the type of traveller. Use the assumption slot to do this

• Publish available lisp functions against your descriptions

• Invoke the web services

• Solution to be shown at the end of this session

Page 299: Daniela Berardi John Domingue

299

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Tutorial Setup

IRS Server (3000)

Domain Models

Web Service WSMO Descriptions

+ Registry of Implementors

Goal WSMO Descriptions+ SOAP Binding

Travel Services

(3001)

IRS Lisp Publisher

IRS-III Knowledge Model Browser & Editor

WSMX

Mediator WSMO Descriptions

Page 300: Daniela Berardi John Domingue

300

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Travel Related Knowledge Models

Page 301: Daniela Berardi John Domingue

301

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Key Classes, Relations, Instances

Is-in-country <city> <country> e.g.(is-in-country berlin germany) -> true

(student <person>) -> true, for john matt michal(business-person <person>) -> true, for liliana michael

Page 302: Daniela Berardi John Domingue

302

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Goals1- Get train timetable

– Inputs: origin and destination cities (city), date (date-and-time, e.g. (18 4 2004))

– Output: timetable (string)

2- Book train– Inputs: passenger name (person), origin and

destination cities, departure time-date (list-date-and-time, e.g. (20 33 16 15 9 2004))

– Output: booking information (string)

Page 303: Daniela Berardi John Domingue

303

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Services• 1 service available for goal 1

– No constraints

• 6 services available for goal 2– As a provider write the constraints applicable to the

services to satisfy the goal (assumption logical expressions)

• 1 wg-mediator mediation-service– Used to convert time in list format to time in

universal format

Page 304: Daniela Berardi John Domingue

304

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Service constraints• Services 2-5

– Services for (origin and destination) cities in determined countries

• Service 4-5– Need a mediation service to map goal time-date to

service time-date

• Services 6-7– Services for students or business people in Europe

Page 305: Daniela Berardi John Domingue

305

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Available Functions (1/3)1- get-train-times paris london (18 4 2004)"Timetable of trains from PARIS to LONDON on 18, 4, 2004

5:18…23:36"

2- book-english-train-journeychristoph milton-keynes london (20 33 16 15 9 2004)"British Rail: CHRISTOPH is booked on the 66 going from MILTON-KEYNES to

LONDON at 16:49, 15, SEPTEMBER 2004. The price is 169 Euros."

3- book-french-train-journeysinuhe paris lyon (3 4 6 18 8 2004)"SNCF: SINUHE is booked on the 511 going from PARIS to LYON at 6:12, 18,

AUGUST 2004. The price is 27 Euros."

Page 306: Daniela Berardi John Domingue

306

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Available Functions (2/3)4- book-german-train-journeychristoph berlin frankfurt 3304251200"First Class Booking German Rail (Die Bahn): CHRISTOPH is booked on the

323 going from BERLIN to FRANKFURT at 17:11, 15, SEPTEMBER 2004. The price is 35 Euros."

5- book-austrian-train-journeysinuhe vienna innsbruck 3304251200"Austrian Rail (OBB): SINUHE is booked on the 367 going from VIENNA to

INNSBRUCK at 16:47, 15, SEPTEMBER 2004. The price is 36 Euros. "

Page 307: Daniela Berardi John Domingue

307

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Available Functions (3/3)6- book-student-european-train-journey john london nice (3 4 6 18 8 2004)"European Student Rail Travel: JOHN is booked on the 916 going from

LONDON to NICE at 6:44, 18, AUGUST 2004. The price is 94 Euros. "

7- book-business-european-train-journeyliliana paris innsbruck (3 4 6 18 8 2004)"Business Europe: LILIANA is booked on the 461 going from PARIS to

INNSBRUCK at 6:12, 18, AUGUST 2004.The price is 325 Euros."

8- mediate-time (lisp function) orJavaMediateTime/mediate (java)

(9 30 17 20 9 2004)3304686609

Page 308: Daniela Berardi John Domingue

308

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Example: Multiply Goal

Page 309: Daniela Berardi John Domingue

309

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Example: Multiply Web Service

Page 310: Daniela Berardi John Domingue

310

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Example: Publishing

Page 311: Daniela Berardi John Domingue

311

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Tips• Order matters for input roles

– Input roles in goal must match order of arguments to function• Need to specify both input roles and output role• Be careful with soap binding

– sexpr as default– String for one line output – Use xml for multiple line output

• Input roles for web services inherited from goal• Slot names can not be the same as class names• Goal <-> web service linking mediator in the capability

used mediators

Page 312: Daniela Berardi John Domingue

312

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Closing, Outlook, References, Acknowledgements

Michael Stollberg

Page 313: Daniela Berardi John Domingue

313

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Tutorial Wrap-up• The targets of the presented tutorial were to:

– understand aims & challenges within Semantic Web Services – understand OWL-S and WSMO:

• design principles & paradigms • ontology elements

• .. an overview of ‘hot topics’ within the Semantic Web and Semantic Web Services

• .. OWL-S and WSMO Tools and System Presentation• .. do-it-yourself Hands-On Session => you should now be able to correctly assess emerging

technologies & products for Semantic Web Services and utilize these for your future work

Page 314: Daniela Berardi John Domingue

314

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

OWL-S and WSMO• North-American and European initiatives with

converging aims• Offer a SWS platforms to be used by B2C and

B2B applications• Provide a backbone for advanced integration and

automation of industrial and business processes• Are the most developed SWS technologies up to

now available to be used in commercial and industrial applications

• Developments towards refining and interconnecting them

Page 315: Daniela Berardi John Domingue

315

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Future work – OWL-S• OWL-S is close to conclusion, but a few issues

still need to be addressed– An exception mechanism is still missing– There is a need of an exec instruction for loading and

executing Process Models dynamically – A new Grounding for WSDL 2 should be developed

• Additional issues that OWL-S does not address– Security and Policies are not directly expressed in

OWL-S yet– There are no facilities for Contracting and agreement– There are no facilities for Web service management

Page 316: Daniela Berardi John Domingue

316

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Future work – OWL-S (2)

• Standardization– The OWL-S coalition is planning to submit a W3C note to

draw attention and create momentum for W3C standardization activities on Semantic Web services

– Members of the OWL-S coalition are already active in standardization committee such as UDDI, WSDL 2 and WS Coordination

• The Future of OWL-S– OWL-S is nearing its completion and it will converge in the

results of the SWSI working group or future standardization activities

– The OWL-S coalition plans to remain in existence to maintain and further develop the language if needed

Page 317: Daniela Berardi John Domingue

317

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Future work - WSMO• Further develop and consolidate concepts

and implementation aspects of WSMO, WSML and WSMX– Choreography and orchestration– Business process execution– Web services composition – Process and protocol mediation

• Open to new ideas, contributions and suggestions

• Standardization …

Page 318: Daniela Berardi John Domingue

318

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Future Work WSMO (2)

• WSMO & WSMX – applied in several case studies within EU funded projects

• WSMO Studio development • WSMX v2 to be release in November• IRS III new release at the beginning of 2005

Page 319: Daniela Berardi John Domingue

319

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Beyond OWL-S and WSMO• Although OWL-S and WSMO are the main initiatives on

Semantic Web services, they are not the only activities• Semantic Web Services Interest Group

– Interest group founded at W3C to discuss issues related to Semantic Web Services (http://www.w3.org/2002/ws/swsig/)

• SWSI: International initiative to push toward a standardization of SWS (http://www.swsi.org)

• Semantic Web services are entering the main stream– UDDI is adopting OWL for semantic search– WSDL 2 will contain a mapping to RDF– The use of semantics is also discussed in the context of

standards for WS Policies

Page 320: Daniela Berardi John Domingue

320

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

SWSI (www.swsi.org)• SWSI (Semantic Web Services Initiative) is becoming the

point of synthesis of the SWS activity around the World• SWSI includes many participants belonging to both

academy and industry from the US and Europe• SWSI is composed of two committees

– SWSL which is expected to produce a language for Semantic Web services

– SWSA which is expected to describe the architectural requirements for Semantic Web services

• OWL-S and WSMO are two main inputs, but contributions include IRS, Meteor-S

Page 321: Daniela Berardi John Domingue

321

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Semantics in the Main Stream• Many WS standardization groups are realizing that they need to add

semantic representation• UDDI v.next

– UDDI v.next is the new version of UDDI– UDDI TC has decided to use OWL as a standard language for the

representation of business taxonomies – OWL-based inference will be used to improve WS search

• Web Service Description Language v2– The WSDL working group at W3C has decided to add an RDF mapping

to WSDL 2– The RDF mapping may effectively provide a standard grounding

mechanism for OWL-S and WSMO• Web Services policies proposals require a significant amount of

inference– There have been proposals to use OWL or SWRL as basic languages– Or to provide a mapping to semantic Web languages

Page 322: Daniela Berardi John Domingue

322

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

References OWL-S• The main repository of papers on OWL-S is at

http://www.daml.org/services/owl-s/pub-archive.htmlthat contains many papers produced by the coalition as well as from the community at large

• The main source of information on OWL-S is the Web site http://www.daml.org/services/owl-s

• The rest of this section will report what we believe to be the most influential papers on OWL-S as well as paper referred in this tutorial

Page 323: Daniela Berardi John Domingue

323

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

References OWL-S• Fundamental

David Martin, Massimo Paolucci, Sheila McIlraith, Mark Burstein, Drew McDermott, Deborah McGuinness, Bijan Parsia, Terry Payne, Marta Sabou, Monika Solanki, Naveen Srinivasan, Katia Sycara, "Bringing Semantics to Web Services: The OWL-S Approach", Proceedings of the First International Workshop on Semantic Web Services and Web Process Composition (SWSWPC 2004), July 6-9, 2004, San Diego, California, USA.

The DAML Services Coalition (alphabetically Anupriya Ankolenkar, Mark Burstein, Jerry R. Hobbs, Ora Lassila, David L. Martin, Drew McDermott, Sheila A. McIlraith, Srini Narayanan, Massimo Paolucci, Terry R. Payne and Katia Sycara), "DAML-S: Web Service Description for the Semantic Web", Proceedings of the First International Semantic Web Conference (ISWC), Sardinia (Italy), June, 2002.

DAML Services Coalition (alphabetically A. Ankolekar, M. Burstein, J. Hobbs, O. Lassila, D. Martin, S. McIlraith, S. Narayanan, M. Paolucci, T. Payne, K. Sycara, H. Zeng), "DAML-S: Semantic Markup for Web Services", in Proceedings of the International Semantic Web Working Symposium (SWWS), July 30-August 1, 2001.

Page 324: Daniela Berardi John Domingue

324

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

References OWL-S• Discovery

Lei Li and Ian Horrocks. A software framework for matchmaking based on semantic web technology. In Proc. of the Twelfth International World Wide Web Conference (WWW 2003), 2003

B. Benatallah, M. Hacid, C. Rey, F. Toumani Towards Semantic Reasoning for Web Services Discovery,. In Proc. of the International Semantic Web Conference (ISWC 2003), 2003

Daniel J. Mandell and Sheila A. McIlraith. Adapting BPEL4WS for the Semantic Web: The Bottom-Up Approach to Web Service Interoperation. In Proceedings of the Second International Semantic Web Conference (ISWC2003),

Massimo Paolucci, Takahiro Kawamura, Terry R. Payne, Katia Sycara; Importing the Semantic Web in UDDI. In Proceedings of Web Services, E-business and Semantic Web Workshop, 2002

Massimo Paolucci, Takahiro Kawamura, Terry R. Payne, Katia Sycara; "Semantic Matching of Web Services Capabilities." In Proceedings of the 1st International Semantic Web Conference (ISWC2002), 2002

Page 325: Daniela Berardi John Domingue

325

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

References OWL-S • Composition and Invocation

Evren Sirin, Bijan Parsia, Dan Wu, James Hendler, and Dana Nau. HTN planning for web service composition using SHOP2. In Journal of Web Semantics, To appear, 2004

Katia Sycara, Massimo Paolucci, Anupriya Ankolekar and Naveen Srinivasan, "Automated Discovery, Interaction and Composition of Semantic Webservices," Journal of Web Semantics, Volume 1, Issue 1, September 2003, pp. 27-46

Massimo Paolucci, Anupriya Ankolekar, Naveen Srinivasan and Katia Sycara, "The DAML-S Virtual Machine," In Proceedings of the Second International Semantic Web Conference (ISWC), 2003,

Srini Narayanan and Sheila McIlraith ``Analysis and Simulation of Web Services" Computer Networks, 42 (2003), 675-693, Elsevier Science, 2003

Page 326: Daniela Berardi John Domingue

326

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

References OWL-S• Formal Models and Verification

Anupriya Ankolekar, Massimo Paolucci, and Katia SycaraSpinning the OWL-S Process Model -- Toward the Verification of the OWL-S Process Models In Proceedings of Workshop on Semantic Web Services:Preparing to Meet the World of Business Applications (ISWC 2004)

Narayanan, S. and McIlraith, S. ``Simulation, Verification and Automated Composition of Web Services''. IN the Proceedings of the Eleventh International World Wide Web Conference (WWW-11), May, 2002

Anupriya Ankolekar, Frank Huch and Katia Sycara. "Concurrent Semantics for the Web Services Specification Language DAML-S." In Proceedings of the Fifth International Conference on Coordination Models and Languages, York, UK, April 8-11, 2002.

Anupriya Ankolekar, Frank Huch, Katia Sycara. "Concurrent Execution Semantics for DAML-S with Subtypes." In The First International Semantic Web Conference (ISWC), 2002.

Page 327: Daniela Berardi John Domingue

327

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

References OWL-S

• Policies and SecurityRonald Ashri, Grit Denker, Darren Marvin, Mike Surridge,Terry Payne,

Semantic Web Service Interaction Protocols: An Ontological Approach, 3rd International Semantic Web Conference (ISWC2004), Hiroshima, Japan

Lalana Kagal, Grit Denker, Tim Finin, Massimo Paolucci, Naveen Srinivasan and Katia Sycara, "An Approach to Confidentiality and Integrity for OWL-S", forthcoming in Proceedings of AAAI 2004 Spring Symposium.

Grit Denker, Lalana Kagal, Tim Finin, Massimo Paolucci, Naveen Srinivasan and Katia Sycara, "Security For DAML Web Services: Annotation and Matchmaking" In Proceedings of the Second International Semantic Web Conference (ISWC 2003), Sandial Island, Fl, USA, October 2003, pp 335-350.

Page 328: Daniela Berardi John Domingue

328

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

References OWL-S

• ApplicationsSchlenoff, C., Barbera, A., Washington, R., “Experiences in Developing an

Intelligent Ground Vehicle (IGV) Ontology in Protégé” In Proceedings of the 7th International Protege Conference, Bethesda, MD, July 6 - 8, 2004.

Aabhas V Paliwal, Nabil Adam, Christof Bornhövd, and Joachim SchaperSemantic Discovery and Composition of Web Services for RFID Applications in Border Control In Proceedings of Workshop on Semantic Web Services:Preparing to Meet the World of Business Applications (ISWC 2004)

Mithun Sheshagiri, Norman Sadeh and Fabien Gandon, Using Semantic Web Services for Context-Aware Mobile Applications, Proceedings of MobiSys2004 Workshop on Context Awareness, Boston, June 2004

Zhexuan Song, Yannis Labrou and Ryusuke Masuoka, "Dynamic Service Discovery and Management in Task Computing," pp. 310 - 318, MobiQuitous 2004, August 22-26, 2004, Boston, USA

Page 329: Daniela Berardi John Domingue

329

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

References WSMO• The central location where WSMO work and papers can

be found is WSMO Working Group: http://www.wsmo.org

• WSMO languages – WSML Working Group: http://www.wsml.org

• WSMO implementation – WSMX working group : http://www.wsmx.org– WSMX open source can be found at:

https://sourceforge.net/projects/wsmx/

Page 330: Daniela Berardi John Domingue

330

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

References WSMO• [WSMO Specification]: Roman, D.; Lausen, H.; Keller, U. (eds.): Web Service

Modeling Ontology, WSMO Working Draft D2, final version 1.2, 13 April 2005.

• [WSMO Primer]: Feier, C. (ed.): WSMO Primer, WSMO Working Draft D3.1, 18 February 2005.

• [WSMO Choreography and Orchestration] Roman, D.; Scicluna, J., Feier, C. (eds.): Ontology-based Choreography and Orchestration of WSMO Services, WSMO Working Draft D14, 01 March 2005.

• [WSMO Use Case] Stollberg, M.; Lausen, H.; Polleres, A.; Lara, R. (ed.): WSMO Use Case Modeling and Testing, WSMO Working Drafts D3.2; D3.3.; D3.4; D3.5, 05 November 2004.

• [WSML] de Bruijn, J. (Ed.): The WSML Specification, WSML Working Draft D16, 03 February 2005.

Page 331: Daniela Berardi John Domingue

331

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

References WSMO• [Arroyo et al. 2004] Arroyo, S., Lara, R., Gomez, J. M., Berka, D., Ding, Y.

and Fensel, D: "Semantic Aspects of Web Services" in Practical Handbook of Internet Computing. Munindar P. Singh, editor. Chapman Hall and CRC Press, Baton Rouge. 2004.

• [Berners-Lee et al. 2001] Tim Berners-Lee, James Hendler, and OraLassila, “The Semantic Web”. Scientific American, 284(5):34-43, 2001.

• [Chen et al., 1993] Chen, W., Kifer, M., and Warren, D. S. (1993). HILOG: A foundation for higher-order logic programming. Journal of Logic Programming, 15(3):187-230.

• Domingue, J. Cabral, L., Hakimpour, F., Sell D., and Motta, E., (2004) IRS-III: A Platform and Infrastructure for Creating WSMO-based Semantic Web Services WSMO Implementation Workshop (WIW), Frankfurt, Germany, September,2004

• [Fensel, 2001] Dieter Fensel, “Ontologies: Silver Bullet for Knowledge Management and Electronic Commerce”, Springer-Verlag, Berlin, 2001.

Page 332: Daniela Berardi John Domingue

332

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

References WSMO• [Gruber, 1993] Thomas R. Gruber, “A Translation Approach to Portable

Ontology Specifications”, Knowledge Acquisition, 5:199-220, 1993.• [Grosof et al., 2003] Grosof, B. N., Horrocks, I., Volz, R., and Decker,

S. (2003). Description logic programs: Combining logic programs with description logic. In Proc. Intl. Conf. on the World Wide Web (WWW-2003), Budapest, Hungary.

• [Kifer et al., 1995] Kifer, M., Lausen, G., and Wu, J. (1995). Logical foundations of object-oriented and frame-based languages. JACM, 42(4):741-843.

• [Pan and Horrocks, 2004] Pan, J. Z. and Horrocks, I. (2004). OWL-E: Extending OWL with expressive datatype expressions. IMG Technical Report IMG/2004/KR-SW-01/v1.0, Victoria University of Manchester. Available from http://dl-web.man.ac.uk/Doc/IMGTR-OWL-E.pdf.

• [Stencil Group] -www.stencilgroup.com/ideas_scope_200106wsdefined.html

Page 333: Daniela Berardi John Domingue

333

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

References WSMO• OWL-- - http://www.wsmo.org/2004/d20/d20.1/• OWL Flight – http://www.wsmo.org/2004/d20/d20.3/• [Völz, 2004] Völz, R. (2004). Web Ontology Reasoning with Logic Databases.

PhD thesis, AIFB, Karlsruhe.• WSML-Core – http://www.wsmo.org/2004/d16/d16.7/• [WSMO Standard] Roman, D.; Lausen, H.; Keller, U. (eds.): Web Service

Modeling Ontology - Standard (WSMO - Standard) v 1.0, WSMO Working Draft D2, 16 August 2004.

• [WSMO Choreography] Roman, D.; Stollberg, M.; Vasiliu, L.; Bussler, C.:(eds.): Choreography in WSMO, WSMO Working Draft D14, 17 August 2004.

• [WSMO Orchestration] Roman, D.; Vasiliu, L.; Bussler, C.: (eds.): Orchestration in WSMO, WSMO Working Draft D15, 29 May 2004.

• [WSMO Use Case] Stollberg, M.; Lausen, H.; Polleres, A.; Lara, R. (ed.): WSMO Use Case Modeling and Testing, WSMO Working Draft D3.2, 19 July 2004.

Page 334: Daniela Berardi John Domingue

334

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

References DiscoveryB. Benatallah, M. Hacid, C. Rey, F. Toumani Towards Semantic Reasoning for

Web Services Discovery,. In Proc. of the International Semantic Web Conference (ISWC 2003), 2003

Herzog, R.; Lausen, H.; Roman, D.; Zugmann, P.: WSMO Registry. WSMO WorkingDraft D10 v0.1, 26 April 2004.

Keller, U.; Lara, R.; Polleres, A. (Eds): WSMO Web Service Discovery. WSML Working Draft D5.1, 12 Nov 2004.

Keller, U.; Lara, R.; Lausen, H.; Polleres, A.; Fensel, D.: Automatic Location of Services. In Proc. of the 2nd European Semantic Web Symposium (ESWS2005), Heraklion, Crete, 2005.

M. Kifer, R. Lara, A. Polleres, C. Zhao, U. Keller, H. Lausen and D. Fensel: A Logical Framework for Web Service Discovery. Proc. 1st. Intl. Workshop SWS'2004 at ISWC 2004,Hiroshima, Japan, November 8, 2004, CEUR Workshop Proceedings, ISSN 1613-0073

Lara, R., Lausen, H.; Toma, I.: (Eds): WSMX Discovery. WSMX Working Draft D10 v0.2, 07 March 2005.

Lei Li and Ian Horrocks. A software framework for matchmaking based on semantic web technology. In Proc. of the Twelfth International World Wide Web Conference (WWW 2003), 2003.

Page 335: Daniela Berardi John Domingue

335

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

References DiscoveryLei Li and Ian Horrocks. A software framework for matchmaking based on

semantic web technology. In Proc. of the Twelfth International World Wide Web Conference (WWW 2003), 2003

Daniel J. Mandell and Sheila A. McIlraith. Adapting BPEL4WS for the Semantic Web: The Bottom-Up Approach to Web Service Interoperation. In Proceedings of the Second International Semantic Web Conference (ISWC2003),

Massimo Paolucci, Takahiro Kawamura, Terry R. Payne, Katia Sycara; Importing the Semantic Web in UDDI. In Proceedings of Web Services, E-business and Semantic Web Workshop, 2002

Massimo Paolucci, Takahiro Kawamura, Terry R. Payne, Katia Sycara; "Semantic Matching of Web Services Capabilities." In Proceedings of the 1st International Semantic Web Conference (ISWC2002), 2002

Preist, C.: A Conceptual Architecture for Semantic Web Services. In Proceedings of the 3rd International Semantic Web Conference (ISWC 2004), 2004, pp. 395 -409.

Stollberg, M.; Keller, U.; Fensel. D.: Partner and Service Discovery for Collaboration on the Semantic Web. Proc. 3rd Intl. Conference on Web Services (ICWS 2005), Orlando, Florida, July 2005.

Page 336: Daniela Berardi John Domingue

336

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Composition of Information Oriented Services: References

• Read and exploit data integration literature!Survey on data integration[Halevy VLDBJ01] A. Y. Halevy: Answering queries using views: A survey. VLDB J. 10(4): 270-294

(2001)[Lenzerini PODS02] M. Lenzerini: Data Integration: A Theoretical Perspective. PODS 2002: 233-246[Ullman ICDT97] J. D. Ullman: Information Integration Using Logical Views. ICDT 1997: 19-40

Seminal papers[Levy etal PODS05] A. Y. Levy, A. O. Mendelzon, Y. Sagiv, D. Srivastava: Answering Queries Using

Views. PODS 1995: 95-104 [Abiteboul etal PODS98] S. Abiteboul, O. M. Duschka: Complexity of Answering Queries Using

Materialized Views. PODS 1998: 254-263 [Duschka etal PODS97] O. M. Duschka, M. R. Genesereth: Answering Recursive Queries Using

Views. PODS 1997: 109-116 [Calvanese etal JCSS02] D. Calvanese, G. De Giacomo, M. Lenzerini, M. Y. Vardi: Rewriting of

Regular Expressions and Regular Path Queries. J. Comput. Syst. Sci. 64(3): 443-465 (2002) [Rajaraman etal PODS95] A. Rajaraman, Y. Sagiv, J. D. Ullman: Answering Queries Using

Templates with Binding Patterns. PODS 1995: 105-112

• See how other service-researchers have used it![Ghandeharizadeh etal ICWS03] S. Ghandeharizadeh, C. A. Knoblock, C. Papadopoulos, C.

Shahabi, E. Alwagait, J. L. Ambite, M. Cai, C. Chen, P. Pol, R. R. Schmidt, S. Song, S. Thakkar, R. Zhou: Proteus: A System for Dynamically Composing and Intelligently Executing Web Services. ICWS 2003: 17-21

[Thakkar etal P4WGS] S. Thakkar, J. L. Ambite, C. A. Knoblock: A Data Integration Approach toAutomatically Composing and Optimizing Web Services. P4WGS –ICAPS WS 2004: 86-93

Page 337: Daniela Berardi John Domingue

337

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Composition of Services as Atomic Actions: References

• Read and exploit planning and reasoning about actions literature!BooksChapters on Planning and on Reasoning about Actions in any Artificial Intelligence textbook.[GNT04] M. Ghallab, D. Nau, P. Traverso. Automated Planning: Theory and

Practice. Morgan Kaufmann, 2004.[Reiter02] R.Reiter: Knowledge in Action. MIT Press, 2002.

Interesting papers[Levesque AAAI/IAAI96] H. J. Levesque: What Is Planning in the Presence of Sensing?

AAAI/IAAI, Vol. 2 1996: 1139-1146 [Bacchus&Kabanza AAAI/IAAI96] F. Bacchus, F. Kabanza: Planning for Temporally

Extended Goals. AAAI/IAAI, Vol. 2 1996: 1215-1222 [Giunchiglia&Traverso ECP99] F. Giunchiglia, P. Traverso: Planning as Model Checking.

ECP 1999: 1-20[Calvanese etal KR02] D. Calvanese, G. De Giacomo, M. Y. Vardi: Reasoning about Actions

and Planning in LTL Action Theories. KR 2002: 593-602[De Giacomo&Vardi ECP99] G. De Giacomo, M. Y. Vardi: Automata-Theoretic Approach to

Planning for Temporally Extended Goals. ECP 1999: 226-238 [Bylander IJCAI91] Tom Bylander: Complexity Results for Planning. IJCAI 1991: 274-279

• See how other service-researchers have used it!– Proceedings of P4WGS – ICAPS Workshop 2004– Proceedings of P4WS – ICAPS Workshop 2003

Page 338: Daniela Berardi John Domingue

338

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Composition of Services exposingComplex Behavior: McIlraith & her group

Background[McCarthy IFIP62] J. L. McCarthy: Towards a Mathematical Science of Computation. IFIP Congress 1962.:

21-28[McCarthy&Hayes MI69] J. L. McCarthy and P. C. Hayes: Some Philosophical Problems from the Standpoint

of Artificial Intelligence. Machine Intelligence 4, 1969 [Reiter 2002] R. Reiter: Knowledge in Action. MIT Press, 2002.[Levesque etal JLP2000] H. J. Levesque, R. Reiter, Y. Lespérance, F. Lin, R. B. Scherl: GOLOG: A Logic

Programming Language for Dynamic Domains. J. Log. Program. 31(1-3): 59-83 (1997) [De Giacomo etal AIJ2000] G. De Giacomo, Y. Lespérance, H. J. Levesque: ConGolog, a concurrent

programming language based on the situation calculus. Artif. Intell. 121(1-2): 109-169 (2000) [De Giacomo etal KR02] G. De Giacomo, Y. Lespérance, H. J. Levesque, S. Sardiña: On the Semantics of

Deliberation in IndiGolog: From Theory to Implementation. KR 2002: 603-614 [Scherl&Levesque AIJ03] R. B. Scherl, H. J. Levesque: Knowledge, action, and the frame problem. Artif.

Intell. 144(1-2): 1-39 (2003)

Papers[McIlraith etal IEEE01] S. A. McIlraith, T. Cao Son, H. Zeng: Semantic Web Services. IEEE Intelligent

Systems 16(2): 46-53 (2001)[Narayanan&McIlraith WWW02] S. Narayanan, S. A. McIlraith: Simulation, verification and automated

composition of web services. WWW 2002: [McIlraith&Son KR02] S. A. McIlraith, T. Cao Son: Adapting Golog for Composition of Semantic Web

Services. KR 2002: 482-496 [Burstein etal ISWC02] M. H. Burstein, J. R. Hobbs, O. Lassila, D. Martin, D. V. McDermott, S. A. McIlraith, S.

Narayanan, M. Paolucci, T. R. Payne, K. P. Sycara: DAML-S: Web Service Description for the Semantic Web. International Semantic Web Conference 2002: 348-363

[Narayanan&McIlraith CN03] Srini Narayanan, Sheila A. McIlraith: Analysis and simulation of Web services. Computer Networks 42(5): 675-693 (2003)

[McIlraith&Martin IEEE03] S. A. McIlraith, D. L. Martin: Bringing Semantics to Web Services. IEEE IntelligentSystems 18(1): 90-93 (2003)

Page 339: Daniela Berardi John Domingue

339

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Composition of Services exposingComplex Behavior: Hull & his group

Paper analyzed[Gerede etal ICSOC04] C. E. Gerede, R. Hull, O. H. Ibarra, J. Su:

Automated Composition of E-services: Lookaheads. ICSOC 2004

Other papers[Hull etal PODS03] R. Hull, M. Benedikt, V. Christophides, J. Su:

E-services: a look behind the curtain. PODS 2003: 1-14 [Hull etal SIGMOD03] R. Hull, J. Su: Tools for Design of

Composite Web Services. SIGMOD Conference 2004: 958-961 [Bultan etal WWW03] T. Bultan, X. Fu, R. Hull, J. Su:

Conversation specification: a new approach to design and analysis of e-service composition. WWW 2003: 403-410

Page 340: Daniela Berardi John Domingue

340

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Composition of Services exposingComplex Behavior: Traverso & his group

Papers on Planning as Model Checking[Giunchiglia&Traverso ECP99]F. Giunchiglia, P. Traverso: Planning as Model Checking.

ECP 1999: 1-20 [Pistore&Traverso IJCAI01] M. Pistore, P. Traverso: Planning as Model Checking for

Extended Goals in Non-deterministic Domains. IJCAI 2001: 479-486 [Bertoli etal IJCAI01] P. Bertoli, A. Cimatti, M. Roveri, P. Traverso: Planning in

Nondeterministic Domains under Partial Observability via Symbolic Model Checking. IJCAI 2001: 473-478

[Dal Lago etal AAAI/IAAI02] U. Dal Lago, M. Pistore, P. Traverso: Planning with a Language for Extended Goals. AAAI/IAAI 2002: 447-454

[Cimatti etal AIJ03] A. Cimatti, M. Pistore, M. Roveri, P. Traverso: Weak, strong, and strong cyclic planning via symbolic model checking. Artif. Intell. 147(1-2): 35-84 (2003)

[Bertoli etal ICAPS03] P. Bertoli, A. Cimatti, M. Pistore, P. Traverso: A Framework forPlanning with Extended Goals under Partial Observability. ICAPS 2003: 215-225

Papers on Service Composition[Pistore&Traverso ISWC04] M. Pistore, P. Traverso: Automated Composition of Semantic

Web Services into Executable Processes. ISWC2004.[Pistore etal P4WGS04] M. Pistore, F. Barbon, P. Bertoli, D. Shaparau, P. Traverso:

Planning and Monitoring Web Service Composition. P4WGS – ICAPS WS 2004[Pistore etal AIMSA04] M. Pistore, F. Barbon, P. Bertoli, D. Shaparau, P. Traverso:

Planning and Monitoring Web Service Composition. AIMSA 2004: 106-115

Page 341: Daniela Berardi John Domingue

341

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

Composition of Services exposingComplex Behavior: the Roman Group

Papers[Berardi etal IJCIS05] D. Berardi, D. Calvanese, G. De Giacomo, M. Lenzerini, M. Mecella:

Automatic Service Composition based on Behavioral Description. International Journal of Cooperative Information Systems (IJCIS). To appear.

[Berardi PhD] Automatic Service Composition. Models, Techniques and Tools. PhD Thesis, 2005. Università di Roma “La Sapienza”.

[Berardi etal ICSOC03] D. Berardi, D. Calvanese, G. De Giacomo, M. Lenzerini, M. Mecella: Automatic Composition of E-services That Export Their Behavior. ICSOC 2003: 43-58

[Berardi etal ICSOC04] D. Berardi, G. De Giacomo, M. Lenzerini, M. Mecella, D. Calvanese: Synthesis of Underspecified Composite e-Services based on Automated Reasoning. ICSOC 2004

[Berardi etal WES03] D. Berardi, D. Calvanese, G. De Giacomo, M. Lenzerini, M. Mecella: A Foundational Vision of e-Services. WES 2003: 28-40

[Berardi etal P4WS03] D. Berardi, D. Calvanese, G. De Giacomo, and M. Mecella: Composing e-Services by Reasoning about Actions, ICAPS 2003 Workshop on Planning for Web Services(P4WS03).

[Berardi etal DL03] D. Berardi, D. Calvanese, G. De Giacomo, M. Lenzerini, M. Mecella: e-ServiceComposition by Description Logics Based Reasoning. Description Logics 2003

[Berardi etal P4WGS04] D. Berardi, D. Calvanese, G. De Giacomo, M. Lenzerini, M. Mecella: Synthesis of Composite e-Services based on Automated Reasoning. ICAPS 2004 Workshop on Planning and Scheduling for Web and Grid Services (P4WGS04).

[Berardi etal TES04] D. Berardi, D. Calvanese, G. De Giacomo, M. Lenzerini, M. Mecella: ESC: A Tool for Automatic Composition of e-Services based on Logics of Programs, VLDB-TES 2004

[Berardi etal WSCC04] - D. Berardi, R. Hull, M. Gruninger, S. McIlraith: Towards a First-Order Ontology for Semantic Web Services. Proc. W3C International Workshop on Constraints and Capabilities for Web Services (WS-CC), 2004, http://www.w3.org/2004/06/ws-cc-cfp.html

Page 342: Daniela Berardi John Domingue

342

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

SWS tools: ESC[ACKM04] - G. Alonso, F. Casati, H. Kuno, V. Machiraju: Web Services. Concepts, Architectures and

Applications. Springer-Verlag 2004[Benatallah etal IJCIS04] - B. Benatallah, F. Casati, H. Skogsrud, F. Toumani: Abstracting and Enforcing Web

Service Protocols, International Journal of Cooperative Information Systems (IJCIS), 13(4), 2004[Baina etal CAISE04] K. Baina, B. Benatallah, F. Casati, F. Toumani: Model-driven Web Service Development,

Proc. of CAiSE'04, LNCS 3084, 2004[Berardi etal IJCIS05] D. Berardi, D. Calvanese, G. De Giacomo, M. Lenzerini, M. Mecella: Automatic Service

Composition based on Behavioral Description. International Journal of Cooperative Information Systems (IJCIS). To appear.

[Berardi PhD] Automatic Service Composition. Models, Techniques and Tools. PhD Thesis, 2005. Università diRoma “La Sapienza”.

[Berardi etal ICSOC03] - D. Berardi, D. Calvanese, G. De Giacomo, M. Lenzerini, M. Mecella: Proc. of ICSOC'03, LNCS 2910, 2004

[Berardi etal VLDB-TES04] - D. Berardi, D. Calvanese, G. De Giacomo, M. Lenzerini, M. Mecella: Post-proc. of VLDB-TES'04, to appear

[Stirling Banff ‘96] - C. Stirling: Modal and Temporal Logics for Processes. Banff Higher Order Workshop, LNCS 1043, 1996. Available at: http://homepages.inf.ed.ac.uk/cps/banff.ps

[WSDL] - R. Chinnici, M. Gudgin, J.J. Moreau, J. Schlimmer, and S. Weerawarana, Web Services Description Language (WSDL) 2.0, Available on line: http://www.w3.org/TR/wsdl20, 2003, W3C Working Draft.

[BPEL4WS] - T. Andrews, F. Curbera, H. Dholakia, Y. Goland, J. Klein, F. Leymann, K. Liu, D. Roller, D. Smith, S. Thatte, I. Trickovic, and S. Weerawarana, Business Process Execution Language for Web Services (BPEL4WS) -Version 1.1, http://www-106.ibm.com/developerworks/library/ws-bpel/, 2004

Page 343: Daniela Berardi John Domingue

343

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

References IRS III tutorial• J. Domingue, L. Cabral, F. Hakimpour,D. Sell and E. Motta: IRS-III: A Platform and

Infrastructure for Creating WSMO-based Semantic Web Services. Proceedings of the Workshop on WSMO Implementations (WIW 2004) Frankfurt, Germany, September 29-30, 2004, CEUR Workshop Proceedings, ISSN 1613-0073, online http://CEUR-WS.org/Vol-113/paper3.pdf.

• J. Domingue and S. Galizia: Towards a Choreography for IRS-III.• Proceedings of the Workshop on WSMO Implementations (WIW 2004) Frankfurt,

Germany, September 29-30, 2004, CEUR Workshop Proceedings, ISSN 1613-0073, online http://CEUR-WS.org/Vol-113/paper7.pdf.

• Cabral, L., Domingue, J., Motta, E., Payne, T. and Hakimpour, F. (2004).• Approaches to Semantic Web Services: An Overview and Comparisons. In

proceedings of the First European Semantic Web Symposium (ESWS2004);• 10-12 May 2004, Heraklion, Crete, Greece.

• Motta, E., Domingue, J., Cabral, L. and Gaspari, M. (2003) IRS-II: A Framework and Infrastructure for Semantic Web Services. In proceedings of the 2nd International Semantic Web Conference (ISWC2003) 20-23 October 2003, Sundial Resort, Sanibel Island, Florida, USA.

Page 344: Daniela Berardi John Domingue

344

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

AcknowledgementsWe would like to acknowledge the contribution of the past and present members of the OWL-S coalition for their hard work in the development of the language. Furthemore, we would like to thank the community at large for contributing to tools and ideas.

Furthermore, we would like to thank to all the members of the WSMO, WSML, and WSMX working groups for their advice and input into this tutorial.

Special thanks to Sheila McIlraith, Craig Schlenoff, Daniel Eleniusand Naveen Srinivasan for providing slides and suggestions on this tutorial.

Slide design by Harriett Cornish, Knowledge Media Insitute, The Open University

Page 345: Daniela Berardi John Domingue

345

2nd European Semantic Web Conference, Heraklion, Greece, May 2005

AcknowledgementsThe development of OWL-S has been funded almost

exclusively by the DAML DARPA program.

The WSMO work is funded by the European Commission under the projects DIP, Knowledge Web, SEKT, SWWS, AKT and Esperonto; by Science Foundation Ireland under the DERI-Lion project; and by the Vienna city government under the CoOperate program.