tools and technologies for semantic web services: an … · tools and technologies for semantic web...

200
Katia Sycara Agents and Web Technologies Lab Carnegie Mellon University [email protected] http://www.cs.cmu.edu/~softagents/ Tools and Technologies for Tools and Technologies for Semantic Web Services: Semantic Web Services: An OWL An OWL - - S Perspective S Perspective David Martin Artificial Intelligence Center SRI International [email protected] http://www.ai.sri.com/~martin/

Upload: phungxuyen

Post on 26-Jun-2018

223 views

Category:

Documents


0 download

TRANSCRIPT

Katia SycaraAgents and Web Technologies Lab

Carnegie Mellon [email protected]

http://www.cs.cmu.edu/~softagents/

Tools and Technologies for Tools and Technologies for

Semantic Web Services:Semantic Web Services:

An OWLAn OWL--S PerspectiveS Perspective

David MartinArtificial Intelligence Center

SRI [email protected]

http://www.ai.sri.com/~martin/

ISWC-06OWL-S Tutorial Sycara / Martin

Tutorial OutlineTutorial Outline

The Vision

Web Services

Semantic Web Services Motivations

Semantic Web Services ApproachesOWL-S

Related Work

Semantic Web Services Applications

Semantic Web Services Tools

Challenges and Future Directions

ISWC-06OWL-S Tutorial Sycara / Martin

From the Internet to the Semantic Web From the Internet to the Semantic Web

Old World :

“The eye-ball Web”

The architecture of the Web is

geared towards delivering

information visually (Internet

filled with human readable

information)

New World:

“The Semantic Web”

The content of the Web

becomes computer intelligible

(Internet filled with machine

understandable information)

Source: IBM

ISWC-06OWL-S Tutorial Sycara / Martin

From the Internet to Web ServicesFrom the Internet to Web Services

Old World :

“The eye-ball Web”

The architecture of the Web is

geared towards delivering

information visually (Internet

filled with human readable

information)

New World:

“The transactional Web”

The architecture of the Web

geared towards exchanging

information between

applications (Internet filled

with executables)

Source: IBM

ISWC-06OWL-S Tutorial Sycara / Martin

From the Internet to Semantic Web ServicesFrom the Internet to Semantic Web Services

Old World :

“The eye-ball Web”

The architecture of the Web is

geared towards delivering

information visually (Internet

filled with human readable

information)

New World:

“The Coordination Web”

The architecture of the Web

geared towards applications

that intelligibly coordinate

information exchanges

(Internet filled with machine

understandable executables)

Source: IBM

ISWC-06OWL-S Tutorial Sycara / Martin

From the Internet to Autonomous Semantic Web ServicesFrom the Internet to Autonomous Semantic Web Services

Old World :

“The eye-ball Web”

The architecture of the Web is

geared towards delivering

information visually (Internet

filled with human readable

information)

New World:

“The Agent Web”

The architecture of the Web

geared towards goal directed

applications that intelligibly

and adaptively coordinate

information and action

(Internet filled with context-

aware and self organizing

agents)

Source: IBM

ISWC-06OWL-S Tutorial Sycara / Martin

AcknowledgmentsAcknowledgments

DARPA - DAML programProgram managers Jim Hendler,Murray Burke, Mark Greaves

OWL-S Coalition membersEvren Sirin (MINDSWAP), Katia Sycara (CMU), Massimo Paolucci (Docomo Labs), Naveen Srinivasan (WebMethods), Sheila McIlraith (U. Toronto), Terry Payne (U. Southampton)

Other researchers & usersJim Hendler (U. Maryland), Ora Lassila (Nokia), Marty Tenenbaum (CommerceNet), Carol Goble (U. Manchester), Ryu Masuoka (Fujitsu), Randy Washington (DCS Corp.), Craig Schlenoff (NIST), David Hanz, Reg Ford (SRI), E. Michael (Max) Maximilien (IBM), Jürgen Zimmer (DFKI)

ISWC-06OWL-S Tutorial Sycara / Martin

Services are HappeningServices are Happening

eBusiness need & vision, vendor investmentInteroperability; virtual organizationsIntranets, not just internetsMarket prediction: $11 Billion in 2007 (IDC study)

Standards efforts at W3C, OASIS, etc.Semantic Web community

OWL-S, SWSF, WSMO, WSDL-S & other research efforts

Grid computingUbiquitous computing (devices; smart environments)

Mobile access to services

A remarkable opportunityCreating a Web with activities, computation, goals, processes as 1st-class citizensBringing behavioral intelligence to the Web

ISWC-06OWL-S Tutorial Sycara / Martin

Web Services Web Services -- A New Paradigm?A New Paradigm?

Web Services heralded as:“… self-contained, self-describing, modular applications that can be published,

located, and invoked across the Web…”

Which will allow……on the fly composition of new functionality through the use of loosely coupled reusable software components

…decomposition and distribution of large-scale processing tasks into component tasks executed simultaneously across many devices

“Web services are expected to revolutionize our life in much the same way as the Internet has during the past decade or so.” (Gartner)

ISWC-06OWL-S Tutorial Sycara / Martin

Web Services: The EssenceWeb Services: The Essence

“Loosely coupled software components that interact with one another dynamically via standard Internet technologies” (Gartner)

Reliable, ubiquitous software interoperabilityAcross networks

Across organizations

Non-proprietary standards

Focus on communications; content exchangeBasic infrastructure & tools

ISWC-06OWL-S Tutorial Sycara / Martin

Widely distributed, decentralized, reusable capabilitiesAccessible from a variety of platforms & devicesThe Internet as a global platform where organizations and individuals engage in cooperative activities & transactions

Highly dynamic, flexible “virtual organizations”Adaptive, composable workflows

“When new techniques improve the reaction times of organizations and people from weeks to seconds, they change the very structure of business. This is not a mere quantitative change, but a major qualitative change.” (Singh & Huhns)

WS: The Broader VisionWS: The Broader Vision

ISWC-06OWL-S Tutorial Sycara / Martin

So what is new about Web Services?So what is new about Web Services?

Uses standard protocols and technologies (e.g., XML, SOAP, WSDL, HTTP)

Uses different protocols and technologies (e.g., Microsoft DCOM, CORBA)

Mainly designed for processes across enterprises

Mainly designed for processes within the enterprise

Loosely coupled software applications (low dependencies between applications)

Tightly coupled software applications (high dependencies between systems)

Web Services ModelComponent-Based Model

Web Services do for programs what the Web did for Documents

ISWC-06OWL-S Tutorial Sycara / Martin

Machine ComprehensionMachine Comprehension

Current e-commerce sites that provide services traditionally have a human interface

Required information is presented using forms

Humans interpret labels and enter corresponding information

Humans interpret resulting information

Form-based interaction ill-suited for machine comprehension

Prior knowledge can be used to prime parsing of pages

• E.g. screen scraping

CGI-based services can ignore presented page and submit a preformed request directly to the server

Web Services make the implicit specifications explicit!

ISWC-06OWL-S Tutorial Sycara / Martin

Requirements and ChallengesRequirements and Challenges

Information and action integration across the Web (currently the user is the “glue”)

System integration/interoperability Web-wide (within and across organizations)

Semantic Interoperability

Consistency of behavior of long running transactions (both for e-commerce and e-science) in the face of partial, distributed failures

Dynamic and goal-directed discovery, interaction and composition of applications across the Web

ISWC-06OWL-S Tutorial Sycara / Martin

Human Oriented Services Human Oriented Services vsvs Machine Oriented ServicesMachine Oriented Services

The web is organized around URIs, HTML, and HTTP.

URIs provide defined ids to refer to elements on the web,

HTML provides a standardized way to describe document structures (allowing browsers to render information for the human reader), and

HTTP defines a protocol to retrieve information from the web.

==> Not surprisingly, web services require a similar infrastructure around UDDI, WSDL, and SOAP.

Source: Dieter Fensel & Christoph Bussler

ISWC-06OWL-S Tutorial Sycara / Martin

Web Services: Where Are We Today?Web Services: Where Are We Today?

Derived From M. Singh and M. Huhns: Service-Oriented Computing: Semantics, Processes, Agents

*

BPEL4WSOWL-S Service

Model

ebXML

CPA

Process and workflow

orchestrations

QoS: Service

descriptions and bindings

Contracts and

agreements

XLANG

WSCL

WSDLebXML

CPP

ebXML

BPSS

XML, DTD, and XML Schema

HTTP, FTP, SMTP, SIP, etc.

SOAPebXML

messaging

OWL

UDDIebXML

Registries

WSCLWSCI

WS-Choreography

WS-AtomicTransaction and WS-

BusinessActivity

OWL-S Service

Grounding

OWL-S Service

Profile

BTP

BPML

Discovery

Messaging

Transport

QoS: Conversations

QoS: Choreography

QoS: Transactions

Encoding

WS-Policy

WS-Security

WS-Reliable

Messaging

PSL

RDF

OWL-S &

other

SWS

approaches

Overview / Web Services

ISWC-06OWL-S Tutorial Sycara / Martin

SOAP (Simple Object Access Protocol)SOAP (Simple Object Access Protocol)

Web Services communication protocol

XML extension

A convention for doing Remote Procedure Calls (RPC):Request (SOAP message)

Response (SOAP message)

Current Status:Developed by Microsoft, DevelopMentor, UserLand, Lotus and IBM

ISWC-06OWL-S Tutorial Sycara / Martin

SOAPSOAP

Simple Object Access Protocol

W3C Recommendation

XML data transport:- sender / receiver

- protocol binding

- communication aspects

- content

ISWC-06OWL-S Tutorial Sycara / Martin

WSDL (Web Services Description Language)WSDL (Web Services Description Language)

Structured mechanism to describe:Abstract operations that a Web Service can perform

Format of messages it can process

Protocols it can support

Physical bindings to:

• communication languages, e.g. SOAP or HTTP messages

• Location of services, i.e. URI and port numbers

XML based

Current Status:Working Group at W3C

ISWC-06OWL-S Tutorial Sycara / Martin

WSDL WSDL

Web Service Description Language

W3C effort, WSDL 2

describes interface for

consuming a Web Service:- Interface: operations (in- & output)

- Access (protocol binding)

- Endpoint (location of service)

ISWC-06OWL-S Tutorial Sycara / Martin

UDDI (Universal Discovery, Description & UDDI (Universal Discovery, Description &

Integration)Integration)

Public directory for registering and looking up services

A directory entry has three main parts:White pages: to describe the company offering the service

Yellow pages: to categorize services by industry type (e.g. SIC)

Green pages: to describe the interface to a web service

Uses Type Model or tModel documents

Current Status:Industry initiative in OASIS led by Microsoft, IBM and Ariba; more than 300 companies participating

ISWC-06OWL-S Tutorial Sycara / Martin

UDDIUDDI

Universal Description, Discovery, and Integration Protocol

OASIS driven standardization effort

Registry for

Web Services:- provider

- service information

- technical access

ISWC-06OWL-S Tutorial Sycara / Martin

Current State: Web Services Standards (Current State: Web Services Standards (cntcnt.).)

BPEL: Description of how Web Services are composed

