Post on 26-Jun-2018
transcript
Katia SycaraAgents and Web Technologies Lab
Carnegie Mellon Universitykatia@cs.cmu.edu
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 Internationalmartin@ai.sri.com
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
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
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
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 (public-sws-ig@w3.org)• 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