1 Michael Klein et al., Universität Karlsruhe, Germany Combining Query and Preference – An Approach to Fully Automatize Dynamic Service Binding IEEE International.

Slides:



Advertisements
Similar presentations
Configuration management
Advertisements

Estimation of Means and Proportions
1/17 DIANE Project Betreuer: Birgitta König-Ries, Michael Klein An approach to Support Service Discovery in Mobile.
1 Semantic Description of Programming languages. 2 Static versus Dynamic Semantics n Static Semantics represents legal forms of programs that cannot be.
An Approach to Evaluate Data Trustworthiness Based on Data Provenance Department of Computer Science Purdue University.
1/23 Michael Klein Universität Karlsruhe A Process and a Tool for Creating Service Descriptions based on DAML-S 4th VLDB Workshop on Technologies for E-Services.
DIANE Project Michael Klein, Birgitta König-Ries Multi-Layer Clusters in Ad-hoc Networks - An Approach to Service.
Object-Oriented Analysis and Design
1 Michael Klein Questions for the First AKT Workshop on Semantic Web Services Birgitta König-Ries, Michael Klein DIANE Project ICS, University of Jena,
Merging Models Based on Given Correspondences Rachel A. Pottinger Philip A. Bernstein.
Sociology 601: Class 5, September 15, 2009
Lecture 4 Class Responsibility Collaboration Cards
1 Igor Vanerman. Personalizing the Usage of Complex Services. CSIT 2005 Ufa Personalizing the Usage of Complex Services N. I. Yussupova, D.V. Popov B.
1 Discovery and Mediation using Diane Service Descriptions Ulrich Küster and Birgitta König-Ries (also contains work by Michael Klein) University Jena.
Academic Advisor: Prof. Ronen Brafman Team Members: Ran Isenberg Mirit Markovich Noa Aharon Alon Furman.
1 Coupled Signature and Specification Matching for Automatic Service Binding Michael Klein Universität Karlsruhe (TH) Birgitta König-Ries TU München/Universität.
COMP205 Comparative Programming Languages Part 1: Introduction to programming languages Lecture 3: Managing and reducing complexity, program processing.
1 Dynamic Binding for BPEL Processes A Lightweight Approach to Integrate Semantics into Web Services Ulrich Küster and Birgitta König-Ries (also contains.
Recommender systems Ram Akella February 23, 2011 Lecture 6b, i290 & 280I University of California at Berkeley Silicon Valley Center/SC.
Present by Chen, Ting-Wei Adaptive Task Checkpointing and Replication: Toward Efficient Fault-Tolerant Grids Maria Chtepen, Filip H.A. Claeys, Bart Dhoedt,
Creating Architectural Descriptions. Outline Standardizing architectural descriptions: The IEEE has published, “Recommended Practice for Architectural.
Database Design Concepts Info 1408 Lecture 2 An Introduction to Data Storage.
1/17 DIANE Project Birgitta König-Ries, Michael Klein Information Services to Support E-Learning in Ad-hoc Networks.
1 Michael Klein et al., Universität Karlsruhe, Germany Stepwise Refinable Service Descriptions: Adapting DAML-S to Staged Service Trading 1st International.
Preference Elicitation in Scheduling Problems Ulaş Bardak Ph.D. Thesis Proposal Committee Jaime Carbonell, Eugene Fink, Stephen Smith, Sven Koenig (University.
Recommender systems Ram Akella November 26 th 2008.
1 Michael Klein, Universität Karlsruhe, Germany Integrating Preferences into Service Requests to Automate Service Usage First AKT Workshop on Semantic.
1 Discovery and Mediation using Diane Service Descriptions Ulrich Küster University Jena Germany.
1 Service Discovery using Diane Service Descriptions Ulrich Küster and Birgitta König-Ries University Jena Germany
1 Relational Algebra and Calculus Yanlei Diao UMass Amherst Feb 1, 2007 Slides Courtesy of R. Ramakrishnan and J. Gehrke.
Database Design Concepts Info 1408 Lecture 2 An Introduction to Data Storage.
Marina Drosou Department of Computer Science University of Ioannina, Greece Thesis Advisor: Evaggelia Pitoura
Chapter 10: Estimating with Confidence
This chapter is extracted from Sommerville’s slides. Text book chapter
Comp 248 Introduction to Programming Chapter 4 - Defining Classes Part A Dr. Aiman Hanna Department of Computer Science & Software Engineering Concordia.
Ontology Alignment/Matching Prafulla Palwe. Agenda ► Introduction  Being serious about the semantic web  Living with heterogeneity  Heterogeneity problem.
SOFTWARE ENGINEERING BIT-8 APRIL, 16,2008 Introduction to UML.
Slides are based on Negnevitsky, Pearson Education, Lecture 12 Hybrid intelligent systems: Evolutionary neural networks and fuzzy evolutionary systems.
PARAMETRIC STATISTICAL INFERENCE
Tunis International Centre for Environmental Technologies Small Seminar on Networking Technology Information Centers UNFCCC secretariat offices Bonn, Germany.
OHTO -99 SOFTWARE ENGINEERING “SOFTWARE PRODUCT QUALITY” Today: - Software quality - Quality Components - ”Good” software properties.
Test Drivers and Stubs More Unit Testing Test Drivers and Stubs CEN 5076 Class 11 – 11/14.
Chapter 10 Analysis and Design Discipline. 2 Purpose The purpose is to translate the requirements into a specification that describes how to implement.
1 Relational Algebra and Calculas Chapter 4, Part A.
More About Objects and Methods Chapter 5. Outline Programming with Methods Static Methods and Static Variables Designing Methods Overloading Constructors.
10 Copyright © 2004, Oracle. All rights reserved. Creating Noninput Items.
© The McGraw-Hill Companies, 2006 Chapter 2 Selection.
Specification of Policies for Web Service Negotiations Steffen Lamparter and Sudhir Agarwal Semantic Web and Policy Workshop Galway, November 7 th University.
Object-Oriented Programming. Objectives Distinguish between object-oriented and procedure-oriented design. Define the terms class and object. Distinguish.
1 Chapter 12 Configuration management This chapter is extracted from Sommerville’s slides. Text book chapter 29 1.
Chapter 5 Classes and Methods II Lecture Slides to Accompany An Introduction to Computer Science Using Java (2nd Edition) by S.N. Kamin, D. Mickunas, E.
Semantic Web COMS 6135 Class Presentation Jian Pan Department of Computer Science Columbia University Web Enhanced Information Management.
Chapter 11 Introduction to Computational Complexity Copyright © 2011 The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 1.
Sample Size Mahmoud Alhussami, DSc., PhD. Sample Size Determination Is the act of choosing the number of observations or replicates to include in a statistical.
Assistant Instructor Nian K. Ghafoor Feb Definition of Proposal Proposal is a plan for master’s thesis or doctoral dissertation which provides the.
I&C Lab Seminar Procedure for the Software Requirements Specification for Safety Critical Systems Seo Ryong Koo Korea Advanced Institute Science.
 Negnevitsky, Pearson Education, Lecture 12 Hybrid intelligent systems: Evolutionary neural networks and fuzzy evolutionary systems n Introduction.
More SQL: Complex Queries, Triggers, Views, and Schema Modification
Systems Analysis and Design in a Changing World, Fourth Edition
Some Simple Design Modeling Techniques
Inheritance Allows extension and reuse of existing code
Object-Oriented Database Management System (ODBMS)
Object-Oriented Programming
Relational Algebra 461 The slides for this text are organized into chapters. This lecture covers relational algebra, from Chapter 4. The relational calculus.
CSc4730/6730 Scientific Visualization
CIS16 Application Development – Programming with Visual Basic
Use your Chapter 1 notes to complete the following warm-up.
Creating Noninput Items
Software Engineering System Modeling Chapter 5 (Part 1) Dr.Doaa Sami
Presentation transcript:

1 Michael Klein et al., Universität Karlsruhe, Germany Combining Query and Preference – An Approach to Fully Automatize Dynamic Service Binding IEEE International Conference on Web Services (ICWS 2004) San Diego, CA, July 6-9, 2004 Michael Klein Institute for Program Structures and Data Organization Universität Karlsruhe, Germany DIANE Project Birgitta König-Ries Institute for Computer Science Technical University Munich, Germany

2 Michael Klein et al., Universität Karlsruhe, Germany Dynamic Service Binding Application Business Process Service A Service B Service C Service D Agile Networks  change inefficient or unavailable service providers on runtime  Enhance efficiency and robustness

3 Michael Klein et al., Universität Karlsruhe, Germany State of the Art  How is this typically achieved? Application Service B Description of the desired service Description of the offered service 1.Attach service description to application and services 2.In case of a call, a matcher calculates similarity between request and all offers 3.Best offer is chosen and invoked Matcher [0..1] invoke

4 Michael Klein et al., Universität Karlsruhe, Germany Difficulties EASY:  If descriptions are exactly equal: Matcher returns 1.0  If descriptions are obviously different: Matcher returns 0.0 DIFFICULT:  In the common intermediate situations:  The offer differs somewhat from the request  What value in (0,1) is appropriate?

5 Michael Klein et al., Universität Karlsruhe, Germany Example for a Service Request :Service :Profile:Booked :CinemaTicket :SeatInShow spiderman2:Movie presents effect entity validFor visible date cinema Service Request: I want a Service which books me a seat for Spider Man 2 time 20:00 hortonPlaza:Cinema price <= 8.00

6 Michael Klein et al., Universität Karlsruhe, Germany Example for a Service Offer :Service :Profile:Booked :CinemaTicket :SeatInShow spiderman2:Movie presents effect entity validFor visible date cinema cinerama6:Cinema Service Offer: I can book you a ticket for Spider Man 2, this saturday at 8:15 pm in the Cinerama 6. time 20:15

7 Michael Klein et al., Universität Karlsruhe, Germany Is it a Match? The requestor wanted :SeatInShow time 20:00 …but the offer can only book a ticket for 20:15. This is not ok, or is it? So assign 0.9? :SeatInShow cinema hortonPlaza:Cinema The requestor wanted …but the offer can only book a ticket in the Cinerama 6. Is this ok? Say yes, because it‘s in the same city  Assign 0.8? What is more important for the offerer: A good price, a good time, a near cinema?  Simply take the average, or the minimum, or…? :CinemaTicket price <= 8.00 The requestor wanted …but this information is missing in the offer. Return 0.0 and skip the service? Or just assign 0.5? Or 1.0?

8 Michael Klein et al., Universität Karlsruhe, Germany Would you rely on such a matcher to select and execute a service automatically for you? automatically = you are not asked again  No!  But: It‘s not the matcher‘s fault  Even best matcher can only guess what is still ok for you and what deviation you are willing to accept

9 Michael Klein et al., Universität Karlsruhe, Germany Main Problem Matcher does not know the preference/tolerance of the requestor. Main Problem The Matcher  has to use general deviation heuristics  or is very conservative and only allows exact matchs  biased matching  often provides many or no matching offers  Requestor has to choose manually or blindly rely on it.  Cannot or is not used for automatic service binding.

10 Michael Klein et al., Universität Karlsruhe, Germany Our Approach  Tell the matcher exactly what the preferences are Generic Matcher requestoffers - generic - based on heuristics  biased Personal Matcher request creates offers - special - only based on the specified preferences  unbiased FROMTO

11 Michael Klein et al., Universität Karlsruhe, Germany Preference-Containing Requests  Request != single instance describing the perfect service  But: Set of suitable services  degrees of membership from (0,1] determines preference for this service

12 Michael Klein et al., Universität Karlsruhe, Germany Introduction of Object Sets spiderman2 Movie contains all existing movies represents one single movie Movie represents a set of movies Membership conditions are defined in a structured manner

13 Michael Klein et al., Universität Karlsruhe, Germany Defintion of an Object Set – Type Conditions Type Conditions  Limits the type of objects in the set  An object can only be member of the set, if it has exactly the given type Movie Double Contains only Movie objectsContains only double values

14 Michael Klein et al., Universität Karlsruhe, Germany Defintion of an Object Set – Direct Conditions Direct Conditions  Tests directly on the name or value of the object  An object can only be member of the set, if it fulfills the condition Movie == spiderman2 Double < 8.00 Contains only one object: spiderman2 Contains only double values that are smaller than 8.00

15 Michael Klein et al., Universität Karlsruhe, Germany Defintion of an Object Set – Property Conditions Property Conditions (only complex types)  Tests on attributs of the object  An object can only be member of the set, if it has the given attribut and its value is in the attached set Movie Contains all movies with mainactor danielRadcliffe and a Duration below 3 hours Actor mainActor == danielRadcliffe Duration < PT180M duration

16 Michael Klein et al., Universität Karlsruhe, Germany Missing Strategy  Specifies the behavior in case of missing attributes  Possible values: assume_failed (–), ignore ( ), assume_fulfilled (+) Contains tickets that cost $8.00 or less. Tickets without a price specified are in the set too. CinemaTicket Double price <= 8.00

17 Michael Klein et al., Universität Karlsruhe, Germany Connecting Strategy  Specifies how the single property conditions are connected  Possible value: expression from „and“ and „or“ of property conditions Contains movies with Daniel Radcliff as well as action movies and thrillers MovieActor mainActor == danielRadcliffe Genre in {action, thriller} genre mainActor or genre

18 Michael Klein et al., Universität Karlsruhe, Germany Type Check Strategy  Weakens the type condition  Possible values: =, sub, super, sub[n], super[n] Contains objects of type Movie and of subtypes of Movies Movie sub

19 Michael Klein et al., Universität Karlsruhe, Germany Set Definition – Summary direct conditions connection strategy tcs Set prop. condition ms

20 Michael Klein et al., Universität Karlsruhe, Germany Set Definition – Fuzzy Extensions direct conditions connection strategy tcs Set prop. condition ms = sub super fsub fsuper … assume_failed ignore assume_fulfilled assume_value[x] and or min max ws ^ … = in <= ~< ~= sim …

21 Michael Klein et al., Universität Karlsruhe, Germany Cinema Request (Revisited) Service ProfileBooked CinemaTicket SeatInShowMovie presents effect entity validFor visible date cinema time price Double ~<= 8.00 Date == Time ~< 20:00 <= 21:00 Cinema near(hortonPlaza) min(date, time^2, cinema, visible) ==spiderman2

22 Michael Klein et al., Universität Karlsruhe, Germany Unbiased Matching  Now: Unbiased Matcher  Matching = Calculating the membership value of the request set  Matcher exactly takes the preferences of the requestor into account  Personal Matcher  Automatically gained matching result is accepted.

23 Michael Klein et al., Universität Karlsruhe, Germany Summary  Main Goal of Service Oriented Computing: Dynamic Service Binding  Up to now: Generic Matcher tests similarity between the offer instance and the request as perfect service instance  Problem: Unknown preferences of the requestor in case of deviations  Matcher uses heuristics and is biased  Result is not accepted and must be postprocessed manually  Our Thesis: Tell the matcher exactly what the preferences are  Possible technique: Fuzzy object sets  Matching is test on set membership  unbiased  Result is accepted without further manual processing

24 Michael Klein et al., Universität Karlsruhe, Germany Further Work  Difficult for the requestor to adjust the conditions and strategies  Guide user through process  Offer descriptions can contain variables. Is it possible to derive the assignment from the requestor‘s preferences?

25 Michael Klein et al., Universität Karlsruhe, Germany Thank you for your attention! DIANE Project

26 Michael Klein et al., Universität Karlsruhe, Germany APPENDIX

27 Michael Klein et al., Universität Karlsruhe, Germany Difference between Offer and Request  Offer description  Provider knows all details  possible to write down single instance  open parts can be specified as variables  Request description  needs a functionality  does not think of a certain service  several services can be suitable  has preferences among these suitable services  Needs special request description language  Possible to exactly define desired services