Flow Model describes the structure of the business process in terms of activities of process steps and data and control links

Global Model• Describes interaction between provider and requester

• Mappings between internal operations and WSDL port types

ISWC-06OWL-S Tutorial Sycara / Martin

WS: Basic Building BlocksWS: Basic Building Blocks

Overview / Web Services

ISWC-06OWL-S Tutorial Sycara / Martin

Web Services Web Services

Description LanguageDescription Language

I can receive a message having this form …

And I will reply with a message having this form …

On port 5552, using HTTP transport, SOAP format

WSDL

WebService

DescribesService

Overview / Web Services

ISWC-06OWL-S Tutorial Sycara / Martin

So WhatSo What’’s the Problem?s the Problem?

Overview / Web Services

ISWC-06OWL-S Tutorial Sycara / Martin

Current State: Web Services StandardsCurrent State: Web Services Standards

SOAP: XML based web services communication protocolLimitations

Unbounded message format

Has no communicative speech acts (cannot determine intention of actors or type of the message)

WSDL: Structured mechanism to describe a WS interface

Limitations

No semantics for message sequencing and correlation

No semantics for message content

ISWC-06OWL-S Tutorial Sycara / Martin

Current State: Web Services Standards (Current State: Web Services Standards (cntcnt.).)

BPEL: Description of how Web Services are composed

LimitationsNo IOPEs

Allows execution of a manually constructed composition

UDDI: Directory Service for Web Services

Limitations: keyword searches, limited capability search

ISWC-06OWL-S Tutorial Sycara / Martin

Semantics NeededSemantics Needed

To use this service you must be a member of AAA.

If you’ve been a member for 3 or more years, you get a 15% discount.

WebService

DescribesService

???

Overview / Web Services

ISWC-06OWL-S Tutorial Sycara / Martin

Semantics NeededSemantics Needed

When you access this service, you may use TLS or WS-Security.

WS-Security is preferred.

Using TLS costs $9; using WS-Security $15.

WebService

DescribesService

???

Overview / Web Services

ISWC-06OWL-S Tutorial Sycara / Martin

Semantics NeededSemantics Needed

If I fail to deliver this item within 7 days, I will pay a 30% penalty.

WebService

DescribesService

???

Overview / Web Services

ISWC-06OWL-S Tutorial Sycara / Martin

Semantics NeededSemantics Needed

You can only access this information if you agree to make changes to it freely available.

WebService

DescribesService

???

Overview / Web Services

ISWC-06OWL-S Tutorial Sycara / Martin

Semantics NeededSemantics Needed

???I will arrange for the requested book to be shipped to you

and

I will debit your credit card account for the listed price Web

Service

DescribesService

Overview / Web Services

ISWC-06OWL-S Tutorial Sycara / Martin

Tackling Semantic InteroperabilityTackling Semantic Interoperability……

Lack of Semantic Interoperability is a major hurdle for

Discovery

• Different terms used for advertisements and requests

Invocation

• Different specs for messages and WS interface

Understanding

• Interpreting the results returned by the Web service

Composing Services

• Reconciling private goals with goals of the WS

Negotiating contracts & communications

• Different terminology and protocols used

ISWC-06OWL-S Tutorial Sycara / Martin

Is this a real problem?Is this a real problem?

World Wide Annual Integration plus Data Quality Costs: $1 Trillion / year

“The problem is not in the plumbing. It’s in the semantics”(quotation from Michael Brodie’s invited talk at ISWC 2003)

Note: some standards committees, e.g. WSDL and UDDI start realizing this truth and planning to incorporate RDF and OWL in these standards

ISWC-06OWL-S Tutorial Sycara / Martin

The Need for SemanticsThe Need for Semantics

What is the Semantic Web...What is the Semantic Web...

……and how does it relate toand how does it relate to

Services?Services?

ISWC-06OWL-S Tutorial Sycara / Martin

Why isnWhy isn‘‘t XML enough?t XML enough?

Since ontologies standardize contentWhy can’t standardize XML schemata?

Wouldn’t it be equivalent to OWL?

XML schemaGood to verify syntactic compliance• But impossible to verify semantic compliance

– Can verify that the value of a slot is within the length limit

– But cannot verify that it is the correct word

No logics: impossible to extract implicit knowledge

ISWC-06OWL-S Tutorial Sycara / Martin

The Semantic WebThe Semantic Web

“The Semantic Web is an extension of the current Web in which information is given a well-defined meaning, better enabling computers and people to work in cooperation. It is the idea of having data on the Web defined and linked in a way that it can be used for more effective discovery, automation, integration and reuse across various applications. The Web can reach its full potential if it becomes a place where data can be processed by automated tools as well as people”

From the W3C Semantic Web Activity statementFrom the W3C Semantic Web Activity statement

“computational agents require machine-readable descriptions of the content and capabilities of web accessible resources. These descriptions must be in addition to the human-readable versions of that information. “

From the OWL Guide

ISWC-06OWL-S Tutorial Sycara / Martin

What is the Semantic Web (contWhat is the Semantic Web (cont’’d)?d)?

A Vision for the Evolution of the Web

An (envisioned) pervasive information infrastructure

A web for machines as well as people

A Research Area

A Set of Standards Activities at the W3C

A Collection of Languages, Reasoners, and Tools

A Growing Collection of Ontologies and Knowledge Bases (World-Wide)

A Set of Shared Representations, Collaborative Activities and Communities Forming Around Them

Overview / Semantic Web

ISWC-06OWL-S Tutorial Sycara / Martin

Semantic Web LayersSemantic Web Layers

Source of picture: W3C

Overview / Semantic Web

ISWC-06OWL-S Tutorial Sycara / Martin

Semantic WebSemantic Web

OWLOWL

OWL is a W3C standard

OWL is a Description Logic-based Language: provides the basic constructs to describe ontologies

Definition of concepts

Relations between concepts

Special relation: subclass for generalization

Effectively computable• Good optimization algorithms support inference

OWL specifications

W3C page on OWL

• http://www.w3c.org/2001/sw/WebOnt/

OWL Guide and language reference

• http://www.w3.org/TR/owl-guide/

• http://www.w3.org/TR/owl-ref/

Tutorials

Costello and Jacobs’ OWL tutorial: http://www.xfront.com/owl

ISWC-06OWL-S Tutorial Sycara / Martin

OWL as Description Logics LanguageOWL as Description Logics Language

Subset of First Order Logics used to describe objects in a domain

Allows three types of objects

Concepts: describe general concepts of things in the domain

Individuals: an object in the domain

Properties: relations between concepts

• One special relation is ISA (or subclassOf)

ISWC-06OWL-S Tutorial Sycara / Martin

Types and quantifiers on PropertiesTypes and quantifiers on Properties

Different types of properties

Transitivity, Symmetry, Function, Inverse etc…

Cardinality restrictions

at-most, at-least, exactly, optionality (0 or more)

Type restrictions

Identifies subclasses that have some restriction on a property P

ISWC-06OWL-S Tutorial Sycara / Martin

Equivalence between concepts Equivalence between concepts

Equivalence of concepts

Ont1:LiquidContainer sameAs ont2:Bottle

Equivalence of individuals

EveningStar sameAs MorningStar

Difference of individuals and concepts

Assert values that are mutually distinct.

ISWC-06OWL-S Tutorial Sycara / Martin

Using Set TheoryUsing Set Theory

Complex types to support set theory

union, intersection and complement

Enumerated Classes

means to specify a class via a direct enumeration of its members,

Disjoint Classes

It guarantees that an individual that is a member of one class cannot simultaneously be an instance of a specified other class.

ISWC-06OWL-S Tutorial Sycara / Martin

OWL Full, OWL DL, OWL LiteOWL Full, OWL DL, OWL Lite

Description Logics provides a careful balance between expressivity and computational complexity

OWL provides sublanguages with reduced expressivity and computational complexity

OWL Full

OWL DL

OWL Lite

ISWC-06OWL-S Tutorial Sycara / Martin

Advantages of using OWLAdvantages of using OWL

Benefits to application developers:Less code to write: code becomes reusable

Less chance of misinterpretation

Benefits to community at large:Everyone can understand each other's data's semantics, since they are in a common language.

OWL uses the XML syntax to express semantics

ISWC-06OWL-S Tutorial Sycara / Martin

Web-based social networks

A little Semantics

goes a long way

Data harvesting &

visualization

Rich

metadata

Semantic Semantic WEBWEB

Courtesy of Jim Hendler & Ora Lassila

ISWC-06OWL-S Tutorial Sycara / Martin

SEMANTICSEMANTIC WebWeb

Digital asset management Scientific portals

A little Web

goes a long way

Tools for developers Courtesy of Jim Hendler & Ora Lassila

ISWC-06OWL-S Tutorial Sycara / Martin

A Lot is Happening A Lot is Happening ……

Semantic (Web) technology companies starting & growing Cerebra, Siderean, SandPiper, SiberLogic, Ontology Works, Intellidimension, Intellisophic, TopQuadrant, Data Grid, …

Bigger players buying inAdobe, Cisco, HP, IBM, Nokia, Oracle, Sun, Vodaphone… announcements/use in 2005

integrator and contractor uptake: Northrop Grumman buys TKS, Lockheed-Martin uses SiberLogic in FCS, SAIC teams with ClarkParsia, WebMethods buys Cerebra..

tools being announced: AllegroGraph, TopBraid, …

Government projects in and across agenciesUS, EU, Japan, Korea, China, …

Life sciences/pharma an increasingly important marketHealth Care and Life Sciences Interest Group at W3C

Many open source tools available Kowari, RDFLib, Jena, Sesame, Protégé, SWOOP, Onto(xxx), Wilbur, …

Overview / Semantic Web

ISWC-06OWL-S Tutorial Sycara / Martin

Tutorial OutlineTutorial Outline

The Vision

Web Services

Semantic Web Services Motivations

Semantic Web Services Approaches

OWL-S

Related Work

Semantic Web Services Applications

Semantic Web Services Tools

Challenges and Future Directions

ISWC-06OWL-S Tutorial Sycara / Martin

Contributors to OWLContributors to OWL--SS(partial list)(partial list)

BBN: Mark Burstein

CMU: Katia Sycara, Massimo Paolucci (now at Docomo Labs),

Naveen Srinivasan (now at WebMethods)

De Montfort University: Monika Solanki

Univ. of Maryland / College Park: Bijan Parsia , Evren Sirin

NIST: Craig Schlenoff

Nokia: Ora Lassila

SRI: David Martin, Grit Denker, Daniel Elenius

Stanford KSL: Deb McGuinness

Univ. of Southampton: Terry Payne

Univ. of Toronto: Sheila McIlraith

USC-ISI: Jerry Hobbs

Yale: Drew McDermott

ISWC-06OWL-S Tutorial Sycara / Martin

What is OWLWhat is OWL--S?S?

Ontology Web Language for ServicesAn OWL ontology/language for (formally) describing properties and capabilities of Web servicesAccepted as a Member Submission by W3C (12/1/2004)OWL-S leverages on OWL to

Support capability based discovery of Web servicesSupport automatic composition of Web servicesSupport automatic invocation / enactment of Web servicesSupport monitoring of the execution of Web services

