semantic web services sharif university of technology spring 2007
TRANSCRIPT
![Page 1: Semantic Web Services Sharif University of Technology Spring 2007](https://reader036.vdocument.in/reader036/viewer/2022081516/56649efd5503460f94c1177c/html5/thumbnails/1.jpg)
Semantic Web Services
Sharif University of Technology
Spring 2007
![Page 2: Semantic Web Services Sharif University of Technology Spring 2007](https://reader036.vdocument.in/reader036/viewer/2022081516/56649efd5503460f94c1177c/html5/thumbnails/2.jpg)
2
Outline
• What is the Problem?– Semantic Web Services– Service Discovery– Service Composition– Context-awareness
• Related Works• Contributions
– Proposed Architecture for a Context-aware Service Broker– Proposed Methods for Service Matchmaking
![Page 3: Semantic Web Services Sharif University of Technology Spring 2007](https://reader036.vdocument.in/reader036/viewer/2022081516/56649efd5503460f94c1177c/html5/thumbnails/3.jpg)
What is the Problem?
![Page 4: Semantic Web Services Sharif University of Technology Spring 2007](https://reader036.vdocument.in/reader036/viewer/2022081516/56649efd5503460f94c1177c/html5/thumbnails/4.jpg)
4
Web Services
• Web-accessible
• Self-describing
• Platform independent
• Definition of World Wide Web Consortium (W3C):– “a software system designed to support interoperable
machine-to-machine interaction over a network. It has an interface described in a machine-processable format (specifically WSDL). Other systems interact with the Web service in a manner prescribed by its description using SOAP messages, typically conveyed using HTTP with an XML serialization in conjunction with other Web related standards”
![Page 5: Semantic Web Services Sharif University of Technology Spring 2007](https://reader036.vdocument.in/reader036/viewer/2022081516/56649efd5503460f94c1177c/html5/thumbnails/5.jpg)
5
Service Oriented Architecture
ServiceBroker
ServiceUser
ServiceProvider
Find
Publish Bind
UDDI
WSDL
SOAP
SOAP SOAP
SOAP – Simple Object Access Protocol / SOA ProtocolWSDL – Web Services Description LanguageUDDI – Universal, Description, Discovery, and Integration
Only Syntax,Agents can not
understand meanings
![Page 6: Semantic Web Services Sharif University of Technology Spring 2007](https://reader036.vdocument.in/reader036/viewer/2022081516/56649efd5503460f94c1177c/html5/thumbnails/6.jpg)
6
Semantic Web Services
• Semantic Web– Sharing Information on the Web– Computer-interpretable
• Web Services– Sharing Programs on the Web
• Semantic Web Services– Web Services + Semantic Web– Using ontologies to describe web services
![Page 7: Semantic Web Services Sharif University of Technology Spring 2007](https://reader036.vdocument.in/reader036/viewer/2022081516/56649efd5503460f94c1177c/html5/thumbnails/7.jpg)
7
Ontologies for Semantic Web Services
• Use ontologies to describe Web Services– DAML-S (since 2001)– OWL-S (since 2003)
• Based on OWL-DL
– WSMO (since 2004)– SWSO (since 2005)
• Based on FLOWS (First-order Logic Ontology for Web Services)
![Page 8: Semantic Web Services Sharif University of Technology Spring 2007](https://reader036.vdocument.in/reader036/viewer/2022081516/56649efd5503460f94c1177c/html5/thumbnails/8.jpg)
8
Issues in Semantic Web Services
• Discovery (Matchmaking): Locate different services suitable for a given task
• Selection: Choose the most appropriate services among the available ones
• Composition: Combine services to achieve a goal– Automatic Service Composition might enable programmer to
become specifying what to do and not anymore how to do it!
• Execution: Invoke services following programmatic conventions
• Monitoring: Control the execution process
![Page 9: Semantic Web Services Sharif University of Technology Spring 2007](https://reader036.vdocument.in/reader036/viewer/2022081516/56649efd5503460f94c1177c/html5/thumbnails/9.jpg)
9
A trivial Example
![Page 10: Semantic Web Services Sharif University of Technology Spring 2007](https://reader036.vdocument.in/reader036/viewer/2022081516/56649efd5503460f94c1177c/html5/thumbnails/10.jpg)
10
An Obvious Solution
![Page 11: Semantic Web Services Sharif University of Technology Spring 2007](https://reader036.vdocument.in/reader036/viewer/2022081516/56649efd5503460f94c1177c/html5/thumbnails/11.jpg)
11
Composition: An Example
BookShipped
GetInfo
BookName PasswordUserName
Login
PutInCart
BookLookUp
CardType CardExpiryDateCardName
CreditCardCheck
ShipItem
Goa
lA
vaila
ble
Ser
vice
sIn
puts
HotelReservation
FlightBookingCarRental
![Page 12: Semantic Web Services Sharif University of Technology Spring 2007](https://reader036.vdocument.in/reader036/viewer/2022081516/56649efd5503460f94c1177c/html5/thumbnails/12.jpg)
12
Composition: An Example
BookShipped
GetInfo
InCart
BookName
PasswordUserName
ISBNBookInStockProfileExists
UserType
Login
PutInCart
BookLookUp
CardType
Approved
CardExpiryDateCardName
CreditCardCheck
ShipItem
![Page 13: Semantic Web Services Sharif University of Technology Spring 2007](https://reader036.vdocument.in/reader036/viewer/2022081516/56649efd5503460f94c1177c/html5/thumbnails/13.jpg)
OWL-S
![Page 14: Semantic Web Services Sharif University of Technology Spring 2007](https://reader036.vdocument.in/reader036/viewer/2022081516/56649efd5503460f94c1177c/html5/thumbnails/14.jpg)
14
Introduction
• The ontology of services provides three essential types of knowledge about a service: service profile, service model, and service grounding.
• The class Service provides an organizational point of reference for a declared Web Service.– 1. The class Service “presents” a ServiceProfile: “What does
the service provide for and require of agents?”– 2. The class Service is “describedBy” a ServiceModel: “How
does it work?”– 3. The class Service “supports” a ServiceGrounding: “How
to access the service?”
![Page 15: Semantic Web Services Sharif University of Technology Spring 2007](https://reader036.vdocument.in/reader036/viewer/2022081516/56649efd5503460f94c1177c/html5/thumbnails/15.jpg)
15
Service profile
![Page 16: Semantic Web Services Sharif University of Technology Spring 2007](https://reader036.vdocument.in/reader036/viewer/2022081516/56649efd5503460f94c1177c/html5/thumbnails/16.jpg)
16
Service model
![Page 17: Semantic Web Services Sharif University of Technology Spring 2007](https://reader036.vdocument.in/reader036/viewer/2022081516/56649efd5503460f94c1177c/html5/thumbnails/17.jpg)
17
Process ontology
• Process Ontology can have any number of inputs and outputs representing the information required for execution. Besides inputs and outputs, parameters for physical devices, such things as rates, forces, and control settings can be included.
• The OWL-S defines three types of processes: Atomic (directly invokable), Simple (single-step, but not directly invokable), and Composite (decomposable into other processes).
![Page 18: Semantic Web Services Sharif University of Technology Spring 2007](https://reader036.vdocument.in/reader036/viewer/2022081516/56649efd5503460f94c1177c/html5/thumbnails/18.jpg)
18
Atomic Process
• The atomic processes can be invoked directly and are executed in a single step.
• For each atomic process, there is a grounding that enables a service requester to construct messages.
• An AtomicProcess is a subclass of a Process
![Page 19: Semantic Web Services Sharif University of Technology Spring 2007](https://reader036.vdocument.in/reader036/viewer/2022081516/56649efd5503460f94c1177c/html5/thumbnails/19.jpg)
19
Simple Process
• Simple processes are not associated with a grounding. They are single-step executions.
• Simple processes are used as elements of abstraction;
• a simple process may be used either to provide a view of some atomic process, or a simplified representation of some composite process.
![Page 20: Semantic Web Services Sharif University of Technology Spring 2007](https://reader036.vdocument.in/reader036/viewer/2022081516/56649efd5503460f94c1177c/html5/thumbnails/20.jpg)
20
Composite Process
• Composite processes are decomposable into other processes. The decomposition shows how the various inputs and outputs are accepted
• A CompositeProcess must have a composedOf property by which is indicated the control structure of the composite, using a ControlConstruct.
![Page 21: Semantic Web Services Sharif University of Technology Spring 2007](https://reader036.vdocument.in/reader036/viewer/2022081516/56649efd5503460f94c1177c/html5/thumbnails/21.jpg)
21
Composite Process (cont.)
![Page 22: Semantic Web Services Sharif University of Technology Spring 2007](https://reader036.vdocument.in/reader036/viewer/2022081516/56649efd5503460f94c1177c/html5/thumbnails/22.jpg)
Related Works
![Page 23: Semantic Web Services Sharif University of Technology Spring 2007](https://reader036.vdocument.in/reader036/viewer/2022081516/56649efd5503460f94c1177c/html5/thumbnails/23.jpg)
23
Composition Approaches
• Manual– Design-time composition– BPEL4WS (Business Process Execution Language for Web
Services)• Workflow-based
– Only works when the web service environment doesn’t, or only rarely changes
• Automatic– AI Planning & Workflow-based
![Page 24: Semantic Web Services Sharif University of Technology Spring 2007](https://reader036.vdocument.in/reader036/viewer/2022081516/56649efd5503460f94c1177c/html5/thumbnails/24.jpg)
24
AI Planning
A
B
move(a,table)move(c,a)move(b,c)C
B
C
A
Initial State Goal State Actions
![Page 25: Semantic Web Services Sharif University of Technology Spring 2007](https://reader036.vdocument.in/reader036/viewer/2022081516/56649efd5503460f94c1177c/html5/thumbnails/25.jpg)
25
AI Planning for Composition (1)
• Planning Domain Definition Language (PDDL)– PDDL is a standardized input for state-of-the-art planners– PDDL and OWL-S representations are very similar.– OWLS2PDDL is available.– Different planners have different capabilities and by using
this method we can use the best suited planner for each particular composition task.
![Page 26: Semantic Web Services Sharif University of Technology Spring 2007](https://reader036.vdocument.in/reader036/viewer/2022081516/56649efd5503460f94c1177c/html5/thumbnails/26.jpg)
26
AI Planning for Composition (2)
• Rule-based Planning– Medjahed (2003)– Composability rules are used to determine whether two
services are composable.• Message composability (output of one service is compatible
with input of another).
• Operation semantic composability (defines the compatibility of domains and categories and purposes of two services).
• Qualitative composability (defines the requester’s preferences for quality of operations).
• Composition soundness (determines whether a composition of services is reasonable). Composition templates that define dependencies between services are used.
![Page 27: Semantic Web Services Sharif University of Technology Spring 2007](https://reader036.vdocument.in/reader036/viewer/2022081516/56649efd5503460f94c1177c/html5/thumbnails/27.jpg)
27
AI Planning for Composition (3)
• Rule-based Planning– SWORD
• It uses Entity-Relation model to specify web services.
• A service is modeled by its preconditions and postconditions and is represented in the form of a Horn rule that denotes postconditions are achieved if the preconditions are true.
• User specifies the initial and final states.
• A rule-based Expert System is used for plan generation.
![Page 28: Semantic Web Services Sharif University of Technology Spring 2007](https://reader036.vdocument.in/reader036/viewer/2022081516/56649efd5503460f94c1177c/html5/thumbnails/28.jpg)
28
AI Planning for Composition (4)
• Situation Calculus– Activities users perform on the web can be viewed as
customizations of reusable, high-level generic procedures.– Runtime customization of these generic procedures.– Situation calculus is a logic language for reasoning about action
and change.– GOLOG is a logic programming language built on top of the
situation calculus.– McIIrith et. al. (2001,2002), adapt and extend the GOLOG language
for automatic construction of Web services.– Web Service = Action
• Primitive– World-altering: change the state of the world– Information-gathering: change the state of the knowledge
• Complex– Compositions of individual actions
– Main Problem: GOLOG programs are difficult to create
![Page 29: Semantic Web Services Sharif University of Technology Spring 2007](https://reader036.vdocument.in/reader036/viewer/2022081516/56649efd5503460f94c1177c/html5/thumbnails/29.jpg)
29
AI Planning for Composition (5)
• Hierarchical Task Network Planners
• Composite task decomposition in HTN planning is very similar to Composite process decomposition in OWL-S.
![Page 30: Semantic Web Services Sharif University of Technology Spring 2007](https://reader036.vdocument.in/reader036/viewer/2022081516/56649efd5503460f94c1177c/html5/thumbnails/30.jpg)
30
AI Planning for Composition (6)
• Hierarchical Task Network Planners– User must give an abstract task list. – SHOP2– More efficient than other planning languages such as
GOLOG.– OWL-S can be translated to SHOP2.– JSHOP2 is open source.
– Main Problems:• Lack of parallel execution, a feature frequently needed for
efficient web service usage.• Processes either must have outputs or effects, but not both.
– It enables information gathering during planning.
• it is not possible to directly express the semantics of OWL DL using SHOP2 axioms.
• A task can not be both primitive and nonprimitive.
![Page 31: Semantic Web Services Sharif University of Technology Spring 2007](https://reader036.vdocument.in/reader036/viewer/2022081516/56649efd5503460f94c1177c/html5/thumbnails/31.jpg)
31
AI Planning for Composition (7)
• OWLS-Xplan – An open source composition tool released Dec. 2005– Based on Xplan planner
![Page 32: Semantic Web Services Sharif University of Technology Spring 2007](https://reader036.vdocument.in/reader036/viewer/2022081516/56649efd5503460f94c1177c/html5/thumbnails/32.jpg)
32
Template-based Composition
• Sirin et al., Nov. 2005• A workflow template describes the outline of
activities that need to be performed to solve a problem.– Some of the activities are defined as abstract activities.
• Recursive decomposition of templates.• Generic templates can be customized for a specific
instance of the problem based on the users’ preferences:– Use only certified services– Try to find non-fee services– Do not buy the plane ticket if we can not reserve the hotel
room.
![Page 33: Semantic Web Services Sharif University of Technology Spring 2007](https://reader036.vdocument.in/reader036/viewer/2022081516/56649efd5503460f94c1177c/html5/thumbnails/33.jpg)
33
Semi-automatic Composition
• Current automatic composition approaches can not scale with the amount of knowledge on Semantic Web.
• Sirin et al. (2004)• Automatic planner and human being can work
together to generate the composite service.• The user starts the composition process by selecting
one of the services registered to the engine. A query is sent to the KB to retrieve the information about the inputs of the service, and for each of the inputs, a new query is run to get the list of the possible services that can supply the appropriate data for this input.
![Page 34: Semantic Web Services Sharif University of Technology Spring 2007](https://reader036.vdocument.in/reader036/viewer/2022081516/56649efd5503460f94c1177c/html5/thumbnails/34.jpg)
34
Context-awareness
• What is context? (in our work)– context encompasses all information about the client of a web
service that may be utilized by the web service for adjusting the execution and output to provide the client with a customized and personalized behavior.
• For example,– Profile
• General-info:– Name, email, credit-card number,...
• Preferences:– Currency, Language, ...
– Location– CC/PP (Composite Capabilities / Preferences Profile)– Bandwidth
![Page 35: Semantic Web Services Sharif University of Technology Spring 2007](https://reader036.vdocument.in/reader036/viewer/2022081516/56649efd5503460f94c1177c/html5/thumbnails/35.jpg)
35
Context-based Adaptation
What is the Screen size?
Is it JavaScript Enabled?
![Page 36: Semantic Web Services Sharif University of Technology Spring 2007](https://reader036.vdocument.in/reader036/viewer/2022081516/56649efd5503460f94c1177c/html5/thumbnails/36.jpg)
A Proposal for Service Broker
![Page 37: Semantic Web Services Sharif University of Technology Spring 2007](https://reader036.vdocument.in/reader036/viewer/2022081516/56649efd5503460f94c1177c/html5/thumbnails/37.jpg)
37
Service Registry
Composed Services Cache
Composer
Service Requester
Service Matchmaker
Service Provider
AdapterCommunication
ManagerService Executor
Profile Server
Registry Manager
Context Manager
Service Broker
Service Registry
Composed Services Cache
Composer
Service Requester
Service Matchmaker
Service Provider
AdapterCommunication
ManagerService Executor
Profile Server
Registry Manager
Context Manager
Service Broker
Service Registry
Composed Services Cache
Composer
Service Requester
Service Matchmaker
Service Provider
AdapterCommunication
ManagerService Executor
Profile Server
Registry Manager
Context Manager
Service Broker
A Context-aware Service Broker
Request + Context Adapted Request
Matchmaking Request
Profile Request
Registered Services Info
Composition RequestSelected Service
Ask for inputsInputs request Adapted inputs
Service Specification +
InputsGenerated outputsAdapted outputs
![Page 38: Semantic Web Services Sharif University of Technology Spring 2007](https://reader036.vdocument.in/reader036/viewer/2022081516/56649efd5503460f94c1177c/html5/thumbnails/38.jpg)
38
Matchmaking
Keyword-based Filter
Matched Services
Matchmaker
OutputsFilterService Registry
Service Request
Inputs Filter
Ontologies
Concepts DB
Ontology Processor
Concept Manager
Ontology Cache
![Page 39: Semantic Web Services Sharif University of Technology Spring 2007](https://reader036.vdocument.in/reader036/viewer/2022081516/56649efd5503460f94c1177c/html5/thumbnails/39.jpg)
39
Proposed method for Matchmaking
• Fuzzy Matchmaking:– Instead of using strict levels of matching, let’s use a value
between 0 and 1.– We can use the concept of Semantic Distance.
C1
CCP
C2
1/2
1/8
1/41/4
1/16
![Page 40: Semantic Web Services Sharif University of Technology Spring 2007](https://reader036.vdocument.in/reader036/viewer/2022081516/56649efd5503460f94c1177c/html5/thumbnails/40.jpg)
40
Evaluation
60
65
70
75
80
85
90
95
100
0 10 20 30 40 50 60 70 80 90 100Recall
Pre
cis
ion Proposed Method
Conventional Methods
![Page 41: Semantic Web Services Sharif University of Technology Spring 2007](https://reader036.vdocument.in/reader036/viewer/2022081516/56649efd5503460f94c1177c/html5/thumbnails/41.jpg)
41
Input/Output Matching is not sufficient
• Add and Multiply services both have similar signatures:
• We need to find what services actually do.
AddInteger
IntegerInteger
MultiplyInteger
IntegerInteger