Tools and Technologies for Semantic Web Services: An OWL-S Perspective
Katia Sycara
Agents and Web Technologies Lab Carnegie Mellon University
katia@cs.cmu.edu http://www.cs.cmu.edu/~softagents/
David Martin
Artificial Intelligence Center SRI International
martin@ai.sri.com http://www.ai.sri.com/~martin/
Tutorial 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
OWL-S Tutorial ISWC-06 Sycara / Martin
From the Internet to the Semantic Web
Old World : “The eye-ball Web”
New World: “The Semantic Web”
The architecture of the Web is geared towards delivering information visually (Internet filled with human readable information)
The content of the Web becomes computer intelligible (Internet filled with machine understandable information)
Source: IBM
OWL-S Tutorial
ISWC-06
Sycara / Martin
From the Internet to Web Services
Old World : “The eye-ball Web”
New World: “The transactional Web”
The architecture of the Web is geared towards delivering information visually (Internet filled with human readable information)
The architecture of the Web geared towards exchanging information between applications (Internet filled with executables)
Source: IBM
OWL-S Tutorial
ISWC-06
Sycara / Martin
From the Internet to Semantic Web Services
Old World : “The eye-ball Web”
New World: “The Coordination Web”
The architecture of the Web is geared towards delivering information visually (Internet filled with human readable information)
The architecture of the Web geared towards applications that intelligibly coordinate information exchanges (Internet filled with machine understandable executables)
Source: IBM
OWL-S Tutorial
ISWC-06
Sycara / Martin
From the Internet to Autonomous Semantic Web Services
Old World : “The eye-ball Web”
New World: “The Agent Web”
The architecture of the Web is geared towards delivering information visually (Internet filled with human readable information)
The architecture of the Web geared towards goal directed applications that intelligibly and adaptively coordinate information and action (Internet filled with contextaware and self organizing agents)
Source: IBM
OWL-S Tutorial
ISWC-06
Sycara / Martin
Acknowledgments
DARPA - DAML program
Program managers Jim Hendler, Murray Burke, Mark Greaves
OWL-S Coalition members
Evren Sirin (MINDSWAP), Katia Sycara (CMU), Massimo Paolucci (Docomo Labs), Naveen Srinivasan (WebMethods), Sheila McIlraith (U. Toronto), Terry Payne (U. Southampton)
Other researchers & users
Jim 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)
OWL-S Tutorial
ISWC-06
Sycara / Martin
Services are Happening
eBusiness need & vision, vendor investment
Interoperability; virtual organizations Intranets, not just internets Market 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 computing Ubiquitous computing (devices; smart environments)
Mobile access to services
A remarkable opportunity
Creating a Web with activities, computation, goals, processes as 1st-class citizens Bringing behavioral intelligence to the Web
OWL-S Tutorial
ISWC-06
Sycara / Martin
Web Services - 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)
OWL-S Tutorial
ISWC-06
Sycara / Martin
Web Services: The Essence
“Loosely coupled software components that interact with one another dynamically via standard Internet technologies” (Gartner) Reliable, ubiquitous software interoperability
Across networks Across organizations Non-proprietary standards
Focus on communications; content exchange
Basic infrastructure & tools
OWL-S Tutorial
ISWC-06
Sycara / Martin
WS: The Broader Vision
Widely distributed, decentralized, reusable capabilities Accessible from a variety of platforms & devices The 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)
OWL-S Tutorial
ISWC-06
Sycara / Martin
So what is new about Web Services?
Component-Based Model Tightly coupled software applications (high dependencies between systems) Mainly designed for processes within the enterprise Uses different protocols and technologies (e.g., Microsoft DCOM, CORBA)
Web Services Model Loosely coupled software applications (low dependencies between applications) Mainly designed for processes across enterprises Uses standard protocols and technologies (e.g., XML, SOAP, WSDL, HTTP)
Web Services do for programs what the Web did for Documents
OWL-S Tutorial
ISWC-06
Sycara / Martin
Machine 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!
OWL-S Tutorial ISWC-06 Sycara / Martin
Requirements 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
OWL-S Tutorial
ISWC-06
Sycara / Martin
Human Oriented Services vs Machine 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.
OWL-S Tutorial
ISWC-06
Source: Dieter Fensel & Christoph Bussler Sycara / Martin
Overview / Web Services
*
Web Services: Where Are We Today?
UDDI
OWL-S & OWL-S Service other Model SWS approaches
OWL-S Service WSCL Profile OWL-S Service Grounding OWL RDF PSL ebXML Registries ebXML CPA Discovery Contracts and agreements Process and workflow orchestrations QoS: Transactions QoS: Choreography QoS: Conversations
BPEL4WS
WS-AtomicTransaction and WSXLANG BusinessActivity WS-Reliable WS-Choreography Messaging WSCI WS-Security WSCL WS-Policy
BPML BTP ebXML BPSS
WSDL SOAP
ebXML QoS: Service CPP descriptions and bindings ebXML messaging Messaging Encoding Transport
XML, DTD, and XML Schema HTTP, FTP, SMTP, SIP, etc.
Derived From M. Singh and M. Huhns: Service-Oriented Computing: Semantics, Processes, Agents
OWL-S Tutorial
ISWC-06
Sycara / Martin
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
OWL-S Tutorial
ISWC-06
Sycara / Martin
SOAP
Simple Object Access Protocol W3C Recommendation
XML data transport:
- sender / receiver - protocol binding - communication aspects - content
OWL-S Tutorial
ISWC-06
Sycara / Martin
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
OWL-S Tutorial
ISWC-06
Sycara / Martin
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)
OWL-S Tutorial
ISWC-06
Sycara / Martin
UDDI (Universal Discovery, Description & 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
OWL-S Tutorial
ISWC-06
Sycara / Martin
UDDI
Universal Description, Discovery, and Integration Protocol OASIS driven standardization effort
Registry for Web Services:
- provider - service information - technical access
OWL-S Tutorial
ISWC-06
Sycara / Martin
Current State: Web Services Standards (cnt.)
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
OWL-S Tutorial
ISWC-06
Sycara / Martin
Overview / Web Services
WS: Basic Building Blocks
OWL-S Tutorial
ISWC-06
Sycara / Martin
Overview / Web Services
Web Services Description 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
Describes Service
Web Service
OWL-S Tutorial ISWC-06 Sycara / Martin
Overview / Web Services
So What’s the Problem?
OWL-S Tutorial
ISWC-06
Sycara / Martin
Current State: Web Services Standards
SOAP: XML based web services communication protocol
Limitations 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
OWL-S Tutorial
ISWC-06
Sycara / Martin
Current State: Web Services Standards (cnt.)
BPEL: Description of how Web Services are composed Limitations
No IOPEs Allows execution of a manually constructed composition
UDDI: Directory Service for Web Services Limitations: keyword searches, limited capability search
OWL-S Tutorial
ISWC-06
Sycara / Martin
Overview / Web Services
Semantics 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.
???
Describes Service
Web Service
OWL-S Tutorial ISWC-06 Sycara / Martin
Overview / Web Services
Semantics 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.
???
Describes Service
Web Service
OWL-S Tutorial ISWC-06 Sycara / Martin
Overview / Web Services
Semantics Needed
If I fail to deliver this item within 7 days, I will pay a 30% penalty.
???
Describes Service
Web Service
OWL-S Tutorial ISWC-06 Sycara / Martin
Overview / Web Services
Semantics Needed
You can only access this information if you agree to make changes to it freely available.
???
Describes Service
Web Service
OWL-S Tutorial ISWC-06 Sycara / Martin
Overview / Web Services
Semantics 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
???
Describes Service
Web Service
Sycara / Martin
OWL-S Tutorial
ISWC-06
Tackling 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
OWL-S Tutorial
ISWC-06
Sycara / Martin
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
OWL-S Tutorial ISWC-06 Sycara / Martin
The Need for Semantics
What is the Semantic Web... …and how does it relate to Services?
OWL-S Tutorial
ISWC-06
Sycara / Martin
Why isn‘t XML enough?
Since ontologies standardize content
Why can’t standardize XML schemata? Wouldn’t it be equivalent to OWL?
XML schema
Good 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
OWL-S Tutorial
ISWC-06
Sycara / Martin
The 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 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
OWL-S Tutorial ISWC-06 Sycara / Martin
Overview / Semantic Web
What is the Semantic Web (cont’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 (WorldWide) A Set of Shared Representations, Collaborative Activities and Communities Forming Around Them
OWL-S Tutorial
ISWC-06
Sycara / Martin
Overview / Semantic Web
Semantic Web Layers
Source of picture: W3C
OWL-S Tutorial
ISWC-06
Sycara / Martin
Semantic Web
OWL
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
OWL-S Tutorial
ISWC-06
Sycara / Martin
OWL 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)
OWL-S Tutorial
ISWC-06
Sycara / Martin
Types 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
OWL-S Tutorial
ISWC-06
Sycara / Martin
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.
OWL-S Tutorial
ISWC-06
Sycara / Martin
Using 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.
OWL-S Tutorial
ISWC-06
Sycara / Martin
OWL 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
OWL-S Tutorial
ISWC-06
Sycara / Martin
Advantages 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
OWL-S Tutorial
ISWC-06
Sycara / Martin
Semantic WEB
Rich metadata Data harvesting & visualization
A little Semantics goes a long way
Courtesy of Jim Hendler & Ora Lassila
OWL-S Tutorial ISWC-06
Web-based social networks
Sycara / Martin
SEMANTIC Web
Digital asset management
Scientific portals
A little Web goes a long way
Tools for developers
OWL-S Tutorial ISWC-06
Courtesy of Jim Hendler & Ora Lassila
Sycara / Martin
Overview / Semantic Web
A Lot is Happening …
Semantic (Web) technology companies starting & growing
Cerebra, Siderean, SandPiper, SiberLogic, Ontology Works, Intellidimension, Intellisophic, TopQuadrant, Data Grid, …
Bigger players buying in
Adobe, 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 agencies
US, EU, Japan, Korea, China, …
Life sciences/pharma an increasingly important market
Health Care and Life Sciences Interest Group at W3C
Many open source tools available
Kowari, RDFLib, Jena, Sesame, Protégé, SWOOP, Onto(xxx), Wilbur, …
OWL-S Tutorial
ISWC-06
Sycara / Martin
Tutorial 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
OWL-S Tutorial ISWC-06 Sycara / Martin
Contributors to OWL-S
(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
OWL-S Tutorial ISWC-06 Sycara / Martin
What is OWL-S?
Ontology Web Language for Services An OWL ontology/language for (formally) describing properties and capabilities of Web services Accepted as a Member Submission by W3C (12/1/2004) OWL-S leverages on OWL to
Support Support Support Support capability based discovery of Web services automatic composition of Web services automatic invocation / enactment of Web services monitoring of the execution of Web services
Complete do not compete
OWL-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)
OWL-S Tutorial ISWC-06 Sycara / Martin
Layered Approach to Language Development OWL-S: an ontology expressed in OWL and related languages
OWL-S (Services) SWRL (Rules) OWL ([DLP], Light, DL, Full) RDFS (RDF Schema) RDF (Resource Description Framework) XML (Extensible Markup Language)
OWL-S Tutorial ISWC-06 Sycara / Martin
Relation to Web Services Technology
Web Services Infrastructure UDDI API
OWL-S Discovery
What it does
Profile Process Model Grounding+ WSDL/SOAP
ISWC-06
Orchestration / Local Choreography
How it’s done
BPEL4WS
Invocation
How to invoke
OWL-S Tutorial
WSDL/SOAP
Sycara / Martin
*
Upper Ontology of Services
Ontology images compliments of Terry Payne, University of Southampton
OWL-S Tutorial
ISWC-06
Sycara / Martin
*
Upper Ontology of Services
Ontology images compliments of Terry Payne, University of Southampton
OWL-S Tutorial
ISWC-06
Sycara / Martin
Service Profile: “What does it do?”
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
•
OWL-S Tutorial
ISWC-06
Sycara / Martin
Basic Service Profile (partial)
OWL-S Tutorial
ISWC-06
Sycara / Martin
Service Profile Content
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
OWL-S Tutorial ISWC-06 Sycara / Martin
Class Hierarchies of Services
name provider avgResponseTime? …
ServiceProfile FeeBased ActionService
feeBasis+ paymentMethod+
ProductProviding Service InfoService
informationProduct+
physicalProduct+
Manufacturing
physicalProduct+ manufacturer+ deliveryRegion* deliveryProvider* deliveryType
PhysicalProduct Service
Repair
physicalProduct+
Tie in with UNSPSC, etc. Transportation DL Basis for matchmaking Multiple profiles; multiple hierarchies
transportationMode+ geographicRegion+
Service Profile: Styles of use
Class hierarchical yellow pages
Implicit capability characterization Arrangement of attributes on class hierarchy Can use multiple inheritance Relies primarily on “non-functional” properties
Process summaries for planning purposes
More explicit Inputs, outputs, preconditions, effects Less reliance on formal hierarchical organization Summarizes process model specs Relies primarily on functional description
OWL-S Tutorial ISWC-06 Sycara / Martin
Security 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 discovery Representing security information in Process Model.
Policies:
Experiments combining OWL-S and Rei Rei statements included in Process Model to constrain the use of a Web service (see Kagal 2004)
Recent work on Formal Verification of OWL-S Process Models provides a way to certify adherence to a policy
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 Sycara Spinning 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)
OWL-S Tutorial
ISWC-06
Sycara / Martin
Security 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)
OWL-S Tutorial
ISWC-06
Sycara / Martin
*
Upper Ontology of Services
(Process Model)
Ontology images compliments of Terry Payne, University of Southampton
OWL-S Tutorial
ISWC-06
Sycara / Martin
Process Model: “How does it work?”
Process
Potentially interpretable description of service provider’s behavior Specifies 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 have
Inputs, outputs, preconditions and effects
Composite processes
Control flow Data flow
OWL standard serializations; presentation syntax
OWL-S Tutorial
ISWC-06
Sycara / Martin
Definition 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
OWL-S Tutorial
ISWC-06
Sycara / Martin
Process Model (partial)
OWL-S Tutorial
ISWC-06
Sycara / Martin
Function/Dataflow Perspective
Input: • customer name • flight number • credit card • ...
Output: • confirmation no. • ...
flight available ? + valid credit card
www.acmeair.com book flight service
Y N
• failure notification •…
OWL-S Tutorial
ISWC-06
Sycara / Martin
Action/Process Perspective
Output: Input: • customer name • flight number • credit card • ... Preconditions: • knowledge of the input •... Effect: www.acmeair.com book flight service • confirmation no. • ... • ticket purchased • credit card debited • ...
flight available ? + valid credit card
Y N
Output: Effect:
• failure notification •…
Sycara / Martin
OWL-S Tutorial
ISWC-06
Composite Process
Input & Preconditions
• • • • • • • • • • • • • • • • • • • • •
www.acmetravel.com book travel service
• confirmation no. • ... • customer name • location • car type • dates • credit card no. • ... www.acmecar.com book car service
Output & Effects
• • • • • • • •
?
• failure notification •…
• confirmation no. • ...
?
• confirmation no. • ...
• confirmation no. • dates • room type • credit card no. • ...
www.acmehotel.com book hotel service
?
• failure notification •…
• customer name • flight numbers • dates • credit card no. • • ...
www.acmeair.com book flight service
?
• failure notification • errror information •…
• • • • • • • •
OWL-S Tutorial
ISWC-06
Sycara / Martin
Atomic Process Example
…… …… Airport …… DepartureAirport_In …… GetDesired Flight Details …… Flight_Out …… Flight
Composite Process Example
Composite Process
BookFlight
Get Flight Details
Get Contact Details
Reserve Flight
Confirm Reservation
Sequence
Sequence
Sequence
Conditions in OWL-S
Four uses of conditions in OWL-S
Preconditions, 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
OWL-S Tutorial
ISWC-06
Sycara / Martin
Expressing Results
The output of a process is not deterministic
E.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
OWL-S Tutorial
ISWC-06
Sycara / Martin
Example of Composite Process
Airline
Sequence
BookFlight
Control Flow Links
Flight Specify order of execution
Data-Flow Links
Specify transfer of data
Perform
Airline Depart Arrive
Perform Get Flights Flights
Flights
Select Flight
Flight
Perform statements
Specify the execution of an external process
OWL-S Tutorial ISWC-06 Sycara / Martin
Perform Construct
Perform provides invocation mechanism
Specify context of process execution
• input data flow • hooks for output data flow
Distinction between definition and invocation of a process
Definition specifies the process I/O P/E Perform specifies when the process is invoked and with what parameters
OWL-S Tutorial
ISWC-06
Sycara / Martin
Control 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
OWL-S Tutorial
ISWC-06
Sycara / Martin
Dataflow
Dataflow specifies the transfer of information between processes Output→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 subprocess
Output→Output: →
The information produced by a sub-process is transferred to a superprocess
Consumer-pull
Value of an input parameter specified using a backward reference valueSource, valueData, valueForm, valueType
Producer-push
Value of an output parameter or local variable specified using a forward reference
OWL-S Tutorial ISWC-06 Sycara / Martin
AsProcess Construct
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 process
block statement
OWL-S Tutorial
ISWC-06
Sycara / Martin
Process 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")))
OWL-S Tutorial
ISWC-06
Sycara / Martin
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) } } } Tutorial OWL-S ISWC-06
Sycara / Martin
Process Model: Future Work
Some desirable features are missing
Faults
OWL axiomatization of process constructs is weak
But formal semantics have been provided in several ways
• Petri net, operational, SWSF
Flexible, but underspecified
More 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
OWL-S Tutorial
ISWC-06
Sycara / Martin
*
Upper Ontology of Services
Ontology images compliments of Terry Payne, University of Southampton
OWL-S Tutorial
ISWC-06
Sycara / Martin
Service Grounding: “How 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
OWL-S Tutorial ISWC-06 Sycara / Martin
OWL-S / WSDL Grounding OWL-S
Process Model Resources/Concepts
Atomic Process Operation
Inputs / Outputs Message
Binding to SOAP, HTTP, etc.
WSDL
OWL-S Tutorial ISWC-06 Sycara / Martin
OWL-S / WSDL Grounding (cont’d)
OWL-S Tutorial
ISWC-06
Sycara / Martin
Example of Grounding
Airline
Sequence
BookFlight
Flight
Perform
Airline Depart Arrive
Perform Get Flights Flights
Flights
Select Flight
Flight
Arrive Depart Get Flights Op Flights Airline WSDL
OWL-S Tutorial ISWC-06
Flights
Select Flight op
Flight
Sycara / Martin
OWL-S Tutorial
ISWC-06
Sycara / Martin
Invocation 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
OWL-S Tutorial
ISWC-06
Sycara / Martin
Result of using the Grounding
Invocation mechanism for OWL-S
Invocation based on WSDL Different types of invocation supported by WSDL can be used with OWL-S
Clear separation between service description and invocation/implementation
Service description is needed to reason about the service
• Decide how to use it • Decide how what information to send and what to expect
Service 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-S
For example: Amazon.com
OWL-S Tutorial
ISWC-06
Sycara / Martin
OWL-S: Summary & Status
Describes “what it does”, “how it works”, “how to access it”
Profile, Process, Grounding subontologies
Ties in naturally with WSDL, UDDI Additional semantics supports
Automation of various Web service tasks Varied applications (later slides)
W3C member submission
http://www.w3.org/Submission/2004/07/ Corresponds to 1.1 release on daml.org
1.2 release upcoming Publications, tools, examples
See http;//www.daml.org/services/owl-s/ See http://www.semwebcentral.org
OWL-S Tutorial ISWC-06 Sycara / Martin
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)
OWL-S Tutorial
ISWC-06
Sycara / Martin
Closely Related Work
SWSF
http://www.daml.org/services/swsf
WSMO
http://www.wsmo.org
WSDL-S & METEOR-S
http://lsdis.cs.uga.edu/Projects/METEOR-S
Grid Services
http://www.oasisopen.org/committees/tc_home.php?wg_abbrev=wsrf
OWL-P
http://projects.semwebcentral.org/projects/owlp
….
OWL-S Tutorial ISWC-06 Sycara / Martin
Semantic Web Services Framework: Objectives
Build out from OWL-S
to take advantage of more expressive languages to extend the conceptual model
Full-fledged use of FOL expressiveness
OWL-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
OWL-S Tutorial
ISWC-06
Sycara / Martin
SWSF Components
Conceptual Model
Build on OWL-S, PSL
Language
SWSL FOL – can use frame syntax, Hilog extensions SWSL Rules – LP with NAF; courteous LP, Hilog extensions Shared presentation syntax; builds on F-Logic Markup syntax – based on ruleML
Ontology
Formal expression of conceptual model Both in SWSL FOL and LP (as much as possible)
Bridge
What can we provide to enable coordinated use of FOL and LP reasoners?
Grounding
Like OWL-S Grounding, connects with WSDL
OWL-S Tutorial
ISWC-06
Sycara / Martin
Web 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/
OWL-S Tutorial
ISWC-06
Sycara / Martin
WSMO Top Level Notions
Objectives that a client may have when consulting a Web Service
Provide the formally specified terminology of 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
OWL-S Tutorial
ISWC-06
Sycara / Martin
WSDL-S & METEOR-S
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
OWL-S Tutorial
ISWC-06
Sycara / Martin
Grid Services
Web Services Resource Framework (WSRF)
WSRF specifications used by OGSA Submitted to OASIS in March 2004; v. 1.2 ratified April, 2006
Framework for modeling and accessing stateful resources Focus on (runtime) management of services and their resources Semantic Grid Services
Similar to SWS Bringing SemWeb technologies into Grid computing Infrastructure for Virtual Organizations
Semantic Grid Research Group (SEM-RG)
Part of Global Grid Form (GGF)
Geoffrey Fox, Carole Goble, David De Roure
OWL-S Tutorial
ISWC-06
Sycara / Martin
OWL-P
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
OWL-S Tutorial
ISWC-06
Sycara / Martin
Some Other Resources
Advances in Semantics for Web Services at BPM 2006
http://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 2005
http://www.ai.sri.com/WSS2005
Semantic Web Services workshop at ISWC 2004
http://www.ai.sri.com/SWS2004
AAAI Spring Symposium on Semantic Web Services
http://www.daml.ecs.soton.ac.uk/SSS-SWS04.html
SOCABE, WSABE workshops at AAMAS
http://www.ict.swin.edu.au/conferences/socabe2006 http://www.ict.swin.edu.au/conferences/socabe2005 http://www.agentus.com/WSABE2004 [and WSABE2003]
OWL-S Tutorial ISWC-06 Sycara / Martin
Tutorial 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
OWL-S Tutorial ISWC-06 Sycara / Martin
Application: Task Computing
Fujitsu Laboratories of America, Inc. http://www.taskcomputing.org
Thanks to: Ryusuke Masuoka
OWL-S Tutorial
ISWC-06
Sycara / Martin
Applications / Task 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
Courtesy of Ryusuke Masuoka, Fujitsu OWL-S Tutorial ISWC-06 Sycara / Martin
Applications / Task Computing
Mobile vs. Ubiquitous
Goal
Challenges
Mobile Computing
Guarantee more-or-less the same environment at all times & places
Overcome the idiosyncrasy of each environment
Ubiquitous Computing
Cope with the dynamism Utilize the changing resources found here and - Grasp the current environment now - Connect it to user’s tasks
Courtesy of Ryusuke Masuoka, Fujitsu OWL-S Tutorial ISWC-06 Sycara / Martin
Applications / Task Computing
Fujitsu’s 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
Courtesy of Ryusuke Masuoka, Fujitsu OWL-S Tutorial ISWC-06 Sycara / Martin
Applications / Task Computing
Goals of Task Computing
Minimize/facilitate user interaction
User interface: mouse clicks and voice
Focus on What (task) instead of How (means) No preprogramming of devices for tasks User wants to do “Tasks”
Filling the gap
“Services” offered means Web services, UPnP, etc.
Courtesy of Ryusuke Masuoka, Fujitsu OWL-S Tutorial ISWC-06 Sycara / Martin
Applications / Task Computing
A Giant Leap
Play Jeff’s Video Dial Contact from Outlook Weather Info of FLA, CP …
Device (UPnP)
Dial Play (Audio) Video from DV Play (Video)
OS/Application (.NET, etc.)
Open View Save Print Add into Outlook Contact from Outlook Jeff’s Video
Web Services
Aerial Photo of Weather Info of
Devices
OS/Application
Web Pages
Courtesy of Ryusuke Masuoka, Fujitsu OWL-S Tutorial ISWC-06 Sycara / Martin
Applications / Task Computing
Fujitsu’s 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
Courtesy of Ryusuke Masuoka, Fujitsu OWL-S Tutorial ISWC-06 Sycara / Martin
Applications / Task Computing
Semantic Service Compositions
View on Projector Cont Contact from Outlook View Locally WP File WP My Favorite My File Weather Info of Route from FLA to Add into Outlook Addr
Addr: Address Cont: Contact WP: Web Page
File
File
Addr Addr Cont Cont
Business Address of Dulles Airport Discovered Services
Cont
Applications / Task Computing
TC Architecture
Presentation Layer
Task Computing Client
User
Courtesy of Ryusuke Masuoka
Task Computing Environment
Applications Web-based Client
Web Service API
Middleware Layer
Discovery Engine Execution & Execution Monitoring Engine Service Composition Engine Management Tools
Service Layer
Semantic Service Description
Semantic Service Description
Semantic Service Description
Semantic Service Description
Service
Service
Service
Service
Realization Layer
OWL-S Tutorial
Device Application
ISWC-06
E-service Content
Sycara / Martin
Application: e-Science
Thanks to:
Carole Goble University of Manchester
OWL-S Tutorial
ISWC-06
Sycara / Martin
So much stuff, so little time
Courtesy of Carol Goble
Applications / e-Science
The 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
Courtesy of Carol Goble OWL-S Tutorial ISWC-06 Sycara / Martin
Applications / e-Science
The Semantic Web could further revolutionize science
“Assembling data is no longer the biggest challenge. Instead, the major hurdle these days is one of data integration.”
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
Russ Altman,Stanford
Courtesy of Carol Goble
Applications / e-Science
Science + e-Science
Discovery increasingly done in silico on results obtained from experiments using computational analysis & data repositories. A new era of collection based and simulation based science, in addition to hypothesis driven and experimental science
integration mining analysis hypothesis prediction integration analysis mining results experiment
Courtesy of Carol Goble OWL-S Tutorial ISWC-06 Sycara / Martin
Applications / e-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
Courtesy of Carol Goble
Applications / e-Science
Semantic Web Services for e-Science
Collaboration between different labs critical Empirical data on the Web is growing rapidly
Both in scale and complexity Finding the right data is time-consuming “Screen scraping” used to gather data from distributed resources Error-prone
Managing experimental/analytical workflow can be an overwhelming job
Ensuring repeatability Tracking datasets, provenance, experimental parameters Integrating in vitro with in silico results Tracking software versions, parameters, etc. across organizations
Semantic Web/Grid Services can help
Programmatic interfaces instead of screen scraping Automated discovery instead of manual search Composing and managing workflows
OWL-S Tutorial ISWC-06 Sycara / Martin
Applications / e-Science
Some SemWeb Activities in e-Science
Artificial Intelligence
Decision making OWL Lots SWRL Knowledge Discovery Ontology Semantic Information Building Web linking Services Flexible & FOAF RDF extensible Not Social Metadata much bookmarking schemas
Semantics
Courtesy of Carol Goble OWL-S Tutorial
RSS
Collective Intelligence
Not much Web
ISWC-06
Lots
Sycara / Martin
Application:
Behavior of Intelligent Vehicles
TARDEC NIST DCS Corp.
Thanks to: Craig Schlenoff Randy Washington
http://protege.stanford.edu/conference/2004/abstracts/Schlenoff.pdf
OWL-S Tutorial
ISWC-06
Sycara / Martin
Applications / Intelligent Vehicles
*
Problem 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 warfighter operating 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
OWL-S Tutorial ISWC-06 Sycara / Martin
Applications / Intelligent Vehicles *
Goal
Model Definition
Scenario & Metrics
Model Simulation & Analysis
Effectiveness
Design Deployments
Roles & Capabilities Efficiency Platforms & Personnel Operational Timelines Subsystems Workload Components (WMI) (Warfighter Machine I/F)
A modeling technique that supports seamless iteration of system of system deployments with increasing detail validated through simulation and analysis
OWL-S Tutorial ISWC-06 Sycara / Martin
Applications / Intelligent Vehicles
*
Model Development Approach
Utilizing NIST 4 Dimensions Real Time Control System (4D/RCS) methodology to extract behavioral models from tactical scenarios 4D/RCS methodology created to support the development of controls for intelligent systems NIST 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
OWL-S Tutorial
ISWC-06
Sycara / Martin
4D/RCS Methodology to IS Ontology Mapping
Services
Decompose Tasks Map Tasks to Agent Architecture
Roles
Map Task Decisions To State-Tables
Identify Task Relevant Entities and Objects
Derive the Relevant Task Situations from World States and Object Parameters
Processes Parameters Conditions
Applications / Intelligent Vehicles
*
OWL-S 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
OWL-S Tutorial
ISWC-06
Sycara / Martin
Applications / Intelligent Vehicles
OWL-S Extensions
Deployment of Scenario Operations to Roles
Role Deployment to Agents
Deployment of Subsystems and WMI to Tasks ISWC-06 Sycara / Martin
OWL-S Tutorial
Applications / MathServe
Application: MathServe
Thanks to:
Jürgen Zimmer http://www.ags.uni-sb.de/~jzimmer/mathserve.html
OWL-S Tutorial
ISWC-06
Sycara / Martin
Applications / MathServe
The 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-S MathServe broker:
Analyzes incoming theorem proving problems Chooses most suitable service for that problem Performs automated WS composition if necessary
OWL-S Tutorial ISWC-06 Sycara / Martin
Applications / MathServe
MathServe Service Descriptions
Performance of ATP systems is expressed as conditional stochastic effects in OWL-S extensible serviceParameters: M
problemCla ss ( problem, Class1
)⇒
status (result, Theorem
)[0.28 ]
problemCla
ss ( problem, ClassN
)⇒
status (result, Theorem
)[0.88 ]
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)
OWL-S Tutorial
ISWC-06
Sycara / Martin
Applications / MathServe
Service Composition in MathServe
OWL-S Tutorial
ISWC-06
Sycara / Martin
Application:
Software Interoperability
Open Netcentric Interoperability Standards for Training and Testing (ONISTT)
SRI International
David Hanz Reg Ford Grit Denker Daniel Elenius and other team members
Thanks to:
OWL-S Tutorial
ISWC-06
Sycara / Martin
Framing 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)
OWL-S Tutorial
ISWC-06
Sycara / Martin
Decomposing “Interoperability”
[Page, 2004] Composability
Interoperability
Integratibility
OWL-S Tutorial
ISWC-06
Sycara / Martin
Applications / Software Interoperability
ONISTT Approach
“BOGSAT Composability”
BOGSAT – (a Bunch of Old Guys/Gals Sitting Around Talking)
Most frequently used method for assembling complex SoS Expensive event planning and setup
Instead Use ontologies to describe training systems and their relationships
Capabilities Interaction requirements (possibly in terms of services) Interchange data & representation models & their compatibility
Also describe exercise requirements Use a software compatibility Analyzer to
Determine if components can interoperate to meet the requirements Select components that interoperate Suggest steps that may lead to successful interoperation
OWL-S Tutorial
ISWC-06
Sycara / Martin
Applications / Software Interoperability
ONISTT Configuration Problem
Requester Side Scenario 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)
Provider Side Deployment Confederation 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
Services Needed (across tasks):
(Task,Role) x (Task,Role) Powerset(Service)
Constraints • QoS Requirements: •
(Task,Role) x (Task,Role,Service) Other Constraints Quality
Constraints
• Deployment Constraints • Other Constraints
Applications / Software Interoperability
ONISTT: Knowledge Capture Phase
Training Event KBs
• Tasks • Roles • Services needed • Capabilities needed • Scenario
3. Populate KBs on the basis of ontologies and information in referents
Training Resource KBs
• System • Actor • Services provided • Capabilities provided • Environment
Ontologies Training Event Training Resource Environment Scenario DoD Domain Concepts Actor 2. Develop ontologies to capture structure of all referents
Role Task
Service
System
General Concepts
1a. Develop referents for training events, JTAs, and environments
Training Event Referents
Training Resource Referents
1b. Develop referents for LVC systems, capabilities and quality metrics
JTAs
Training Environments
LVC Systems
OWL-S Tutorial
ISWC-06
Sycara / Martin
Engage Simulated Target: Roles, Services, and Messages
OWL-S Tutorial
ISWC-06
Sycara / Martin
Applications / Software Interoperability
ONISTT: Analyzer Employment Phase
Training Event KBs
System KBs
2. Submit Training Event and Candidate Confederation
1. Training Planner uses knowledge in KBs to a) Set-up/modify Training Event b) Define/refine Candidate Confederation (full or partial)
4b. Return notification of failed verification. Back to Step 1.
Analyzer Decision
3. Analyzer Uses information in KBs to a) Verify given Confederation or b) Generate verified Confederation(s)
Configuration Artifacts
Verified Confederation(s)
4a. Return verified Confederation(s) and Configuration Artifacts
OWL-S Tutorial
ISWC-06
Sycara / Martin
Applications / Software Interoperability
Evolution Towards ONISTT
Establish patterns & conventions for building parallel Knowledge Bases to describe (1) services available from a specific system implementation and (2) services needed by a specific exercise enactment
ONISTT
Establish patterns & conventions for describing messaging via Interface Ontologies Establish patterns & conventions for decomposing macro-services into workflows of micro-services or “service fragments”
Semantics
Semantic Web
Semantic Web Services
Syntax
WWW
Web Services Dynamic ISWC-06
Static OWL-S Tutorial
Sycara / Martin
Applications / Software Interoperability
ONISTT: Addendum
Recently moving to a higher level of specification
Centered 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
OWL-S Tutorial
ISWC-06
Sycara / Martin
Tutorial 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
OWL-S Tutorial ISWC-06 Sycara / Martin
Tools
SWS Tasks
Publication Profile Operation Process Model Development Simulation Verification Discovery Selection Composition Enactment, Interoperation Monitoring, Recovery Development … Deployment … Use …
OWL-S Tutorial ISWC-06 Sycara / Martin
Grounding
Tools / Composition
Authoring and Editing Tools
SOOP (Mindswap-UMD) OWL-S Editor (SRI, based on Protege) OWL-S Editor (CMU based on Eclipse)
OWL-S Tutorial
ISWC-06
Sycara / Martin
SWOOP
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 a rollback option
Verification tools highlighting logical problemsm
OWL-S Tutorial
ISWC-06
Sycara / Martin
SWOOP and OWL-S
Swoop can be used to display OWL-S ontologies
It provides validation of correctness of OWL code It will provide visualization of both XML syntax and human readable syntax
OWL-S Tutorial
ISWC-06
Sycara / Martin
Tools / Development / OWL-S IDE
OWL-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
OWL-S Tutorial
ISWC-06
Sycara / Martin
Tools / Development / OWL-S IDE
OWL-S IDE Production Cycle
1. 2. 3. 4. 5. 6. 7.
Developer creates Java code IDE transforms Java into partial OWL description
WSDL is generated as by-product
OWL-S editor is used to complete the OWL-S description UDDI client can be used for automatic advertisement in UDDI Verification tools are available for correctness checking Automatic client generation Extension to SWeDE OWL Environment
OWL-S Tutorial
ISWC-06
Sycara / Martin
Architecture OWL-S IDE
OWL-S/UDDI OWLMatching Engine UDDI Client UDDI-data UDDIstructure
CMU OWL-S OWLEditor eclipse
Profile Process Grounding
OWL-S2UDDI OWLConverter OWL-S OWLAPI OWL-S OWLVM Spin Based Verification Java Code Java Code
Legend:
Tools integrated in the OWL-S IDE 10/22/04 Data Files
Java Code
OWL-S Files OWL-
Apache’s Apache’ Java2WSDL Converter
WSDL Code
WSDL2OWL-S WSDL2OWLConverter
BBN’s BBN’ SWeDE OWL Editor
OWL-S Tutorial
ISWC-06
Sycara / Martin
OWL-S Menu: Java 2 OWL-S
Java Code
Resulting OWL-S
OWL-S Tutorial
Eclipse’s Java IDE
ISWC-06
Sycara / Martin
OWL-S Actions Publish on Web site Publication to UDDI Verification
CMU OW-S Editor Adding/Editing
processes
Adding/Editing Inputs/outputs Preconditions/effect s
Ontology files
Process Model tree Display process/subproces relations Inputs/outputs Preconditions/effects
OWL-S Editor for Protégé (SRI)
Easy, intuitive OWL-S service development environment Based on popular Protégé/OWL ontology editor Open-source, with code available at
http://owlseditor.semwebcentral.org
IOPR Manager
Input/Output/Precondition/Result
Maintain IOPR correspondences between OWL-S subontologies Perform consistency checks
Synchronized instance panes for Service, Profile, Process, Grounding instances Graph Overview
Visualize & navigate relationships between OWL-S subontologies
OWL-S Tutorial ISWC-06 Sycara / Martin
OWL-S Editor for Protégé: Process Modeling
Auto-generated graphical process visualization Shows control & data flow together
Indented tree-based editing Atomic, Simple, and Composite processes Control constructs
If-Then-Else Split Sequence …
Dataflow
OWL-S Editor
Matchmaking in OWL-S Editor for Protégé
Editor provides central Matchmaker component
Scoring and presentation of results
Allows for distributed MatchProviders
MatchProvider 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 matches
InputProviders
• 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 Tutorial ISWC-06 Sycara / Martin
OWL-S Editor for Protégé: Matchmaking Invoked from Visualization
OWL-S Editor
OWL-S Editor for Protégé: WSDL Support & Service Enactment WSDL Support
Generate “skeleton” OWL-S from pre-existing WSDL Then “flesh out” in OWL-S Editor Uses code from Mindswap’s OWL-S API
Enactment
Execute 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 Tutorial ISWC-06 Sycara / Martin
Tools / Development
MINDSWAP OWL-S Tools
OWL-S Validator
Checks for syntax errors
OWL-S Translator
Translates between versions of OWL-S
WSDL2OWL-S OWL-S API (See Enactment slides) Presentation Syntax Writer http://www.mindswap.org/2004/owl-s/services
OWL-S Tutorial
ISWC-06
Sycara / Martin
SweetToolsMatchmaking & Selection Spot: for Discovery
Diagram from “Web Services Architecture W3C Working Draft” http://www.w3.org/TR/2002/WD-ws-arch-20021114/
OWL-S Tutorial ISWC-06 Sycara / Martin
Tools / Discovery / Matchmaker
Expressing capabilities in OWL-S
OWL-S Profile describes capabilities of Web services Three types of representations:
1.
2. 3.
Functional representation – Input/Output specify the information transformation produced by the Web service – Precondition/Effect specify the domain transformation produced by the Web service Non-functional properties Type of service and product information
Many capability matching algorithms proposed
OWL-S Tutorial
ISWC-06
Sycara / Martin
Tools / Discovery / Matchmaker
CMU’s Matchmaker
Matching of I/O of the request with I/O of the advertisement Efficient implementation given correct indexing of advertisements Match within ms Linear 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
subsume
Thing
Vehicle
Price
exact
Car
Truck
Coupe
Sedan
plug-in
Luxury
Mid-Size
http://www.cs.cmu.edu/~softagents/daml_Mmaker/daml-s_matchmaker.htm
OWL-S Tutorial ISWC-06 Sycara / Martin
Tools / Discovery / Matchmaker
Using Subsumption
Use subsumption relation between advertisement and request Five degrees of match
Exact PlugIn R⊆A Subsumed A⊆R Intersection ¬(A R⊆⊥) Fail when disjoint A R⊆⊥
Note: not a “pure” use of subsumption
OWL-S Tutorial
ISWC-06
Sycara / Martin
Tools / Discovery / Registry
Integration of OWL-S and UDDI
Publish Port Inquiry Port Capability Port
UDDI Business Registry
Green Pages
Yellow Pages White Pages
• 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)
OWL-S Matching Engine
CMU UDDI is publicly available at www.daml.ri.cmu.edu/matchmaker or on SemWebCentral www.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) OWL-S Tutorial ISWC-06
• 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)
Sycara / Martin
Tools for Enactment Sweet Spot: Matchmaking
OWL-S Tutorial
ISWC-06
Sycara / Martin
Tools / Enactment / OWL-S API
Mindswap OWL-S API
OWL-S 0.9 OWL-S 1.0 OWL-S 1.1 Parsing Parsing OWL-S Execution Engine WSDL Execution (Axis) Execution UPnP Monitoring Execution (CyberLink) Execution Execution OWL-S Model RDF/OWL Model Manipulation Manipulation OWL-S 1.0 OWL-S 1.1 Presentation JSHOP Serialization Serialization
Validator
Version Translator Sample Applications Sample Applications
WSDL2OWL-S
OWL-S Tutorial
ISWC-06
Sycara / Martin
Tools / Enactment / OWL-S Virtual Machine
CMU’s OWL-S 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
OWL-S Tutorial
ISWC-06
Sycara / Martin
Tools / Enactment / OWL-S Virtual Machine
CMU’s OWL-S Virtual Machine
Requester
OWL-S VM
Provider Provider
Webservice Invocation Axis’s Web Service Invocation Framework
WSDL Grounding Process Model
OWL-S Processor Grounding Execution Rules Process Model Execution Rules OWL Inference Engine
OWL-S Tutorial
ISWC-06
Sycara / Martin
Describing a Web service:
The 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 by
Mapping 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
OWL-S Tutorial
ISWC-06
Sycara / Martin
Process Model of AWS
•WSDL2OWL-S used to generate OWL-S for Amazon’s Web Service •OWL-S VM used to interact with Amazon Web service
Shop Search Reserve
OWL-S Tutorial
ISWC-06
Sycara / Martin
Semantic Web Services
Performance
OWL-S VM
OWL-S VM client on browsing+reserving task Analyzed data by computing: Time required by OWL-S VM to execute Process Model Time required for data transformation to fit Amazon requirements Time required to invoke an operation on Amazon
98 runs total over 4 days in varying load conditions
Results in milliseconds VM Average
percentage
Data Transformation
Amazon Invocation
Data Trsfm 83
3%
Invocation 2797
92%
156
5%
Strd dev
107
146
1314
OWL-S Tutorial
ISWC-06
Sycara / Martin
Problems 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
OWL-S Tutorial
ISWC-06
Sycara / Martin
Tools / Enactment / Semantic Discovery Service
Semantic Discovery Service
• Adapting BPEL4WS
for the Semantic Web
• Daniel J. Mandell • Sheila A. McIlraith
http://www.ksl.stanford.edu/people/sam/iswc2003sam-djm-FINAL.pdf
OWL-S Tutorial ISWC-06 Sycara / Martin
Tools / Enactment / Semantic Discovery Service
Semantic Discovery Service
Alleviates 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
OWL-S Tutorial
ISWC-06
Sycara / Martin
Tools / Enactment / Semantic Discovery Service
Service 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)
OWL-S Tutorial
ISWC-06
Sycara / Martin
Tools / Enactment / SNOBASE
IBM’s 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 Internet and 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
OWL-S Tutorial
ISWC-06
Sycara / Martin
Tools / Enactment / SNOBASE
SNOBASE Components
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 languagespecific rules. The rules are used to answer queries when the requested fact is not immediately available but must be inferred from available facts.
Java Ontology Base Connectivity • High-level access to ontological resources stored in SNOBASE 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
Source: FAQs, FAQ 07 “What are the components of IBM Ontology Management System?” http://www.alphaworks.ibm.com/tech/snobase/faq#07 OWL-S Tutorial ISWC-06 Sycara / Martin
Tools / Composition
Tools for Composition
Web Service Composer (MINDSWAP) SHOP2 (MINDSWAP) Golog-based Composition (Stanford KSL) CMU Composition Architecture
OWL-S Tutorial
ISWC-06
Sycara / Martin
Tools / Composition / MindSwap WS Composer
MindSwap’s Web 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 OWL-S Tutorial ISWC-06 Sycara / Martin
Tools / Composition / MindSwap WS Composer
Web Service Composer Creating Workflows
Executing Compositions
Filtering Services
Basis for Fujitsu’s Task Computing Environment Published in IEEE Intelligent Systems, Masuoka et. al, 2003 OWL-S Tutorial ISWC-06 Sycara / Martin
Tools / Composition / MindSwap SHOP2
Automated Composition
User Interface
SHOP2 planner Personal Schedule
Generated Plan
Web Service Executor
OWL-S Tutorial ISWC-06 Sycara / Martin
Tools / Composition / KSL WS Composition Tool
KSL 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
http://www.ksl.stanford.edu/people/sam/mci-son-kr02.ps
OWL-S Tutorial ISWC-06 Sycara / Martin
Tools / Composition / CMU Composition Architecture
CMU 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
OWL-S Tutorial
ISWC-06
Sycara / Martin
Tools
Tools Resources
See also:
http://www.daml.org/services/owl-s/
• Publications, Tools
http://www.semwebcentral.org
OWL-S Tutorial
ISWC-06
Sycara / Martin
Tutorial 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
OWL-S Tutorial ISWC-06 Sycara / Martin
Where Are the Agents?
Autonomous in “unanticipated” situations Proactive, robust in the face of
• changing, inconsistent and unexpected data • variations in reliability, trust
Adaptive: serendipitous, opportunistic behavior Collaborative 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 agents Agents as services; agents as users of services?
Can be both But, (S)WS descriptions are somewhat asymmetric
• Focus on what agents can provide
Also, somewhat limited attention to conversations & teamwork
OWL-S Tutorial ISWC-06 Sycara / Martin
Evolution Towards an “Agent-Oriented Web”
Se ma nt
Semantic Web
?
Semantic Web Services
ics
?
?
Sy nta x
?
Web Services
ISWC-06
WWW
Static
OWL-S Tutorial
Dynamic
Sycara / Martin
Some Active SWS Research Areas
Language & vocabulary for
Quality of Service Policies Preconditions & effects Commitments
Discovery / Matchmaking / Selection Composition, workflow adaptation Service / resource / transaction management Service use with mobile / ubiquitous devices Security Context Tools & Environments
(Semi-)Automatic annotation
OWL-S Tutorial ISWC-06 Sycara / Martin
Research Directions
What distinguishes SWS research from agents research?
Web-enablement
Integration with Web standards Highly dynamic environment Massively distributed Scalable Fault-tolerant
Emphasis on ontologies Emphasis on description logics, due to OWL Less emphasis on “agent internals” (including goals) Somewhat less emphasis on conversations
OWL-S Tutorial ISWC-06 Sycara / Martin
Examples of SWS Research
Language & vocabulary
Work on integrating LP + DL (to the extent driven by SWS)
Integrating Description Logics and Action Formalisms: First Results
(Baader et al., AAAI 05) der Aalst and Pesic)
DecSerFlow: Towards a Truly Declarative Service Flow Language (van
Discovery / Matchmaking / Selection
Efficient Service Discovery in Goal-Driven Architectures (Stollberg) Towards a Policy Framework for Open Electronic Markets (Lamparter
et al.)
Composition, workflow adaptation
Template-based Composition of Semantic Web Services (Sirin et al.) Automatic Composition of Transition-based Semantic Web Services with Messaging (Berardi)
OWL-S Tutorial
ISWC-06
Sycara / Martin
Cultural Challenges
Infrastructure / investment
Knowledge 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-hood
Education, tools
Getting consensus on approaches, ontologies
Competitive pressures
OWL-S Tutorial ISWC-06 Sycara / Martin
Prospects for Adoption?
(Sure)
The Web is a big place
With 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”
OWL-S Tutorial
ISWC-06
Sycara / Martin
Possible Roads Towards an “Agent-Oriented Web”
Standards activities Commercial push Communities of interest Web 2.0
OWL-S Tutorial
ISWC-06
Sycara / Martin
Directions & Challenges
The Standards Road
At W3C, incremental with respect to services
Building out from WSDL WS-Addressing WS-Choreography WS-Policy Semantic Annotations for WSDL (SAWSDL) Beyond?
• • SWS Interest Group (public-sws-ig@w3.org) Semantic Web-based Model for use with SAWSDL?
OASIS
Augmentation of UDDI SWS Execution Environment (WSMX) Web Services Resource Framework (WSRF)
• From Global Grid Forum
OMG
Ontology Definition Metamodel (ODM)
Service Component Architecture (SCA)
Interest in Semantics, ODM; Hooks for WS-Policy
DoD
Service Description Framework
OWL-S Tutorial
ISWC-06
Sycara / Martin
Semantics Migrating into Mainstream WS
UDDI
OWL-S Service OWL-S & Model ebXML Registries ebXML CPA
Discovery Contracts and agreements Process and workflow orchestrations QoS: Transactions QoS: Choreography QoS: Conversations
WSCL OWL-S Service Profile OWL-S Service Grounding OWL PSL
other SWS approaches
BPEL4WS
WS-AtomicTransaction and WSXLANG BusinessActivity WS-Reliable WS-Choreography Messaging WSCI WS-Security WSCL WS-Policy
BPML BTP ebXML BPSS
WSDL SOAP
SAWSDL
ebXML QoS: Service CPP descriptions and bindings ebXML messaging Messaging Encoding Transport
XML, DTD, and XML Schema HTTP, FTP, SMTP, SIP, etc.
Derived From M. Singh and M. Huhns: Service-Oriented Computing: Semantics, Processes, Agents
OWL-S Tutorial
ISWC-06
Sycara / Martin
The Commercial Road(s)
Interoperability!
Data and process
Evolution from workflow, rules, etc. products Virtual organizations
Supply chain management with agility Collaboration Contract management (SLA)
Evolution of search engines Evolution from Semantic Web Evolution from Grid computing, network mgmt., etc. Integration with service-providing organizations (IBM example) Open-services approaches (e.g., Amazon)
OWL-S Tutorial ISWC-06 Sycara / Martin
The “Communities of Interest” Road
E-Science
Life Sciences WG at W3C
Geospatial Government / military
Commited to SOA to ease interoperability and other hard problems Strong tradition regarding sophisticated methodologies Lacking competitive pressures (?)
Mobile / ubiquitous
OWL-S Tutorial
ISWC-06
Sycara / Martin
The “Web 2.0” Road
“Semantic”
Tags, microformats, vertical search
Participatory (P2P)
Blogs, wikis, social networking, RSS feeds
Active, real time
Instant messaging, events/feeds (pub/sub)
Pervasive
Billions of edge devices (gizmos) with substantial computing and broadband access – phones, cars, RFID readers…
Community
Simplicity, Rapidity, Mass Collaboration, Empowerment
Public “services”, composition
Amazon, “Mechanical Turk” Mashups
OWL-S Tutorial
ISWC-06
Sycara / Martin
The “Web 2.0” Road
No Inconsistency with Semantic Web directions Incremental, les-formal steps in many relevant directions
Mashups Tagging of “Web services”
• WubHub, Swashup
Microformats
But focused on collaboration, less on automation
Open services example (Amazon, Google) Mechanical Turk, Piggy Bank, WubHub …
May provide initial infrastructure for increased automation
When there are huge numbers of these things, automated search, etc. will be needed
OWL-S Tutorial
ISWC-06
Sycara / Martin
Summary:
Contributions 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
OWL-S Tutorial
ISWC-06
Sycara / Martin
Conclusions
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!
OWL-S Tutorial ISWC-06 Sycara / Martin
The End
Hindi Traditional Chinese
Thai
Gracias
Russian
Spanish
Thank You
English
Obrigado
Brazilian Portuguese
Arabic
Danke
German
Grazie
Italian Simplified Chinese
Merci
French
Tamil
Japanese Korean
http://www.ai.sri.com/daml/services/ISWC06-OWL-S-tutorial.pdf
OWL-S Tutorial ISWC-06 Sycara / Martin