Complete do not competeOWL-S does not aim to replace the Web services standards;rather OWL-S attempts to augment with 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) Well suited for use with SAWSDL (Semantic Annotations for WSDL)

ISWC-06OWL-S Tutorial Sycara / Martin

Layered Approach to Language DevelopmentLayered Approach to Language Development

SWRL (Rules)

XML (Extensible Markup Language)

RDF (Resource Description Framework)

RDFS (RDF Schema)

OWL ([DLP], Light, DL, Full)

OWL-S (Services)

OWL-S: an ontology expressed in OWL and

related languages

ISWC-06OWL-S Tutorial Sycara / Martin

Relation to Web Services TechnologyRelation to Web Services Technology

WSDL/SOAPGrounding+ WSDL/SOAP

Invocation

How to invoke

BPEL4WSProcess Model

Orchestration / Local

Choreography

How it’s done

UDDI APIProfileDiscovery

What it does

Web Services

InfrastructureOWL-S

ISWC-06OWL-S Tutorial Sycara / Martin

Upper Ontology of ServicesUpper Ontology of Services

Ontology images compliments of Terry Payne,

University of Southampton

*

ISWC-06OWL-S Tutorial Sycara / Martin

Upper Ontology of ServicesUpper Ontology of Services

Ontology images compliments of Terry Payne,

University of Southampton

*

ISWC-06OWL-S Tutorial Sycara / Martin

High-level characterization/summary of a service

Used for

• Populating service registries• A service can have many profiles

• Automated service discovery

• Service selection (matchmaking)

One can derive:

• Service advertisements

• Service requests

Service Profile:Service Profile: ““What does it do?What does it do?””

ISWC-06OWL-S Tutorial Sycara / Martin

Basic Service Profile Basic Service Profile (partial)(partial)

ISWC-06OWL-S Tutorial Sycara / Martin

Capabilities description (“functional properties”)Inputs, outputs, preconditions, results

May be a subset of process model IOPRs

Service descriptors (“non-functional properties”)Provenance

Quality of Service• Response time, quality guarantees, etc.

Security

Policy

Domain-specific characteristics• E.g., geographical region, class of service

Service Profile ContentService Profile Content

Class Hierarchies of ServicesClass Hierarchies of Services

ServiceProfile

ProductProviding

Service

Manufacturing

Transportation

ActionService

InfoService

PhysicalProduct

Service Repair

information-

Product+

physicalProduct+

manufacturer+

deliveryRegion*

deliveryProvider*

deliveryType

physical-

Product+

transportationMode+

geographicRegion+

physicalProduct+

Tie in with UNSPSC, etc.

DL Basis for matchmaking

Multiple profiles; multiple hierarchies

name

provider

avgResponseTime?

… FeeBasedfeeBasis+

paymentMethod+

ISWC-06OWL-S Tutorial Sycara / Martin

Class hierarchical yellow pagesImplicit capability characterization

Arrangement of attributes on class hierarchy

Can use multiple inheritance

Relies primarily on “non-functional” properties

Process summaries for planning purposesMore explicit

Inputs, outputs, preconditions, effects

Less reliance on formal hierarchical organization

Summarizes process model specs

Relies primarily on functional description

Service Profile:Service Profile: Styles of useStyles of use

ISWC-06OWL-S Tutorial Sycara / Martin

Security and PoliciesSecurity and Policies

No candidate standard OWL-S representation for Security and Policies has been published yet

But proposals have been made (as extensions to Profile)Adoption of a solution will depend on WS security standards

Research underway on Representing security capability/requirements for discoveryRepresenting security information in Process Model.

Policies: Experiments combining OWL-S and ReiRei 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

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.

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)

ISWC-06OWL-S Tutorial Sycara / Martin

Security OntologySecurity Ontology

Security Coalition in DAML project

Various members from SRI, UMBC, CMU, etc.

Ontologies and matching algorithms are documented in http://www.daml.org/services/owl-s/security.html

Ontologies:

Credential (Simple, Composed, Cookie, Login, Certificate, …)

SecurityMechanism (Authentication, Authorization, Access Control, …)

Service Security Extensions (securityRequirement, securityCapability)

Agent Security Extensions (securityRequirement, securityCapability)

Privacy (Policy has rules, each rule has an action and is applied on a resource; three types of rules: authorization, obligation, capability)

ISWC-06OWL-S Tutorial Sycara / Martin

Upper Ontology of ServicesUpper Ontology of Services

Ontology images compliments of Terry Payne,

University of Southampton

*

(Process Model)

ISWC-06OWL-S Tutorial Sycara / Martin

ProcessPotentially interpretable description of service provider’s behaviorSpecifies service interaction protocol• Tells service user how and when to interact (read/write messages)

Specifies abstract messages: ontological type of information transmitted

Used for:Service invocation, planning/composition, interoperation, monitoring

All processes haveInputs, outputs, preconditions and effects

Composite processesControl flowData flow

OWL standard serializations; presentation syntax

Process Model: Process Model: ““How does it work?How does it work?””

ISWC-06OWL-S Tutorial Sycara / Martin

Definition of ProcessDefinition of Process

A Process represents a transformation from an initial state to a set of possible result states

Initial state defined by

Inputs: the inputs that the process requires

Preconditions: must be true before process execution

Result states described by

Condition that specifies when a result is generated

Outputs: the data produced by the process

Effects: effects of the execution of the process

ISWC-06OWL-S Tutorial Sycara / Martin

Process Model Process Model (partial)(partial)

ISWC-06OWL-S Tutorial Sycara / Martin

Function/Dataflow PerspectiveFunction/Dataflow Perspective

www.acmeair.com

book flight service

Input:

• confirmation no.

• ...

Output:

• failure notification

• …

flight available

+

valid credit card

Y

N?

• customer name

• flight number

• credit card

• ...

ISWC-06OWL-S Tutorial Sycara / Martin

Action/Process PerspectiveAction/Process Perspective

Input:

• confirmation no.

• ...

Output:

• failure notification

• …

flight available

+

valid credit card

Y

N?

Preconditions:

• customer name

• flight number

• credit card

• ...

www.acmeair.com

book flight service

• knowledge of

the input

•...

• ticket purchased

• credit card debited

• ...

Effect:

Output:

Effect: <no effect>

ISWC-06OWL-S Tutorial Sycara / Martin

www.acmetravel.com

book travel service

www.acmeair.com

book flight service

• customer name

• flight numbers

• dates

• credit card no.

• ...

• confirmation no.

• ...

• failure notification

• errror information

• …

?

www.acmehotel.com

book hotel service

• confirmation no.

• dates

• room type

• credit card no.

• ...

• confirmation no.

• ...

• failure notification

• …

?

www.acmecar.com

book car service

• customer name

• location

• car type

• dates

• credit card no.

• ...

• confirmation no.

• ...

• failure notification

• …

?

Composite ProcessComposite Process

?

Input &Preconditions

Output &Effects

<process:AtomicProcess rdf:ID="GetDesiredFlightDetails"><process:hasInput><process:Input rdf:ID=“DepartureAirport_In"><process:parameterType rdf:resource="www.travel.com/concepts.owl#Airport" />

</process:Input> </process:hasInput>……<process:hasOutput><process:Output rdf:ID=“Flight_Out"><process:parameterType rdf:resource="www.travel.com/concepts.owl#Flight" />……

<process:hasPrecondition><expr:SWRL-Condition>……

</expr:SWRL-Condition></process:hasPrecondition><process:hasResult><process:Result><process:inCondition><expr:SWRL-Condition>……

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

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

Atomic Process ExampleAtomic Process Example

GetDesired

Flight Details

Airport

Flight

DepartureAirport_In

Flight_Out

……

<process:CompositeProcess rdf:ID="BookFlight"><process:hasInput …../><process:hasOutput …../><process:hasPrecondition …../><process:hasResult …../> <process:composedOf /><process:Sequence><process:components rdf:parseType=“Collection"><process:Perform><process:process rdf:resource="#GetFlightDetails" /> </Perform><process:Perform><process:process rdf:resource="#GetContactDetails" /> </Perform><process:Perform><process:process rdf:resource="#ReserveFlight" /> </Perform><process:Perform><process:process rdf:resource="#ConfirmReservation" /></Perform>

</process:components></process:Sequence>

</process:composedOf></process:CompositeProcess>

Composite Process

Confirm

Reservation

BookFlight

Get Contact

Details

Sequence

Get Flight

DetailsReserve Flight

SequenceSequence

Composite Process ExampleComposite Process Example

ISWC-06OWL-S Tutorial Sycara / Martin

Conditions in OWLConditions in OWL--SS

Four uses of conditions in OWL-SPreconditions, Effects, Result conditions,

Control construct conditions

OWL-S does not mandate any condition language…but suggests use of SWRL

Input/Outputs are expressed as variables

Conditions are expressed as Predicates on the Input/Outputs

Formulas composed of predicates

ISWC-06OWL-S Tutorial Sycara / Martin

Expressing ResultsExpressing Results

The output of a process is not deterministicE.g., an e-commerce transaction succeeds if

• Site has the goods

• Client has valid credit card with enough credit

Result construct is used to discriminate between the different possible outputs of a process

ISWC-06OWL-S Tutorial Sycara / Martin

Example of Composite ProcessExample of Composite Process

SequenceBookFlight

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 an external process

ISWC-06OWL-S Tutorial Sycara / Martin

Perform ConstructPerform Construct

Perform provides invocation mechanismSpecify 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/O P/E

Perform specifies when the process is invoked and with what parameters

ISWC-06OWL-S Tutorial Sycara / Martin

Control FlowControl Flow

Processes can be chained to form a workflow

OWL-S includes the following control flow constructs

Sequence/Unordered: to represent a list of processes that are executed in sequence or random order

Conditionals: if-then-else statements

Loops: while and repeat-until statements

Multithreading and synchronization: split process in multiple threads, and rendezvous (join) points

Non-deterministic choices: (arbitrarily) select on process from a set

ISWC-06OWL-S Tutorial Sycara / Martin

DataflowDataflow

Dataflow specifies the transfer of information between processesOutput→→→→Input:

The information produced by one process is transferred to another within a composite process

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

process

Output→→→→Output:The information produced by a sub-process is transferred to a super-

process

Consumer-pullValue of an input parameter specified using a backward referencevalueSource, valueData, valueForm, valueType

Producer-pushValue of an output parameter or local variable specified using aforward reference

ISWC-06OWL-S Tutorial Sycara / Martin

AsProcessAsProcess ConstructConstruct

Both a control construct and a process

Allows you to associate outputs

local variables

preconditions

effects

with an arbitrary subtree of a composite process definition

Like an undeclared, unnamed, inline processblock statement

ISWC-06OWL-S Tutorial Sycara / Martin

Process Model Presentation SyntaxProcess Model Presentation Syntax

define atomic process foo(

inputs: (x,y - integer),

outputs: (xx - String),

precondition: loves(x,y),

result: (forall (z - integer u,v - string)

purple(x,z) |-> mauve(y,z)

&

output(xx <= "kool")))

ISWC-06OWL-S Tutorial Sycara / Martin

Process Model Presentation Syntax (2)Process Model Presentation Syntax (2)

