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.

Slides:



Advertisements
Similar presentations
Chapter 1 Object-Oriented Concepts. A class consists of variables called fields together with functions called methods that act on those fields.
Advertisements

1 Authorization XACML – a language for expressing policies and rules.
1 UIM with DAML-S Service Description Team Members: Jean-Yves Ouellet Kevin Lam Yun Xu.
METHOD OVERRIDING 1.Sub class can override the methods defined by the super class. 2.Overridden Methods in the sub classes should have same name, same.
Object Oriented Programming in Java. Object Oriented Programming Concepts in Java Object oriented Programming is a paradigm or organizing principle for.
TOPIC 12 CREATING CLASSES PART 1 1 Notes adapted from Introduction to Computing and Programming with Java: A Multimedia Approach by M. Guzdial and B. Ericson,
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.
© 2005 Prentice Hall8-1 Stumpf and Teague Object-Oriented Systems Analysis and Design with UML.
1 Michael Klein et al., Universität Karlsruhe, Germany Combining Query and Preference – An Approach to Fully Automatize Dynamic Service Binding IEEE International.
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.
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.
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.
1 Michael Klein, Universität Karlsruhe, Germany Integrating Preferences into Service Requests to Automate Service Usage First AKT Workshop on Semantic.
Chapter 10 Classes Continued
1 Service Discovery using Diane Service Descriptions Ulrich Küster and Birgitta König-Ries University Jena Germany
C++ fundamentals.
From C++ to C#. Web programming The course is on web programming using ASP.Net and C# The course is on web programming using ASP.Net and C# ASP.Net is.
Encapsulation CMSC 202. Types of Programmers Class programmers – Developers of new classes – Goal: Expose the minimum interface necessary to use a new.
Object Oriented Software Development
Špindlerův Mlýn, Czech Republic, SOFSEM Semantically-aided Data-aware Service Workflow Composition Ondrej Habala, Marek Paralič,
CET203 SOFTWARE DEVELOPMENT Session 3B Interfaces.
A class in Java is a software construct that includes fields (also called data fields or class scope variables) to provide data specification, and methods.
A view-based approach for semantic service descriptions Carsten Jacob, Heiko Pfeffer, Stephan Steglich, Li Yan, and Ma Qifeng
Lecture 8: Object-Oriented Design. 8-2 MicrosoftIntroducing CS using.NETJ# in Visual Studio.NET Objectives “Good object-oriented programming is really.
111 Protocols CS 4311 Wirfs Brock et al., Designing Object-Oriented Software, Prentice Hall, (Chapter 8) Meyer, B., Applying design by contract,
P Chapter 2 introduces Object Oriented Programming. p OOP is a relatively new approach to programming which supports the creation of new data types and.
Software Testing Input Space Partition Testing. 2 Input Space Coverage Four Structures for Modeling Software Graphs Logic Input Space Syntax Use cases.
Topic 1 Object Oriented Programming. 1-2 Objectives To review the concepts and terminology of object-oriented programming To discuss some features of.
Chapter 10 Defining Classes. The Internal Structure of Classes and Objects Object – collection of data and operations, in which the data can be accessed.
Chapter 6 Introduction to Defining Classes. Objectives: Design and implement a simple class from user requirements. Organize a program in terms of a view.
User Profiling using Semantic Web Group members: Ashwin Somaiah Asha Stephen Charlie Sudharshan Reddy.
IT108 Objects and Classes Part I George Mason University Revised 4/3/2012.
A brief introduction to javadoc and doxygen. What’s in a program file? 1. Comments 2. Code.
Protocols Software Engineering II Wirfs Brock et al, Designing Object-Oriented Software, Prentice Hall, Mitchell, R., and McKim, Design by Contract,
Application development with Java Lecture 21. Inheritance Subclasses Overriding Object class.
 In the java programming language, a keyword is one of 50 reserved words which have a predefined meaning in the language; because of this,
