Скачать презентацию Context-aware Semantic Web Service Composition Yasser Ganji Saffar Скачать презентацию Context-aware Semantic Web Service Composition Yasser Ganji Saffar

acc3bdb3607019bdd8694d4df9850aad.ppt

  • Количество слайдов: 38

Context-aware Semantic Web Service Composition Yasser Ganji Saffar ganji@ce. sharif. edu Semantic Web Laboratory 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 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? What is the Problem?

Web Services • Web-accessible • Self-describing • Platform independent • Definition of World Wide Web Services • Web-accessible • Self-describing • Platform independent • Definition of World Wide Web Consortium (W 3 C): – “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 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 – Universal, Description, Discovery, and Integration UDDI WSDL – Simple Object Description Language Protocol Web Services Access Protocol / SOA 5

Semantic Web Services • Semantic Web – Sharing Information on the Web – Computer-interpretable 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 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 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 A trivial Example 9

An Obvious Solution 10 An Obvious Solution 10

Inputs Composition: An Example Book. Name Goal Available Services Card. Type Login User. Name Inputs Composition: An Example Book. Name Goal Available Services Card. Type Login User. Name Card. Name Password Card. Expiry. Date Hotel. Reservation Book. Look. Up Ship. Item Credit. Card. Check Put. In. Cart Car. Rental Get. Info Flight. Booking Book. Shipped 11

Composition: An Example User. Name Password Book. Name Login User. Type Card. Name Card. Composition: An Example User. Name Password Book. Name Login User. Type Card. Name Card. Expiry. Date Credit. Card. Check Book. Look. Up Get. Info Profile. Exists Book. In. Stock ISBN Put. In. Cart Approved In. Cart Ship. Item Book. Shipped 12

Related Works Related Works

Composition Approaches • Manual – Design-time composition – BPEL 4 WS (Business Process Execution Composition Approaches • Manual – Design-time composition – BPEL 4 WS (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) 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 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. OWLS 2 PDDL 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 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 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 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. – Mc. IIrith 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 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 AI Planning for Composition (6) • Hierarchical Task Network Planners – User must give an abstract task list. – SHOP 2 – More efficient than other planning languages such as GOLOG. – OWL-S can be translated to SHOP 2. – JSHOP 2 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 SHOP 2 axioms. • A task can not be both primitive and nonprimitive. 21

AI Planning for Composition (7) • OWLS-Xplan – An open source composition tool released AI Planning for Composition (7) • OWLS-Xplan – An open source composition tool released Dec. 2005 – Based on Xplanner 22

Template-based Composition • Sirin et al. , Nov. 2005 • A workflow template describes 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 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 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 Java. Script Enabled? 26 Context-based Adaptation What is the Screen size? Is it Java. Script Enabled? 26

Contributions Contributions

A Context-aware Service Broker Adaptedrequest Inputs outputs Generated inputs Ask for inputs Adapted outputs A Context-aware Service Broker Adaptedrequest Inputs outputs Generated inputs Ask for inputs Adapted outputs Request + Context Service Specification + Profile Request Inputs Adapted Request Matchmaking Request Composition Selected Service Request Registered Services Info 28

Matchmaking 29 Matchmaking 29

Proposed method for Matchmaking • Fuzzy Matchmaking: – Instead of using strict levels of 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 C 1 1/4 1/8 C 2 1/16 30

Evaluation 31 Evaluation 31

Input/Output Matching is not sufficient • Add and Multiply services both have similar signatures: Input/Output Matching is not sufficient • Add and Multiply services both have similar signatures: Integer Add Integer Multiply Integer • We need to find what services actually do. 32

Publications • Y. Ganji Saffar, H. Abolhassani, R. Jalili, “An Architecture for a Context-aware Publications • Y. Ganji Saffar, H. Abolhassani, R. Jalili, “An Architecture for a Context-aware Service Broker for Ubiquitous Computing Environments”, to appear, The 4 th 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, 11 th Computer Society of Iran Computer Conference, Iran, 2006 33

Future Plan Design & Implementation of a Service Composer 3 months Context modeling and 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 thesis 1 month 34

Questions ? Questions ?

Main References • • • M. Klusch, B. Fries, and M. Khalid, “OWLS-MX: Hybrid Main References • • • M. Klusch, B. Fries, and M. Khalid, “OWLS-MX: Hybrid Semantic Web Service Retrieval”, In Proceedings of 1 st 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. Mc. Ilraith and T. C. Son, “Adapting Golog for composition of Semantic Web services”, In Proceedings of the 8 th International Conference on Knowledge Representation and Reasoning (KR 2002), Toulouse, France, April 2002. S. R. Ponnekanti and A. Fox, “SWORD: A developer toolkit for Web service composition”, In Proceedings of the 11 th World Wide Web Conference, Honolulu, HI, USA, 2002. D. Wu et al. , “Automatic Web services composition using SHOP 2”, 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 1 st 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 2 nd 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 Book. Name ? ISBN • Discovery Approaches • Based on service inputs and outputs Book. Name ? 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 AI Planning for Composition (2) • Situation Calculus – Every situation is defined by a world history, that is a sequence of actions. – The constant s 0 describes the initial situation, that is a situation where no actions have occurred yet. – A state do(put. Down(A), do(walk(L), do(pick. Up(A), s 0))) describes the situation created by the execution of a sequence [pick. Up(A), walk(L), put. Down(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