define composite process baz(outputs: (x - String), inputs: (u,v), result: purple(v))

{ perform do_something(); { { g :: perform a(n <= v); perform foo(x <= u, y <= g.out1) } ||; { h :: perform c(); produce (x <= h.w) }

} }

ISWC-06OWL-S Tutorial Sycara / Martin

Process Model: Future WorkProcess Model: Future Work

Some desirable features are missingFaults

OWL axiomatization of process constructs is weakBut formal semantics have been provided in several ways• Petri net, operational, SWSF

Flexible, but underspecifiedMore work needed, possibly in terms of “best practices”

Client side – typically used as the result of service composition (interpretable)Provider side – typically used to indicate messaging behavior

Needs to break out of the provider / consumer mold more completely

ISWC-06OWL-S Tutorial Sycara / Martin

Upper Ontology of ServicesUpper Ontology of Services

Ontology images compliments of Terry Payne,

University of Southampton

*

ISWC-06OWL-S Tutorial Sycara / Martin

Service Grounding: Service Grounding: ““How to access itHow to access it””

Implementation specific

Message formatting, transport mechanisms, protocols, serializations of types

Service Model + Grounding give everything needed for using the service

Builds upon WSDL to define message structure and physical binding layer

Transformation, if needed, between XML document type and OWL

ISWC-06OWL-S Tutorial Sycara / Martin

OWLOWL--S / WSDL GroundingS / WSDL Grounding

Resources/Concepts

WSDL

OWL-S

Process Model

Atomic Process

Operation Message

Inputs / Outputs

Binding to SOAP, HTTP, etc.

ISWC-06OWL-S Tutorial Sycara / Martin

OWLOWL--S / WSDL Grounding (contS / WSDL Grounding (cont’’d)d)

ISWC-06OWL-S Tutorial Sycara / Martin

Example of GroundingExample of Grounding

SequenceBookFlight

DepartArrive

FlightsAirline

Airline Flight

Perform

Get Flights Flight

Perform

SelectFlight

Flights

Get Flights OpDepart

Arrive

Flights

WSDL

AirlineFlightSelect

Flight opFlights

ISWC-06OWL-S Tutorial Sycara / Martin

ISWC-06OWL-S Tutorial Sycara / Martin

Invocation Using a GroundingInvocation Using a Grounding

OWL-S invocation is based on the Grounding

Map atomic processes into WSDL operations

Use XSLT to map between XML Schema data structures and ontological information

Variable bindings pass from OWL-S preconditions

Invocation procedure totally separated from semantic description of Web service

Invocation may be modified without changing semantic description

Any Web service can be described in OWL-S without modifying the WSDL description of the service

Amazon’s Web service has been described in OWL-S maintaining Amazon’s XML-Schema data types

ISWC-06OWL-S Tutorial Sycara / Martin

Result of using the GroundingResult of using the Grounding

Invocation mechanism for OWL-SInvocation based on WSDL

Different types of invocation supported by WSDL can be used withOWL-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 invocation may be based on SOAP and XSD types

The crucial point is that the information that travels on the wire is the same information used in the ontologies

Allows any web service to be represented using OWL-SFor example: Amazon.com

ISWC-06OWL-S Tutorial Sycara / Martin

OWLOWL--S: Summary & StatusS: Summary & Status

Describes “what it does”, “how it works”, “how to access it”

Profile, Process, Grounding subontologiesTies in naturally with WSDL, UDDIAdditional semantics supports

Automation of various Web service tasksVaried applications (later slides)

W3C member submission http://www.w3.org/Submission/2004/07/Corresponds to 1.1 release on daml.org

1.2 release upcomingPublications, tools, examples

See http;//www.daml.org/services/owl-s/See http://www.semwebcentral.org

ISWC-06OWL-S Tutorial Sycara / Martin

Related Work (Precursors)Related Work (Precursors)

Agent-Based Systems

Knowledge-Based Software Engineering (KBSE)

Automated Software Engineering (ASE)

AI Planning

Programming Languages

Workflow Systems

Knowledge Representation

Situation Calculus

Process Representation

Pi Calculus

Process Specification Language (PSL)

ISWC-06OWL-S Tutorial Sycara / Martin

Closely Related WorkClosely Related Work

SWSFhttp://www.daml.org/services/swsf

WSMOhttp://www.wsmo.org

WSDL-S & METEOR-Shttp://lsdis.cs.uga.edu/Projects/METEOR-S

Grid Serviceshttp://www.oasis-open.org/committees/tc_home.php?wg_abbrev=wsrf

OWL-Phttp://projects.semwebcentral.org/projects/owlp

….

ISWC-06OWL-S Tutorial Sycara / Martin

Semantic Web Services Framework: Semantic Web Services Framework:

ObjectivesObjectives

Build out from OWL-S to take advantage of more expressive languagesto extend the conceptual model

Full-fledged use of FOL expressivenessOWL-S can use SWRL and SWRL FOL in quoted contexts, in service descriptions (instances)SWSL will use it throughout; both in ontology axioms and in all parts of service descriptions

Leverage broad availability of LP-based languages, environments, tools, etc.Build on mature conceptual models

PSL, W3C architecture, Dublin core

Maintain connections with the world of OWL Layers of expressiveness

ISWC-06OWL-S Tutorial Sycara / Martin

SWSF ComponentsSWSF Components

Conceptual ModelBuild on OWL-S, PSL

LanguageSWSL FOL – can use frame syntax, Hilog extensionsSWSL Rules – LP with NAF; courteous LP, Hilog extensionsShared presentation syntax; builds on F-LogicMarkup syntax – based on ruleML

OntologyFormal expression of conceptual modelBoth in SWSL FOL and LP (as much as possible)

BridgeWhat can we provide to enable coordinated use of FOL and LP reasoners?

GroundingLike OWL-S Grounding, connects with WSDL

ISWC-06OWL-S Tutorial Sycara / Martin

Web Services Modeling OntologyWeb Services Modeling Ontology

WSMO / WSML / WSMX

Under development at DERI and other organizations with European research funding

Hi-level objectives & approaches similar to those of OWL-S

But some interesting differences; e.g.Focus on goals & mediation

Different layers of language / expressiveness

Focus on choreography, not full-fledged process model

http://www.wsmo.org/

ISWC-06OWL-S Tutorial Sycara / Martin

WSMO Top Level NotionsWSMO Top Level Notions

Objectives that a client may havewhen consulting a Web Service

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

ISWC-06OWL-S Tutorial Sycara / Martin

WSDLWSDL--S & METEORS & METEOR--SS

University of Georgia, led by Amit Sheth

Focus on Web service lifecycle stages:Semantic Annotation and Publication of WSs

Abstract Process Creation

Semantic Discovery of Web Services

Orchestration/Composition of Web Services

Lightweight approach: includes proposed enhancements to WSDL, UDDI, BPEL4WS

WSDL-S, OWL-S are inputs to SAWSDL WG

ISWC-06OWL-S Tutorial Sycara / Martin

Grid ServicesGrid Services

Web Services Resource Framework (WSRF)WSRF specifications used by OGSASubmitted to OASIS in March 2004; v. 1.2 ratified April, 2006

Framework for modeling and accessing stateful resourcesFocus on (runtime) management of services and their resources

Semantic Grid ServicesSimilar to SWSBringing SemWeb technologies into Grid computingInfrastructure for Virtual Organizations

Semantic Grid Research Group (SEM-RG)Part of Global Grid Form (GGF) Geoffrey Fox, Carole Goble, David De Roure

ISWC-06OWL-S Tutorial Sycara / Martin

OWLOWL--PP

Processes = Protocols + Policies

Protocols provide interaction-centric modeling, leaving policies to participants

Commitment semantics yield flexible modeling and enactment

Theory of protocols supports reusability, refinement, and aggregation of interactions

Focus on interaction

ISWC-06OWL-S Tutorial Sycara / Martin

Some Other ResourcesSome Other Resources

Advances in Semantics for Web Services at BPM 2006http://events.deri.at/semantics4ws2006

Frameworks for Semantics in WS (W3C workshop)http://www.w3.org/2005/01/ws-swsf-cfp.html

Web Service Semantics workshop at WWW 2005http://www.ai.sri.com/WSS2005

Semantic Web Services workshop at ISWC 2004http://www.ai.sri.com/SWS2004

AAAI Spring Symposium on Semantic Web Serviceshttp://www.daml.ecs.soton.ac.uk/SSS-SWS04.html

SOCABE, WSABE workshops at AAMAShttp://www.ict.swin.edu.au/conferences/socabe2006http://www.ict.swin.edu.au/conferences/socabe2005http://www.agentus.com/WSABE2004 [and WSABE2003]

ISWC-06OWL-S Tutorial Sycara / Martin

Tutorial OutlineTutorial Outline

The Vision

Web Services

Semantic Web Services Motivations

Semantic Web Services ApproachesOWL-S

Related Work

Semantic Web Services Applications

Semantic Web Services Tools

Challenges and Future Directions

ISWC-06OWL-S Tutorial Sycara / Martin

Application: Application: Task ComputingTask Computing

Fujitsu Laboratories of America, Inc.

http://www.taskcomputing.org

Thanks to:Ryusuke Masuoka

ISWC-06OWL-S Tutorial Sycara / Martin

What is Ubiquitous Computing?What is Ubiquitous Computing?

An environment provides a unique set of resources around you at any given place and time

Devices, people, services, etc.

U.C. enables what is possible because you are here and now

Home Car

Navi

Office

Applications / Task Computing

Courtesy of Ryusuke Masuoka, Fujitsu

ISWC-06OWL-S Tutorial Sycara / Martin

Mobile vs. UbiquitousMobile vs. Ubiquitous

Utilize the changing resources found here and now

Guarantee more-or-less the same environment at all times & places

Goal

Cope with the dynamism

- Grasp the current environment

- Connect it to user’s tasks

Overcome the idiosyncrasy of each environment

Challenges

Ubiquitous Computing

Mobile Computing

Applications / Task Computing

Courtesy of Ryusuke Masuoka, Fujitsu

ISWC-06OWL-S Tutorial Sycara / Martin

FujitsuFujitsu’’s Task Computings Task Computing

Fujitsu Laboratories of America, Inc.www.flacp.fujitsulabs.com

http://taskcomputing.org/

Demo video available online

Joint work with MINDLab of the University of Maryland

Task Computing “Answer to ubiquitous computing challenges based on the Semantic Web”Technology to enable easy orchestration of devices, e-services, and applications to execute complex tasks, support users in interaction with devices and services

Applications / Task Computing

Courtesy of Ryusuke Masuoka, Fujitsu

ISWC-06OWL-S Tutorial Sycara / Martin

Goals of Task ComputingGoals of Task Computing

Minimize/facilitate user interaction User interface: mouse clicks and voice

Focus onWhat (task) instead of How (means)

No preprogramming of devices for tasks

User wants to do “Tasks”

“Services” offered means Web services, UPnP, etc.

Filling the gap

Applications / Task Computing

Courtesy of Ryusuke Masuoka, Fujitsu

ISWC-06OWL-S Tutorial Sycara / Martin

OS/Application (.NET, etc.)

