Context-aware Semantic Web Service Composition

38
Context-aware Semantic Web Service Composition Yasser Ganji Saffar [email protected] Semantic Web Laboratory Computer Engineering Department Sharif University of Technology http://sw.ce.sharif.edu

description

Context-aware Semantic Web Service Composition. Yasser Ganji Saffar [email protected]. 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 - PowerPoint PPT Presentation

Transcript of Context-aware Semantic Web Service Composition

Page 1: Context-aware Semantic Web Service Composition

Context-aware Semantic Web Service Composition

Yasser Ganji [email protected]

Semantic Web Laboratory

Computer Engineering Department

Sharif University of Technology

http://sw.ce.sharif.edu

Page 2: Context-aware Semantic Web Service Composition

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: Context-aware Semantic Web Service Composition

What is the Problem?

Page 4: Context-aware Semantic Web Service Composition

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: Context-aware Semantic Web Service Composition

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: Context-aware Semantic Web Service Composition

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: Context-aware Semantic Web Service Composition

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: Context-aware Semantic Web Service Composition

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: Context-aware Semantic Web Service Composition

9

A trivial Example

Page 10: Context-aware Semantic Web Service Composition

10

An Obvious Solution

Page 11: Context-aware Semantic Web Service Composition

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: Context-aware Semantic Web Service Composition

12

Composition: An Example

BookShipped

GetInfo

InCart

BookName

PasswordUserName

ISBNBookInStockProfileExists

UserType

Login

PutInCart

BookLookUp

CardType

Approved

CardExpiryDateCardName

CreditCardCheck

ShipItem

Page 13: Context-aware Semantic Web Service Composition

Related Works

Page 14: Context-aware Semantic Web Service Composition

14

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 15: Context-aware Semantic Web Service Composition

15

AI Planning

A

B

move(a,table)move(c,a)move(b,c)C

B

C

A

Initial State Goal State Actions

Page 16: Context-aware Semantic Web Service Composition

16

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 17: Context-aware Semantic Web Service Composition

17

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 18: Context-aware Semantic Web Service Composition

18

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 19: Context-aware Semantic Web Service Composition

19

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 20: Context-aware Semantic Web Service Composition

20

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 21: Context-aware Semantic Web Service Composition

21

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 22: Context-aware Semantic Web Service Composition

22

AI Planning for Composition (7)

• OWLS-Xplan – An open source composition tool released Dec. 2005– Based on Xplan planner

Page 23: Context-aware Semantic Web Service Composition

23

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 24: Context-aware Semantic Web Service Composition

24

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 25: Context-aware Semantic Web Service Composition

25

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 26: Context-aware Semantic Web Service Composition

26

Context-based Adaptation

What is the Screen size?

Is it JavaScript Enabled?

Page 27: Context-aware Semantic Web Service Composition

Contributions

Page 28: Context-aware Semantic Web Service Composition

28

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 29: Context-aware Semantic Web Service Composition

29

Matchmaking

Keyword-based Filter

Matched Services

Matchmaker

OutputsFilterService Registry

Service Request

Inputs Filter

Ontologies

Concepts DB

Ontology Processor

Concept Manager

Ontology Cache

Page 30: Context-aware Semantic Web Service Composition

30

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 31: Context-aware Semantic Web Service Composition

31

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 32: Context-aware Semantic Web Service Composition

32

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

Page 33: Context-aware Semantic Web Service Composition

33

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

Page 34: Context-aware Semantic Web Service Composition

34

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

Page 35: Context-aware Semantic Web Service Composition

Questions ?

Page 36: Context-aware Semantic Web Service Composition

36

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.

Page 37: Context-aware Semantic Web Service Composition

37

Discovery Approaches

• Based on service inputs and outputs

• Pure logic-based– Exact– Subsume– Plug-in– Fail

• Logic-based methods + Information retrieval methods– Using implicit knowledge which is available in service

descriptions

?BookName ISBN

Page 38: Context-aware Semantic Web Service Composition

38

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-then-else, while, for and so forth).