Copyright 2003 Scott/Jones Publishing Standard Version of Starting Out with C++, 4th Brief Edition Chapter 6 Functions.
Copyright 2004 Scott/Jones Publishing Alternate Version of STARTING OUT WITH C++ 4 th Edition Chapter 6 Functions.
A: A: double “4” A: “34” 4.
(c) University of Washington06-1 CSC 143 Java Inheritance Tidbits.
1 / 71 COP 3503 FALL 2012 SHAYAN JAVED LECTURE 4 Programming Fundamentals using Java 1.
Defining Classes I Part B. Information hiding & encapsulation separate how to use the class from the implementation details separate how to use the class.
1 C# - Inheritance and Polymorphism. 2 1.Inheritance 2.Implementing Inheritance in C# 3.Constructor calls in Inheritance 4.Protected Access Modifier 5.The.
SourceAnatomy1 Java Source Anatomy Barb Ericson Georgia Institute of Technology July 2008.
Inheritance and Polymorphism
Author: DoanNX Time: 45’.  OOP concepts  OOP in Java.
Testing It is much better to have a plan when testing your programs than it is to just randomly try values in a haphazard fashion. Testing Strategies:
Classes CS 162 (Summer 2009). Parts of a Class Instance Fields Methods.
CS100Lecture 61 Announcements Homework P1 due on Thursday Homework P2 handed out.
Section 2.2 The StringLog ADT Specification. 2.2 The StringLog ADT Specification The primary responsibility of the StringLog ADT is to remember all the.
Object-Oriented Concepts
Lecture 22 – April 9, 2002 Subprotocols – static and dynamic.
Software Development Java Classes and Methods
Web Ontology Language for Service (OWL-S)
Microsoft Visual Basic 2005 BASICS
Imperative Programming
Classes and Objects Encapsulation
Recitation 7 October 7, 2011.
Assessment – Java Basics: Part 1
Protocols CS 4311 Wirfs Brock et al., Designing Object-Oriented Software, Prentice Hall, (Chapter 8) Meyer, B., Applying design by contract, Computer,
Introduction to javadoc
COP 3330 Object-oriented Programming in C++
Chapter 9 Carrano Chapter 10 Small Java
Variables and Java vs C++
Java Statements B.Ramamurthy CS114A, CS504 4/23/2019 BR.
Imperative Programming
Presentation transcript:

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 Karlsruhe (TH)

2 Motivation (mobile) Application Location print(String doc) void print(String doc, Location loc) String printNext() boolean print(URL url, Resolution res, int roomNr) void printNextWeek(String doc) boolean print(String doc, int startPage, int endPage) void print(String text, Location loc) boolean elephant(String giraffe, int zebra) ?  Which service provider to use?  How to bind the parameters?

3 Aim and Challenges Automatic, semantic service binding Goal  Service descriptions that capture semantics and message flow  Ability to automatically match service offers and requests Prerequisites

4 Service Descriptions (1) :Profile :Document Printed effect :Document LocallyAvailable precondition input PrintRequest Message s : String PrintResponse Message location : Location output Location print(String s) Prints file s on a printer nearby and returns the location of the printer Prints the file „testpage.ps“on printer s and returns the office number of the sysadmin. Identical Description! :Service presents

5 Service Descriptions (2) :Profile :Document Printed effect :Document LocallyAvailable precondition input PrintRequest Message s : String PrintResponse Message location : Location output Location print(String s) void print(String text, Location loc) :Profile :Document Printed effect :Document LocallyAvailable precondition input PrintRequest Message text : String loc: Location

6 Our Approach to Service Description  Fully state based service descriptions with  Offers describing one service instance  Requests describing sets of admissable services  Concepts to achieve this  Object sets  Variables  Possibility to match requests and offers with differing interfaces

7 Object Sets  Type dc cs Property conditions Object set tcs ms Members of an object sets are all instances of a class meeting the conditions

8 Object Sets  Type dc cs Property conditions Object set tcs ms  Type Check Strategy  Allows or disallows members of the set to belong to sub- or superclasses of the specified type

9 Object Sets  Type dc cs Property conditions Object set tcs ms  Direct conditions  Conditions on the values of the objects in the set  Property conditions  Conditions on the properties of the objects in the set