Jeff’s Video

Device (UPnP)

Video from DVVideo from DV

Web Services

Aerial Photo of Weather Info of

Add into OutlookDial

Play (Video)Play (Audio)

Open Save Print

View Contact from OutlookJeff’s Video

A Giant LeapA Giant Leap

OS/ApplicationDevices Web Pages

Aerial Photo of Weather Info of

Add into OutlookDial

Play (Video)Play (Audio)

Open Save Print

View Contact from Outlook

Play Jeff’s Video

Dial Contact from Outlook

Weather Info of FLA, CP

Applications / Task Computing

Courtesy of Ryusuke Masuoka, Fujitsu

ISWC-06OWL-S Tutorial Sycara / Martin

FujitsuFujitsu’’s Task Computings Task Computing

Approach:Integration of Semantic Web and Web Service computing

Abstraction of functionality as services: Describe functionality of device or services in OWL-S

Use of UPnP for Semantic Service Discovery Mechanism (SSDM) and for service invocation

More application examples:Display presentation file from mobile computer on the projector in a room you visit for the first time, without connecting a VGA cable

Display pictures from a mobile phone on a TV in any room and print it on an available foto printer, without moving memory cards around

Precondition: Devices are network-ready and equipped with lightweight web server

Applications / Task Computing

Courtesy of Ryusuke Masuoka, Fujitsu

Semantic Service CompositionsSemantic Service Compositions

Route from FLA to Addr

Add into Outlook Cont

Addr: Address

Cont: Contact

WP: Web Page

Discovered Services

View Locally File

View on Projector File

My FavoriteWP

My FileFile

Business Address of ContAddr

Dulles AirportCont

Contact from OutlookCont

Weather Info of AddrWP

Applications / Task Computing

ISWC-06OWL-S Tutorial Sycara / Martin

DeviceApplication

E-service

Service ServiceService

Semantic

Service

Description

Semantic

Service

Description

Discovery

Engine

Execution &

Execution Monitoring

Engine

Service

Composition

Engine

Management

Tools

Task

Computing

Client

Applications

Realization

Layer

Service

Layer

Middleware

Layer

Presentation

Layer

Content

Web-based

Client

Service

Semantic

Service

Description

Task Computing Environment

User

Web Service API

Semantic

Service

Description

TC ArchitectureTC Architecture Courtesy of

Ryusuke Masuoka

Applications / Task Computing

ISWC-06OWL-S Tutorial Sycara / Martin

Application: Application: ee--ScienceScience

Thanks to:

Carole Goble

University of Manchester

Courtesy of

Carol Goble

So much stuff, So much stuff,

so little timeso little time

ISWC-06OWL-S Tutorial Sycara / Martin

The Web is revolutionizing scienceThe Web is revolutionizing science

12181 acatttctac caacagtgga tgaggttgtt ggtctatgtt ctcaccaaat ttggtgttgt 12241

cagtctttta aattttaacc tttagagaag agtcatacag tcaatagcct tttttagctt 12301

gaccatccta atagatacac agtggtgtct cactgtgatt ttaatttgca ttttcctgct 12361

gactaattat gttgagcttg ttaccattta gacaacttca ttagagaagt gtctaatatt 12421

taggtgactt gcctgttttt ttttaattgg gatcttaatt tttttaaatt attgatttgt 12481

aggagctatt tatatattct ggatacaagt tctttatcag atacacagtt tgtgactatt 12541

ttcttataag tctgtggttt ttatattaat gtttttattg atgactgttt tttacaattg 12601

tggttaagta tacatgacat aaaacggatt atcttaacca ttttaaaatg taaaattcga 12661

tggcattaag tacatccaca atattgtgca actatcacca ctatcatact ccaaaagggc 12721

atccaatacc cattaagctg tcactcccca atctcccatt ttcccacccc tgacaatcaa 12781

taacccattt tctgtctcta tggatttgcc tgttctggat attcatatta atagaatcaa

Applications / e-Science

Courtesy of

Carol Goble

12181 acatttctac caacagtgga tgaggttgtt ggtctatgtt ctcaccaaat ttggtgttgt 12241

cagtctttta aattttaacc tttagagaag agtcatacag tcaatagcct tttttagctt 12301

gaccatccta atagatacac agtggtgtct cactgtgatt ttaatttgca ttttcctgct 12361

gactaattat gttgagcttg ttaccattta gacaacttca ttagagaagt gtctaatatt 12421

taggtgactt gcctgttttt ttttaattgg gatcttaatt tttttaaatt attgatttgt 12481

aggagctatt tatatattct ggatacaagt tctttatcag atacacagtt tgtgactatt 12541

ttcttataag tctgtggttt ttatattaat gtttttattg atgactgttt tttacaattg 12601

tggttaagta tacatgacat aaaacggatt atcttaacca ttttaaaatg taaaattcga 12661

tggcattaag tacatccaca atattgtgca actatcacca ctatcatact ccaaaagggc 12721

atccaatacc cattaagctg tcactcccca atctcccatt ttcccacccc tgacaatcaa 12781

taacccattt tctgtctcta tggatttgcc tgttctggat attcatatta atagaatcaa

“Assembling data is no longer the biggest

challenge. Instead, the major hurdle these

days is one of data integration.”

Russ Altman,Stanford

The Semantic Web could

further revolutionize science

Applications / e-Science

Courtesy of

Carol Goble

ISWC-06OWL-S Tutorial Sycara / Martin

Science + eScience + e--ScienceScience

Discovery increasingly done in silico on results obtained from experiments using computational analysis & data repositories.

A new era of collection basedand simulation based science, in addition to hypothesis driven and experimental science

prediction

hypothesis

analysismining

integration

experiment

results

analysis

mining

integration

Applications / e-Science

Courtesy of

Carol Goble

12181 acatttctac caacagtgga tgaggttgtt

ggtctatgtt ctcaccaaat ttggtgttgt

12241 cagtctttta aattttaacc tttagagaag

agtcatacag tcaatagcct tttttagctt

12301 gaccatccta atagatacac agtggtgtct

cactgtgatt ttaatttgca ttttcctgct

12361 gactaattat gttgagcttg ttaccattta

gacaacttca ttagagaagt gtctaatatt

12421 taggtgactt gcctgttttt ttttaattgg

Applications / e-Science

Courtesy of

Carol Goble

ISWC-06OWL-S Tutorial Sycara / Martin

Semantic Web Services for eSemantic Web Services for e--ScienceScience

Collaboration between different labs criticalEmpirical data on the Web is growing rapidly

Both in scale and complexityFinding the right data is time-consuming“Screen scraping” used to gather data from distributed resourcesError-prone

Managing experimental/analytical workflow can be an overwhelming job

Ensuring repeatabilityTracking datasets, provenance, experimental parametersIntegrating in vitro with in silico resultsTracking software versions, parameters, etc. across organizations

Semantic Web/Grid Services can helpProgrammatic interfaces instead of screen scrapingAutomated discovery instead of manual searchComposing and managing workflows

Applications / e-Science

ISWC-06OWL-S Tutorial Sycara / Martin

Artificial Intelligence

Lots

Not

much

Not

muchLots

Collective Intelligence

Ontology

Building Semantic

Web

ServicesFOAF

RSS

OWL

RDF

Knowledge

Discovery

SWRL

Information

linking

Social

bookmarking

Flexible &

extensible

Metadata

schemas

Decision making

Web

Semantics

Applications / e-Science

Some Some SemWebSemWeb Activities in eActivities in e--ScienceScience

Courtesy of

Carol Goble

ISWC-06OWL-S Tutorial Sycara / Martin

Application:Application:

Behavior of Intelligent VehiclesBehavior of Intelligent Vehicles

TARDECNIST

DCS Corp.

Thanks to:Craig Schlenoff

Randy Washington

http://protege.stanford.edu/conference/2004/abstracts/Schlenoff.pdf

ISWC-06OWL-S Tutorial Sycara / Martin

Problem StatementProblem Statement

The level of complexity of the Army’s combat vehicles is increasing rapidly (e.g., fully automated unmanned vehicles)

Network-centric warfare is shifting the focus from individual systems to system of systems (FCS Unit of Action)

The intelligence of how to perform tactical behaviors is increasingly being embedded in the vehicle itself rather than the warfighteroperating the system

Traditional system engineering techniques focused only on the functional descriptions of single systems and assumes manual operation

What is needed (and missing) is an unambiguous technique to model the tactical/intelligent behaviors of the Unit of Action that will allow for computer simulation and analysis of potential deployments

With this, a designer can intelligently allocate functionality to humans and/or machines

Applications / Intelligent Vehicles *

ISWC-06OWL-S Tutorial Sycara / Martin

GoalGoal

Scenario & Metrics

Roles & Capabilities

Platforms & Personnel

Subsystems

Components (WMI)

(Warfighter Machine I/F)

Effectiveness

Efficiency

Operational Timelines

Workload

Model Definition

Model

Simulation & Analysis

Design Deployments

A modeling technique that supports seamless iteration of system of system deployments

with increasing detail validated through simulation and analysis

Applications / Intelligent Vehicles

*

ISWC-06OWL-S Tutorial Sycara / Martin

Model Development ApproachModel Development Approach

Utilizing NIST 4 Dimensions Real Time Control System (4D/RCS) methodology to extract behavioral models from tactical scenarios4D/RCS methodology created to support the development of controls for intelligent systemsNIST 4D/RCS methodology provides a structured approach to:

• Decompose complex behavior into tasks• Map tasks to a hierarchy of agents• Map tasks to state transition tables• Relate task decisions to world states• Identify environmental objects used to determine world states

NIST is generating significant quantity of detailed behavior data to populate models

Applications / Intelligent Vehicles *

4D/RCS Methodology to IS Ontology Mapping4D/RCS Methodology to IS Ontology Mapping

Decompose

Tasks

Map Tasks to Agent

Architecture

Map Task Decisions

To State-Tables

Derive the Relevant Task Situations from

World States and Object ParametersIdentify Task Relevant

Entities and Objects

Services Roles

Processes

ConditionsParameters

ISWC-06OWL-S Tutorial Sycara / Martin

OWLOWL--S ExtensionsS Extensions

OWL-S for modeling Information System (IS) ontology; provides semantics to describe complex activities as a set of interacting services performed by agents

IS Ontology extends this through addition of new concepts:

Role: Collection of related services

RoleAgent: An Agent that performs a specific role

Action: A SimpleProcess that requires a specified amount of work to accomplish which may require use of specific physical devices and control devices

Agent: Implements one or more roles at a specified workrate. May be a warfighter or a computer

Applications / Intelligent Vehicles *

ISWC-06OWL-S Tutorial Sycara / Martin

OWLOWL--S ExtensionsS Extensions

Role Deployment to Agents Deployment of

Subsystems and

WMI to Tasks

Deployment

of Scenario

Operations to

Roles

Applications / Intelligent Vehicles

ISWC-06OWL-S Tutorial Sycara / Martin

Application: Application: MathServeMathServe

Thanks to:Jürgen Zimmer

http://www.ags.uni-sb.de/~jzimmer/mathserve.html

Applications / MathServe

ISWC-06OWL-S Tutorial Sycara / Martin

