17. SW services.ppt

advertisement
Context-aware Semantic Web Service
Composition
Yasser Ganji Saffar
ganji@ce.sharif.edu
Semantic Web Laboratory
Computer Engineering Department
Sharif University of Technology
http://sw.ce.sharif.edu
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
2
What is the Problem?
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”
4
Service Oriented Architecture
WSDL
Publish
SOAP
Service
Broker
Service
Provider
Only Syntax,
Agents can not
Find
understand
meanings
SOAP
Bind
SOAP
Service
User
UDDI
SOAP
UDDI –– Universal,
Simple
Object
Description,
Access Protocol
Discovery,
/ SOA
andProtocol
Integration
WSDL
Web Services
Description
Language
5
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
6
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)
7
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
8
A trivial Example
9
An Obvious Solution
10
Inputs
Composition: An Example
BookName
Goal
Available Services
CardType
Login
UserName
CardName
Password
CardExpiryDate
HotelReservation
BookLookUp
ShipItem
CreditCardCheck
PutInCart
CarRental
GetInfo
FlightBooking
BookShipped
11
Composition: An Example
UserName
Password
BookName
Login
UserType
CardType
CardName
CardExpiryDate
CreditCardCheck
BookLookUp
GetInfo
ProfileExists
BookInStock
ISBN
PutInCart
Approved
InCart
ShipItem
BookShipped
12
Related Works
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
14
AI Planning
B
C
A
B
C
Initial State
A
Goal State
move(a,table)
move(c,a)
move(b,c)
Actions
15
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.
16
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.
17
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.
18
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
19
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.
20
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.
21
AI Planning for Composition (7)
• OWLS-Xplan
– An open source composition tool released Dec. 2005
– Based on Xplan planner
22
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.
23
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.
24
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
25
Context-based Adaptation
What is the Screen size?
Is it JavaScript Enabled?
26
Contributions
A Context-aware Service Broker
Profile
Server
Service Broker
Adapted
Inputs request
outputs
Generated
Ask
Adapted
for inputs
inputs
outputs
Request + Context
Adapted Request
Context Manager
Service Requester
Adapter
Communication
Manager
Composition
Selected
RequestService
Composer
Composed
Services
Cache
Service Matchmaker
Service
Specification
+
Profile Request
Inputs
Matchmaking
Request
Service Executor
Registered
Services Info
Service Provider
Registry Manager
Service
Registry
28
Matchmaking
Matchmaker
Service Request
Keyword-based Filter
Service
Registry
OutputsFilter
Matched Services
Inputs Filter
Concept Manager
Ontologies
Ontology Processor
Concepts
DB
Ontology
Cache
29
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.
1/2
CCP
C1
1/4
1/4
1/8
C2
1/16
30
Evaluation
100
95
Precision
90
85
Proposed Method
Conventional Methods
80
75
70
65
60
0
10 20 30 40 50 60 70 80 90 100
Recall
31
Input/Output Matching is not sufficient
• Add and Multiply services both have similar
signatures:
Integer
Integer
Add
Integer
Integer
Multiply
Integer
Integer
• We need to find what services actually do.
32
Publications
• Y. Ganji Saffar, H. Abolhassani, R. Jalili, “An
Architecture for a Context-aware Service Broker for
Ubiquitous Computing Environments”, to appear, The
4th ACS/IEEE International Conference on Computer
Systems and Applications (AICCSA-06), UAE, March
2006
• Y. Ganji Saffar, H. Abolhassani, “Context-aware
Semantic Web Service Brokering”, to appear, 11th
Computer Society of Iran Computer Conference, Iran,
2006
33
Future Plan
Design & Implementation of a Service Composer
3 months
Context modeling and implementation of a context
manager
1 month
Design & Implementation of an Adapter
1 month
Adding Context-awareness capability to Matchmaker and
Composer components
2 months
Finalizing the thesis
1 month
34
Questions ?
Main References
•
•
•
•
•
•
•
•
•
M. Klusch, B. Fries, and M. Khalid, “OWLS-MX: Hybrid Semantic Web Service Retrieval”,
In Proceedings of 1st International AAAI Fall Symposium on Agents and the Semantic Web,
Arlington VA, USA, 2005.
M. Klusch, A. Gerber, and M. Schmidt, “Semantic Web Service Composition Planning
with OWLS-Xplan”, AAAI Fall Symposium Series, Arlington, Virginia, USA, Nov. 2005.
B. Medjahed, A. Bouguettaya, and A. K. Elmagarmid, “Composing Web services on the
Semantic Web”, The VLDB Journal, vol. 12, no. 4, Nov. 2003.
S. McIlraith and T. C. Son, “Adapting Golog for composition of Semantic Web services”,
In Proceedings of the 8th International Conference on Knowledge Representation and
Reasoning (KR2002), Toulouse, France, April 2002.
S. R. Ponnekanti and A. Fox, “SWORD: A developer toolkit for Web service
composition”, In Proceedings of the 11th World Wide Web Conference, Honolulu, HI, USA,
2002.
D. Wu et al., “Automatic Web services composition using SHOP2”, In Proceedings of the
Workshop on Planning for Web Services, Trento, Italy, June 2003.
E. Sisrin, B. Parsia, and J. Hendler, “Filtering and selecting semantic web services with
interactive composition techniques”, IEEE Intelligent Systems, vol. 19, no. 4, pp. 42-49,
2004
M. Paolucci et al., “Semantic matching of web services capabilities”, In Proceedings of
the 1st International Semantic Web Conference (ISWC), Springer Verlag, 2002, pp. 333-347.
S. Ben Mokhtar et al., “Context-aware Service Composition in Pervasive Computing
Environments”, In Proceedings of the 2nd International Workshop on Rapid Integration of
Software Engineering techniques (RISE’05), Heraklion Crete, Greece, Sep. 2005.
36
Discovery Approaches
• Based on service inputs and outputs
BookName
?
ISBN
• Pure logic-based
–
–
–
–
Exact
Subsume
Plug-in
Fail
• Logic-based methods + Information retrieval methods
– Using implicit knowledge which is available in service
descriptions
37
AI Planning for Composition (2)
• Situation Calculus
– Every situation is defined by a world history, that is a
sequence of actions.
– The constant s0 describes the initial situation, that is a
situation where no actions have occurred yet.
– A state do(putDown(A), do(walk(L), do(pickUp(A), s0)))
describes the situation created by the execution of a
sequence [pickUp(A),walk(L), putDown(A)].
– A composite service is a set of atomic services which connected
by procedural programming language constructs (like if-thenelse, while, for and so forth).
38
Download