10 Object Sets  Type dc cs Property conditions Object set tcs ms  Connecting Strategy  Specifies how individual property conditions should be combined

11 Object Sets  Type dc cs Property conditions Object set tcs ms  Missing strategy  Specifies how missing property conditions should be treated

12 Variables Type dc cs Property conditions Object set tcs ms  Category  IN (to be filled in by the requestor)  OUT (to be filled in by the offerer) cat default value

13 A Service Offer entity Resolution default = 600 dpi resolution String url effect precondition Room in {room335, room336} location IN presents :Service :Profile :LocallyAvailable Printed Document IN

14 A Service Request entity String == url effect Room location OUT presents :Service :Profile Printed min(entity,room, color) Document IN within Building ==geb50.34 color Color ==bw color + -

15 Matching (mobile) Application Location print(String doc ) entity String == url effect Room location OUT presents :Service :Profile Printed min(entity,room, color) Document IN within Building ==geb50.34 color Color ==bw color + -

16 Matching Service Provider X (mobile) Application Location print(String doc ) void print(URL url, Resolution res, int roomNr) Basically: graph matching entity Resolution default = 600 dpi resolution String url effect precondition Room in {room335, room336} location IN presents :Service :Profile :LocallyAvailable Printed Document IN entity String == url effect Room location OUT presents :Service :Profile Printed min(entity,room, color) Document IN within Building ==geb50.34 color Color ==bw color + -

17 Matching effect presents :Service :Profile Printed min(entity,room, color) effect precondition presents :Service :Profile :LocallyAvailable Printed

18 Matching effect presents :Service :Profile Printed min(entity,room, color) effect precondition presents :Service :Profile :LocallyAvailable Printed Request: set, Offer: instance: Aim: determine, whether offer instance is a member of request set  type (r) = type(o)?  direct Conditions?  property Conditions?

19 Matching effect presents :Service :Profile Printed min(entity,room, color) effect precondition presents :Service :Profile :LocallyAvailable Printed as before

20 Matching entity Room location OUT Printed min(entity, room,color) Document IN color Color ==bw color + - entity Resolution default = 600 dpi resolution Room in {room335, room336} location IN Printed Document IN ´resolution as before to check property conditions, take  connecting strategy and  missing strategy

21 Matching String == url Document IN String url Document IN as before aim: determine, whether the intersection of the two sets is non-empty

22 Matching String == url Document IN String url Document IN as before check direct condition assign appropriate value to the IN variables

23 Matching as before check property condition, use ontology to determine match assign value from the intersection to the variables Room in {room335, room336} location IN Room location OUT within Building ==geb

24 Matching color Color ==bw color + no match missing strategy +: assume fulfilled

25 Completing Offer IN Variables entity Resolution default = 600 dpi resolution String url effect precondition Room in {room335, room336} location IN presents :Service :Profile :LocallyAvailable Printed Document IN

26 Critical Cases Set or OUT-Variable -missing- Request Offer additionally for OUT-Variable out OUTIN instance basic matching How many values from o are also in r? all: true some: (missing) none: false How many values from o are also in r? none: false else: assign common value to o Use missing strategy matching result: true: assign o to r false: assign null to r matching result: true: connect o and r neutral: assign o later false: assign null to r matching result: true: assign x to r false: assign null to r assign null to r

27 Summary  Semantic, dynamic service binding possible with  state based descriptions for service offers and requests with object sets and variables  automatic matching

28 Summary  Semantic, dynamic service binding possible with  state based descriptions for service offers and requests with object sets and variables  automatic matching  Unfortunately, things aren‘t quite as easy as I tried to make you believe …  Necessary to deal  with fuzzy user preferences  ….  Current work takes this into consideration  Extended matcher is being implemented right now

29 THANK...for your attention! S

30 Motivation: Dynamic Service Binding (mobile) Application Location print(String doc) Service Provider A Location print(String doc) Service Provider B Location print(String doc) Service Provider C Location print(String doc)

31 Service Descriptions (1) Foundation: Ontologies Location RoomBuilding within room2.14:Roomroom335:Roomgeb50.34:Building within Schema Instances