The MathServe FrameworkThe MathServe Framework

Offers reasoning systems as Semantic Web Services:Automated Theorem Proving (ATP) services

Proof/Problem transformation services

Services for problem analysis

Service's semantics described in OWL-SMathServe broker:Analyzes incoming theorem proving problems

Chooses most suitable service for that problem

Performs automated WS composition if necessary

Applications / MathServe

ISWC-06OWL-S Tutorial Sycara / Martin

MathServe Service DescriptionsMathServe Service Descriptions

Performance of ATP systems is expressed as conditional stochastic effects in OWL-S extensible serviceParameters:

System finds proof with probability p=0.28 (0.88) if problem is in Class1 (ClassN)

Performance information in OWL-S profiles used for:

Broker's best-first matching and

Automated service composition using

• PRODIGY planning system [Veloso et al.'95]

• DTGolog [Soutchanski'03]

(Golog + Decision-Theoretic Planning)

( ) ( )[ ]0.28Theoremresult,statusClass1problem,ssproblemCla ⇒

( ) ( )[ ]0.88Theoremresult,statusClassNproblem,ssproblemCla ⇒

M

Applications / MathServe

ISWC-06OWL-S Tutorial Sycara / Martin

Service Composition in MathServeService Composition in MathServe

Applications / MathServe

ISWC-06OWL-S Tutorial Sycara / Martin

Application:Application:

Software InteroperabilitySoftware Interoperability

Open Netcentric Interoperability Standards for Training and Testing

(ONISTT)

SRI International

Thanks to:David HanzReg FordGrit DenkerDaniel Elenius

and other team members

ISWC-06OWL-S Tutorial Sycara / Martin

Framing the ProblemFraming the Problem

Provide the capability to assemble (“compose”) on short notice an improvisational confederation of training systems and embedded training capabilities

“Improvisational” � Constituent systems not deliberately engineered to work together in support of the objectives of the confederation

“Short notice” � Not deliberately planned months/years ahead of the need

Interoperability: “The ability of systems, units, or forces to provide services to and accept services from other systems, units, or forces and to use the services so exchanged to enable them to operate effectively together.” (definition from Joint Pub 1-02)

ISWC-06OWL-S Tutorial Sycara / Martin

Interoperability

Integratibility

Decomposing Decomposing ““InteroperabilityInteroperability””

[Page, 2004]

Composability

ISWC-06OWL-S Tutorial Sycara / Martin

ONISTT ApproachONISTT Approach

“BOGSAT Composability”BOGSAT – (a Bunch of Old Guys/Gals Sitting Around Talking)Most frequently used method for assembling complex SoSExpensive event planning and setup

InsteadUse ontologies to describe training systems and their relationships

CapabilitiesInteraction requirements (possibly in terms of services)Interchange data & representation models & their compatibility

Also describe exercise requirementsUse a software compatibility Analyzer to

Determine if components can interoperate to meet the requirementsSelect components that interoperateSuggest steps that may lead to successful interoperation

Applications / Software Interoperability

Scenario Deployment

Constraints• QoS Requirements:

(Task,Role) x (Task,Role,Service) � Quality

• Other Constraints

Exercise

Task (E..g., OCA)

• Set of roles (e.g., BFL, BWM,

AWACS)

• Set of Services (e.g, move,

report,…)

•Services Needed map (within

task):

Role x Role ���� Powerset(Service)

•Capabilities Needed map (within

task):

Role ���� Powerset(Capabilities)

Confederation

Constraints• Deployment Constraints • Other Constraints

System (E..g., P5CTS on F-15 or

VirtualAWACS)

Actor

• Set of Services (e.g.,

move, report, …)

•QoS provisions:

Service ���� Quality

•Capabilities (e.g., speed,

…)

•Possible extensions: type

Provider SideRequester Side

Services Needed (across tasks):

(Task,Role) x (Task,Role) ���� Powerset(Service)

ONISTT Configuration ProblemONISTT Configuration Problem

Applications / Software Interoperability

ISWC-06OWL-S Tutorial Sycara / Martin

2. Develop ontologies to

capture structure of

all referents

Ontologies

Training Event Training Resource

Role Service Environment Actor

Task System Scenario

General

Concepts

DoD Domain

Concepts

ONISTT: Knowledge Capture PhaseONISTT: Knowledge Capture Phase

3. Populate KBs on the

basis of ontologies and

information in referents

Training Event

KBs

• Tasks• Roles• Services needed

• Capabilities needed

• Scenario

Training Resource

KBs

• System• Actor• Services provided

• Capabilities provided

• Environment

1b. Develop referents for

LVC systems, capabilities

and quality metricsTraining Resource

Referents

LVCSystems

1a. Develop referents for

training events, JTAs, and

environments

TrainingEnvironments

Training EventReferents

JTAs

Applications / Software Interoperability

ISWC-06OWL-S Tutorial Sycara / Martin

Engage Simulated Target:Engage Simulated Target:

Roles, Services, and MessagesRoles, Services, and Messages

ISWC-06OWL-S Tutorial Sycara / Martin

1. Training Planner uses knowledge

in KBs to

a) Set-up/modify Training Event

b) Define/refine Candidate

Confederation (full or partial)

Training

Event

KBs

System

KBs

2. Submit Training Event and

Candidate Confederation

3. Analyzer Uses information in KBs to

a) Verify given Confederation

or

b) Generate verified

Confederation(s)

Analyzer

Decision

4a. Return verified Confederation(s)

and Configuration Artifacts

Configuration

Artifacts

Verified

Confederation(s)

4b. Return notification of

failed verification.

Back to Step 1.

ONISTT: Analyzer Employment PhaseONISTT: Analyzer Employment Phase

Applications / Software Interoperability

ISWC-06OWL-S Tutorial Sycara / Martin

Web

ServicesWWW

Static Dynamic

Syntax

SemanticsSemantic

Web

Semantic

Web

Services

ONISTT

Establish patterns & conventions for

decomposing macro-services into

workflows of micro-services or

“service fragments”

Establish patterns & conventions

for describing messaging via

Interface Ontologies

Establish patterns & conventions for buildingparallel Knowledge Bases to describe

services available from a specific systemimplementation andservices needed by a specific exercise enactment

(2)

(1)

Evolution Towards ONISTTEvolution Towards ONISTT

Applications / Software Interoperability

ISWC-06OWL-S Tutorial Sycara / Martin

ONISTT: AddendumONISTT: Addendum

Recently moving to a higher level of specificationCentered around capabilities rather than services

Ties in with DoD interest in capability brokering as part of system design and acquisition methods

However, it is feasible to flesh out capabilities in terms of specific services for a finer-grained analysis

Applications / Software Interoperability

ISWC-06OWL-S Tutorial Sycara / Martin

Tutorial OutlineTutorial Outline

The Vision

Web Services

Semantic Web Services Motivations

Semantic Web Services ApproachesOWL-S

Related Work

Semantic Web Services Applications

Semantic Web Services Tools

Challenges and Future Directions

ISWC-06OWL-S Tutorial Sycara / Martin

SWS TasksSWS Tasks

Pro

cess

Model

Gro

undin

g

Development … Deployment … Use …

Simulation

Verification

Selection

Enactment, Interoperation

Monitoring, Recovery

Pro

file

Composition

Discovery

Operation

Publication

Development

Tools

ISWC-06OWL-S Tutorial Sycara / Martin

Authoring and Editing ToolsAuthoring and Editing Tools

SOOP (Mindswap-UMD)

OWL-S Editor (SRI, based on Protege)

OWL-S Editor (CMU based on Eclipse)

Tools / Composition

ISWC-06OWL-S Tutorial Sycara / Martin

SWOOPSWOOP

SWOOP is meant for rapid and easy browsing and development of OWL ontologies

Features

Web Browser like look & feel: • hyperlink based navigation

• history buttons (Back, Next etc) for traversal;

• bookmarks that can be saved for later reference

Inline Editing

• Color coding to emphasize ontology changes,

• Undo/redo options are provided with an ontology change log and arollback option

Verification tools highlighting logical problemsm

ISWC-06OWL-S Tutorial Sycara / Martin

SWOOP and OWLSWOOP and OWL--SS

Swoop can be used to display OWL-S ontologiesIt provides validation of correctness of OWL code

It will provide visualization of both XML syntax and human readable syntax

ISWC-06OWL-S Tutorial Sycara / Martin

OWLOWL--S IDE (CMU)S IDE (CMU)

An Eclipse-based tool that integrates the creation of OWL-S service descriptions with the generation of WS Java code

Tools targeted to Web service developers

Main idea is to allow developers to generate their code and OWL-S description within the same environment

Available at http://www.semwebcentral.org

Tools / Development / OWL-S IDE

ISWC-06OWL-S Tutorial Sycara / Martin

OWLOWL--S IDE Production Cycle S IDE Production Cycle

1. Developer creates Java code2. IDE transforms Java into partial OWL description

WSDL is generated as by-product

3. OWL-S editor is used to complete the OWL-S description

4. UDDI client can be used for automatic advertisement in UDDI

5. Verification tools are available for correctness checking

6. Automatic client generation7. Extension to SWeDE OWL Environment

Tools / Development / OWL-S IDE

ISWC-06OWL-S Tutorial Sycara / Martin

Architecture OWLArchitecture OWL--S IDES IDE

UDDIUDDI

ClientClient

OWLOWL--S FilesS Files

ProfileProfile

ProcessProcess

GroundingGrounding

OWLOWL--S2UDDIS2UDDI

ConverterConverter

WSDL2OWLWSDL2OWL--SS

ConverterConverter

OWLOWL--SS

APIAPI

OWLOWL--SS

VMVM

ApacheApache’’ssJava2WSDLJava2WSDL

ConverterConverter

10/22/04

Legend:

Tools integrated in the OWL-S IDE

Data Files

CMU OWLCMU OWL--SS

EditorEditor

eclipseeclipse

JavaJava

CodeCode

UDDIUDDI--datadata

structurestructure

WSDLWSDL

CodeCode

JavaJava

CodeCode

Spin Based Spin Based

VerificationVerification

OWLOWL--S/UDDI S/UDDI Matching EngineMatching Engine

BBNBBN’’s s SWeDESWeDE

OWL EditorOWL Editor

JavaJava

CodeCode

ISWC-06OWL-S Tutorial Sycara / Martin

OWL-S Menu:

Java 2 OWL-S

Eclipse’s Java IDE

Java Code

Resulting OWL-S

OWL-S Actions

Publish on Web site

Publication to UDDI

Verification

Adding/Editing

processesAdding/Editing

Inputs/outputs

Preconditions/effect

s

Process Model tree

Display

process/subproces

relations

Inputs/outputs

Preconditions/effects

Ontology files

CMU OW-S Editor

ISWC-06OWL-S Tutorial Sycara / Martin

OWLOWL--S Editor for ProtS Editor for Protééggéé (SRI)(SRI)

Easy, intuitive OWL-S service development environmentBased on popular Protégé/OWL ontology editorOpen-source, with code available athttp://owlseditor.semwebcentral.org

IOPR ManagerInput/Output/Precondition/ResultMaintain IOPR correspondences between OWL-S sub-ontologiesPerform consistency checks

Synchronized instance panes for Service, Profile, Process, Grounding instancesGraph Overview

Visualize & navigate relationships between OWL-S sub-ontologies

OWLOWL--S Editor S Editor for Protfor Protééggéé: Process : Process ModelingModeling

Indented tree-based editing

Atomic, Simple, and Composite processes

Control constructs

If-Then-Else

Split

Sequence

Dataflow

Auto-generated graphical process visualizationShows control & data flow together

ISWC-06OWL-S Tutorial Sycara / Martin

Matchmaking in OWLMatchmaking in OWL--S Editor S Editor for Protfor Protééggéé

Editor provides central Matchmaker componentScoring and presentation of results

Allows for distributed MatchProvidersMatchProvider returns perfectMatches, subsumesMatches, subsumedMatches, failedMatches, extraParameters

LocalMatchProvider built in• Uses Protege’s DIG interface

• Racer, FaCT++

• Fast DL reasoning on the OWL types of inputs and outputs

Types of matchesInputProviders• Matches inputs with outputs of other services

OutputConsumer• Matches outputs with the inputs of other services

MatchingProcess• Looks for another service that can replace the current one

OWL-S Editor

OWLOWL--S Editor S Editor for Protfor Protééggéé: Matchmaking Invoked from Visualization: Matchmaking Invoked from Visualization

ISWC-06OWL-S Tutorial Sycara / Martin

OWLOWL--S Editor for ProtS Editor for Protééggéé::

WSDL Support & Service EnactmentWSDL Support & Service Enactment

WSDL SupportGenerate “skeleton” OWL-S from pre-existing WSDL

Then “flesh out” in OWL-S Editor

Uses code from Mindswap’s OWL-S API

EnactmentExecute SWSs live while editing

Use existing OWL instances from Protege KB as inputs (or create new ones)

Get OWL instances back as return values

Agents communicate on the ontology level

OWL-S Editor

ISWC-06OWL-S Tutorial Sycara / Martin

MINDSWAP OWLMINDSWAP OWL--S ToolsS Tools

OWL-S ValidatorChecks for syntax errors

OWL-S TranslatorTranslates between versions of OWL-S

WSDL2OWL-S

OWL-S API (See Enactment slides)

Presentation Syntax Writer

http://www.mindswap.org/2004/owl-s/services

Tools / Development

ISWC-06OWL-S Tutorial Sycara / Martin

Sweet Spot: MatchmakingSweet Spot: MatchmakingTools for Discovery & Selection

Diagram from “Web Services Architecture W3C Working Draft”

http://www.w3.org/TR/2002/WD-ws-arch-20021114/

ISWC-06OWL-S Tutorial Sycara / Martin

Expressing capabilities in OWLExpressing capabilities in OWL--SS

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 service

2. Non-functional properties

3. Type of service and product information

Many capability matching algorithms proposed

Tools / Discovery / Matchmaker

ISWC-06OWL-S Tutorial Sycara / Martin

CMUCMU’’s Matchmakers Matchmaker

Matching of I/O of the request with I/O of the advertisementEfficient implementation given correct indexing of advertisements

Match within msLinear complexity on the size of the query

Current work aims at generalizing matching process to include preconditions/effects service and product types and service parameters

Thing

Vehicle

Car Truck

SedanCoupe

subsume

plug-in

exact

Mid-SizeLuxury

Price

http://www.cs.cmu.edu/~softagents/daml_Mmaker/daml-s_matchmaker.htm

Tools / Discovery / Matchmaker

ISWC-06OWL-S Tutorial Sycara / Martin

Using SubsumptionUsing Subsumption

Use subsumption relation between advertisement and requestFive degrees of match

ExactPlugIn R⊆ASubsumed A⊆RIntersection ¬(A R⊆⊥)Fail when disjoint A R⊆⊥

Note: not a “pure” use of subsumption

Tools / Discovery / Matchmaker

ISWC-06OWL-S Tutorial Sycara / Martin

CMU UDDI is publicly available at www.daml.ri.cmu.edu/matchmaker

or on SemWebCentralwww.semwebcentral.org

A 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)

Integration of OWLIntegration of OWL--S and UDDIS and UDDI

PublishPublish PortPort InquiryInquiry PortPort

Green Pages

Yellow Pages

White Pages

UDDIUDDIBusiness RegistryBusiness Registry

CapabilityCapability PortPort

• 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)

•OWL-S Profile has been mapped

to UDDI data structure

•OWL-S Web services can be

advertised in UDDI as any

other Web service(see Paolucci et al 2002)

OWLOWL--S S MatchingMatchingEngineEngine

Tools / Discovery / Registry

ISWC-06OWL-S Tutorial Sycara / Martin

Sweet Spot: MatchmakingSweet Spot: MatchmakingTools for Enactment

ISWC-06OWL-S Tutorial Sycara / Martin

ParsingParsing

OWL-S 0.9

OWL-S 1.0

OWL-S 1.1

SerializationSerialization

Presentation

OWL-S 1.0

OWL-S 1.1

JSHOP

Sample ApplicationsSample Applications

WSDL2OWL-SValidator Version Translator

ExecutionExecution

WSDL

Execution

(Axis)

UPnP

Execution

(CyberLink)

OWL-S Execution Engine

ManipulationManipulation

RDF/OWL Model

OWL-S Model

Execution

Monitoring

MindswapMindswap OWLOWL--S APIS API

Tools / Enactment / OWL-S API

ISWC-06OWL-S Tutorial Sycara / Martin

CMUCMU’’s OWLs OWL--S Virtual MachineS Virtual Machine

Generic interpreter for OWL-S Process Model

It can interact with any OWL-S Web service

Based on the Process Model formal semantics (Ankolekar et al 2002)

Implement grounding mapping to WSDL

Exploits Web services technology such as Axis and WSIF for actual invocation and message exchange

Semantic Mediation

Tools / Enactment / OWL-S Virtual Machine

ISWC-06OWL-S Tutorial Sycara / Martin

CMUCMU’’s OWLs OWL--S Virtual MachineS Virtual Machine

ProviderProvider

ProcessProcessModelModel

GroundingGrounding

WSDLWSDL

OWL Inference Engine

Process Model

Execution Rules

Grounding

Execution Rules

OWL-S Processor

Axis’s Web Service

Invocation Framework

Webservice Invocation

OWL-S VM

Requester

Tools / Enactment / OWL-S Virtual Machine

ISWC-06OWL-S Tutorial Sycara / Martin

Describing a Web service: Describing a Web service: The Amazon Web ServiceThe Amazon Web Service

Amazon.com publishes a Web Service (AWS) to browse its DB and reserve goods

AWS supports multiple keyword searches

Placing the products in a shopping cart

Clearing shopping cart

OWL-S description of AWS generated byMapping WSDL of AWS to OWL-S atomic processes

Modeling control flow on sample clients

OWL-S VM has been used to interact with Amazon to find and reserve books

ISWC-06OWL-S Tutorial Sycara / Martin

Process Model of AWSProcess Model of AWS

SearchSearchReserveReserve

ShopShop

•WSDL2OWL-S

used to generate

OWL-S for

Amazon’s Web

Service

•OWL-S VM used to

interact with

Amazon Web

service

ISWC-06OWL-S Tutorial Sycara / Martin

Semantic Web ServicesSemantic Web Services

PerformancePerformance

OWLOWL--S VM client on S VM client on browsing+reserving taskbrowsing+reserving task

Analyzed data by computing:Analyzed data by computing:

Time required by OWLTime required by OWL--S VM to S VM to execute Process Modelexecute Process Model

Time required for data Time required for data transformation to fit Amazon transformation to fit Amazon requirementsrequirements

Time required to invoke an Time required to invoke an operation on Amazonoperation on Amazon

98 runs total over 4 days in varying load 98 runs total over 4 days in varying load conditionsconditions

Results in millisecondsResults in milliseconds

1314146107Strd dev

279792%

156 5%

83 3%

Averagepercentage

InvocationData TrsfmVM

OWL-S VMData

Transformation

Amazon

Invocation

ISWC-06OWL-S Tutorial Sycara / Martin

Problems and Lesson LearnedProblems and Lesson Learned

Mapping AWS Data structures to OWL is very time consuming

AWS has a type details that describes the details of every product

• It does not distinguish between books and cd players

OWL should distinguish between different products to use the most appropriate ontologies

Some keyword searches report different type of products

Very difficult to model them

ISWC-06OWL-S Tutorial Sycara / Martin

Semantic Discovery ServiceSemantic Discovery Service

• Adapting BPEL4WS for the Semantic Web

• Daniel J. Mandell

• Sheila A. McIlraith

Tools / Enactment / Semantic Discovery Service

http://www.ksl.stanford.edu/people/sam/iswc2003sam-djm-FINAL.pdf

ISWC-06OWL-S Tutorial Sycara / Martin

Semantic Discovery ServiceSemantic Discovery Service

Alleviates certain limitations of BPEL4WSAlleviates certain limitations of BPEL4WS

Functionality gained:

Automated run-time binding of customized services to account for functional and user-defined constraints

Automated semantic translations to integrate services with messages of different syntax but equivalent semantics

Supporting Semantic Web technologies

OWL-S: A well-defined ontology based on OWL, used to describe services

OWL Query Language (OWL-QL): Interfaces with automated reasoner operating over knowledge base (KB) of OWL-S profiles

Java Theorem Prover (JTP): Used as OWL-QL server’s automated reasoner

Tools / Enactment / Semantic Discovery Service

ISWC-06OWL-S Tutorial Sycara / Martin

Service Integration with SDSService Integration with SDS

SDS serves as proxy between BPEL engine and potential service partners, discovering OWL-S profiles in KB meeting functional and user-defined constraints (automated customization) and translating semantically equivalent messages (semantic translations)

Tools / Enactment / Semantic Discovery Service

ISWC-06OWL-S Tutorial Sycara / Martin

IBMIBM’’s SNOBASEs SNOBASE

Semantic Network Ontology BASE

Ontology Management System

“DBMS for ontologies”

http://www.alphaworks.ibm.com/tech/snobase

“Framework for loading ontologies from files and via the Internetand for locally creating, querying, and storing ontologies”

Provide programming interface that abstracts from storage format, means of access, query processing, etc.

Supports RDF, RDF Schema, DAML+OIL, OWL, OWL-S

Tools / Enactment / SNOBASE

ISWC-06OWL-S Tutorial Sycara / Martin

SNOBASE ComponentsSNOBASE Components

Source: FAQs, FAQ 07 “What are the components of IBM Ontology Management System?” http://www.alphaworks.ibm.com/tech/snobase/faq#07

Java Ontology Base Connectivity• High-level access to ontological resources stored in SNOBASE

Meta-level information about which ontologies are available (e.g., URIs, content, etc.)

Mechanism for interpreting the semantics of constructs of an ontology language, represented as a set of language-specific rules. The rules are used to answer queries when the requested fact is not immediately available but must be inferred from available facts.

Query large knowledge bases (that do not fit working memory) by querying the ontology sources for appropriate pieces as they are needed. Also, queries that span multiple sources.

Mechanism for reading and writing ontology information to persistent storage

Tools / Enactment / SNOBASE

ISWC-06OWL-S Tutorial Sycara / Martin

Tools for CompositionTools for Composition

Web Service Composer (MINDSWAP)

SHOP2 (MINDSWAP)

Golog-based Composition (Stanford KSL)

CMU Composition Architecture

Tools / Composition

ISWC-06OWL-S Tutorial Sycara / Martin

MindSwapMindSwap’’ss Web Service ComposerWeb Service Composer

WS composition environment

Uses SHOP2, a well established planner

Contains an OWL-S execution environment

Used for many applications of WS composition ranging from

Information gathering

Language translation

etc…

Generates a composition that is directly executable through WSDL groundings.

in collaboration with

Tools / Composition / MindSwap WS Composer

ISWC-06OWL-S Tutorial Sycara / Martin

Web Service ComposerWeb Service ComposerCreating Workflows

Filtering Services

Executing Compositions

Basis for Fujitsu’s Task Computing Environment

Published in IEEE Intelligent Systems, Masuoka et. al, 2003

Tools / Composition / MindSwap WS Composer

ISWC-06OWL-S Tutorial Sycara / Martin

Automated CompositionAutomated Composition

User

Interface

Web

Service

Executor

Personal

Schedule

Generated

Plan

SHOP2

planner

Tools / Composition / MindSwap SHOP2

ISWC-06OWL-S Tutorial Sycara / Martin

KSL Automated WS Composition ToolKSL Automated WS Composition Tool

Approach:

I. Plan a sequences of services that realize user’s objective, using Golog & sit’n calculus .

(NP complete or worse)

II. Customize reusable generic procedures- Define and archive reusable generic procedures- Customize with user’s constraints.(NP complete or worse in a reduced search space)

Advantages: efficiency, ease of use, customization

Tools / Composition / KSL WS Composition Tool

http://www.ksl.stanford.edu/people/sam/mci-son-kr02.ps

ISWC-06OWL-S Tutorial Sycara / Martin

CMU Composition ArchitectureCMU Composition Architecture

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

Tools / Composition / CMU Composition Architecture

ISWC-06OWL-S Tutorial Sycara / Martin

Tools ResourcesTools Resources

See also: http://www.daml.org/services/owlhttp://www.daml.org/services/owl--ss//• Publications, Tools

http://http://www.www.semwebcentral.orgsemwebcentral.org

Tools

ISWC-06OWL-S Tutorial Sycara / Martin

Tutorial OutlineTutorial Outline

The Vision

Web Services

Semantic Web Services Motivations

Semantic Web Services ApproachesOWL-S

Related Work

Semantic Web Services Applications

Semantic Web Services Tools

Challenges and Future Directions

ISWC-06OWL-S Tutorial Sycara / Martin

Where Are the Agents?Where Are the Agents?

Autonomous in “unanticipated” situationsProactive, robust in the face of• changing, inconsistent and unexpected data• variations in reliability, trust

Adaptive: serendipitous, opportunistic behaviorCollaborative with humans and other agents

Move from the “tool use” of personal computing to systems that work on our behalf

(S)WS as (primarily external) infrastructure for agentsAgents as services; agents as users of services?

Can be bothBut, (S)WS descriptions are somewhat asymmetric• Focus on what agents can provide

Also, somewhat limited attention to conversations & teamwork

ISWC-06OWL-S Tutorial Sycara / Martin

Synt

ax

Evolution TowardsEvolution Towards

an an ““AgentAgent--Oriented WebOriented Web””

Static Dynamic

Sem

antic

s

WWWWeb

Services

SemanticWeb

SemanticWeb

Services

?

?

?

?

ISWC-06OWL-S Tutorial Sycara / Martin

Some Active SWS Research AreasSome Active SWS Research Areas

Language & vocabulary forQuality of ServicePoliciesPreconditions & effectsCommitments

Discovery / Matchmaking / SelectionComposition, workflow adaptation Service / resource / transaction managementService use with mobile / ubiquitous devicesSecurity ContextTools & Environments

(Semi-)Automatic annotation

ISWC-06OWL-S Tutorial Sycara / Martin

Research DirectionsResearch Directions

What distinguishes SWS research from agents research?Web-enablement

Integration with Web standardsHighly dynamic environmentMassively distributedScalableFault-tolerant

Emphasis on ontologiesEmphasis on description logics, due to OWLLess emphasis on “agent internals” (including goals)Somewhat less emphasis on conversations

ISWC-06OWL-S Tutorial Sycara / Martin

Examples of SWS ResearchExamples of SWS Research

Language & vocabularyWork on integrating LP + DL (to the extent driven by SWS)Integrating Description Logics and Action Formalisms: First Results (Baader et al., AAAI 05)

DecSerFlow: Towards a Truly Declarative Service Flow Language (van der Aalst and Pesic)

Discovery / Matchmaking / SelectionEfficient Service Discovery in Goal-Driven Architectures (Stollberg)Towards a Policy Framework for Open Electronic Markets (Lamparteret al.)

Composition, workflow adaptationTemplate-based Composition of Semantic Web Services (Sirin et al.)Automatic Composition of Transition-based Semantic Web Services with Messaging (Berardi)

ISWC-06OWL-S Tutorial Sycara / Martin

Cultural ChallengesCultural Challenges

Infrastructure / investmentKnowledge acquisition effort is potentially huge

Getting to where the payoff exceeds the overhead

Facilitating small first steps in the meantime

Making it clear (to the right people at the right time) what’s the value-added

Comfort with what’s under-the-hoodEducation, tools

Getting consensus on approaches, ontologiesCompetitive pressures

ISWC-06OWL-S Tutorial Sycara / Martin

Prospects for Adoption?Prospects for Adoption?(Sure)(Sure)

The Web is a big placeWith many “communities of interest”

If there’s real value, the marketplace will make it happen

Complete generality not required

Full automation not required

“A little semantics goes a long ways”

ISWC-06OWL-S Tutorial Sycara / Martin

Possible Roads Towards an Possible Roads Towards an ““AgentAgent--Oriented WebOriented Web””

Standards activities

Commercial push

Communities of interest

Web 2.0

ISWC-06OWL-S Tutorial Sycara / Martin

The Standards RoadThe Standards Road

At W3C, incremental with respect to servicesBuilding out from WSDLWS-AddressingWS-ChoreographyWS-PolicySemantic Annotations for WSDL (SAWSDL)Beyond?

• SWS Interest Group ([email protected])• Semantic Web-based Model for use with SAWSDL?

OASISAugmentation of UDDI SWS Execution Environment (WSMX)Web Services Resource Framework (WSRF)• From Global Grid Forum

OMGOntology Definition Metamodel (ODM)

Service Component Architecture (SCA)Interest in Semantics, ODM; Hooks for WS-Policy

DoDService Description Framework

Directions & Challenges

ISWC-06OWL-S Tutorial Sycara / Martin

Semantics Migrating into Mainstream WSSemantics Migrating into Mainstream WS

Derived From M. Singh and M. Huhns: Service-Oriented Computing: Semantics, Processes, Agents

BPEL4WSOWL-S Service

Model

ebXML

CPA

Process and workflow

orchestrations

QoS: Service

descriptions and bindings

Contracts and

agreements

XLANG

WSCL

WSDLebXML

CPP

ebXML

BPSS

XML, DTD, and XML Schema

HTTP, FTP, SMTP, SIP, etc.

SOAPebXML

messaging

OWL

UDDIebXML

Registries

WSCLWSCI

WS-Choreography

WS-AtomicTransaction and WS-

BusinessActivity

OWL-S Service

Grounding

OWL-S Service

Profile

BTP

BPML

Discovery

Messaging

Transport

QoS: Conversations

QoS: Choreography

QoS: Transactions

Encoding

WS-Policy

WS-Security

WS-Reliable

Messaging

PSL

OWL-S &

other

SWS

approaches

SAWSDL

ISWC-06OWL-S Tutorial Sycara / Martin

The Commercial The Commercial Road(sRoad(s))

Interoperability!Data and process

Evolution from workflow, rules, etc. productsVirtual organizations

Supply chain management with agility CollaborationContract management (SLA)

Evolution of search enginesEvolution from Semantic WebEvolution from Grid computing, network mgmt., etc.Integration with service-providing organizations (IBM example)Open-services approaches (e.g., Amazon)

ISWC-06OWL-S Tutorial Sycara / Martin

The The ““Communities of InterestCommunities of Interest”” RoadRoad

E-ScienceLife Sciences WG at W3C

Geospatial

Government / militaryCommited to SOA to ease interoperability and other hard problems

Strong tradition regarding sophisticated methodologies

Lacking competitive pressures (?)

Mobile / ubiquitous

ISWC-06OWL-S Tutorial Sycara / Martin

The The ““Web 2.0Web 2.0”” RoadRoad

“Semantic”Tags, microformats, vertical search

Participatory (P2P)Blogs, wikis, social networking, RSS feeds

Active, real timeInstant messaging, events/feeds (pub/sub)

PervasiveBillions of edge devices (gizmos) with substantial computing andbroadband access – phones, cars, RFID readers…

CommunitySimplicity, Rapidity, Mass Collaboration, Empowerment

Public “services”, compositionAmazon, “Mechanical Turk”Mashups

ISWC-06OWL-S Tutorial Sycara / Martin

The The ““Web 2.0Web 2.0”” RoadRoad

No Inconsistency with Semantic Web directions

Incremental, les-formal steps in many relevant directionsMashupsTagging of “Web services”• WubHub, Swashup

Microformats

But focused on collaboration, less on automationOpen services example (Amazon, Google)Mechanical Turk, Piggy Bank, WubHub …

May provide initial infrastructure for increased automationWhen there are huge numbers of these things, automated search, etc. will be needed

ISWC-06OWL-S Tutorial Sycara / Martin

Summary:Summary:

Contributions of the three technologiesContributions of the three technologies

Semantic Web: ontologies, metadata annotations and knowledge based inference

Multi Agent Systems: goal-directedness, semantically meaningful communication protocols, cooperative and self interested reasoning mechanisms

Web Services: reliable vendor-neutral interoperation, industry standards and industry buy in

ISWC-06OWL-S Tutorial Sycara / Martin

ConclusionsConclusions

The service paradigm will be an important and integral part of the future Web

SWS (and SGS) aim to provide an expressive, comprehensive framework for handling activities on the Web

Enabling greater automation of discovery, selection, invocation, composition, monitoring, and other service management tasks

Should enable use of agents on the Web• Simplicity and widespread adoption of WS building blocks are

enablers

Many tools & applications exist today; mostly prototype

Many challenges remain

Strong interest and many paths to adoption also exist

Stay tuned – it will be interesting to see how far (and how fast) the Web will evolve!

ISWC-06OWL-S Tutorial Sycara / Martin

Thank You

MerciGrazie

Gracias

Obrigado

Danke

Japanese

English

French

Russian

German

Italian

Spanish

Brazilian Portuguese

Arabic

Traditional Chinese

Simplified Chinese

Hindi

Tamil

Thai

Korean

The EndThe End

http://www.ai.sri.com/daml/services/ISWC06-OWL-S-tutorial.pdf