Title: Coupled Signature and Specification Matching for Automatic Service Binding
1Coupled 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) www.ipd.uka.de/DIANE
2Motivation
(mobile) Application
Location print(String doc)
?
- Which service provider to use?
- How to bind the parameters?
3Aim and Challenges
Goal
Automatic, semantic service binding
Prerequisites
- Service descriptions that capture semantics and
message flow - Ability to automatically match service offers and
requests
4Service Descriptions (1)
Prints file s on a printer nearby and returns the
location of the printer
Location print(String s)
Prints the file testpage.pson printer s and
returns the office number of the sysadmin.
Location print(String s)
Identical Description!
Service
PrintRequestMessage
PrintResponseMessage
presents
s String
location Location
input
Profile
output
DocumentPrinted
DocumentLocallyAvailable
effect
precondition
5Service Descriptions (2)
Location print(String s)
PrintRequestMessage
PrintResponseMessage
s String
location Location
Profile
input
output
DocumentPrinted
DocumentLocallyAvailable
precondition
effect
void print(String text, Location loc)
PrintRequestMessage
text String loc Location
input
Profile
DocumentPrinted
DocumentLocallyAvailable
precondition
effect
6Our 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
7Object Sets
Type
tcs
dc
Property conditions
Object set
ms
cs
Members of an object sets are all instances of a
class meeting the conditions
8Object Sets
Type
tcs
dc
Property conditions
Object set
ms
cs
- Type Check Strategy
- Allows or disallows members of the set
- to belong to sub- or superclasses of the
specified type
9Object Sets
Type
tcs
dc
Property conditions
Object set
ms
cs
- Direct conditions
- Conditions on the values of the objects in the
set - Property conditions
- Conditions on the properties of the objects in
the set
10Object Sets
Type
tcs
dc
Property conditions
Object set
ms
cs
- Connecting Strategy
- Specifies how individual property conditions
should be combined
11Object Sets
Type
tcs
dc
Property conditions
Object set
ms
cs
- Missing strategy
- Specifies how missing property conditions should
be treated
12Variables
cat
Type
tcs
default value
Property conditions
Object set
dc
ms
cs
- Category
- IN (to be filled in by the requestor)
- OUT (to be filled in by the offerer)
13A Service Offer
Resolution default 600 dpi
IN
presents
resolution
Profile
LocallyAvailable
Printed
effect
precondition
entity
entity
location
Document
IN
IN
Room in room335, room336
url
String
14A Service Request
presents
Profile
Printed min(entity,room, color)
Color bw
effect
color
color
-
location
entity
Document
OUT
Room
IN
within
url
Building geb50.34
String http//www.ipd.uka.de
15Matching
(mobile) Application
Location print(String doc)
presents
Profile
Printed min(entity,room, color)
Color bw
effect
color
color
-
location
entity
Document
Room
OUT
IN
within
Building geb50.34
url
String http//www.ipd.uka.de
16Matching
(mobile) Application
Location print(String doc)
presents
Profile
Printed min(entity,room, color)
Color bw
effect
color
color
-
location
entity
Document
Room
OUT
IN
within
Building geb50.34
url
void print(URL url, Resolution res, int roomNr)
String http//www.ipd.uka.de
Service Provider X
Basically graph matching
17Matching
presents
presents
Profile
Printed min(entity,room, color)
Profile
effect
Printed
LocallyAvailable
precondition
effect
18Matching
presents
presents
Profile
Printed min(entity,room, color)
Profile
effect
Printed
LocallyAvailable
precondition
effect
- Request set, Offer instance
- Aim determine, whether offer instance is a
member of request set - type (r) type(o)?
- direct Conditions?
- property Conditions?
19Matching
presents
presents
Profile
Printed min(entity,room, color)
Profile
effect
Printed
LocallyAvailable
precondition
effect
as before
20Matching
Printed min(entity, room,color)
IN
resolution
Resolution default 600 dpi
Printed
Color bw
resolution
color
color
location
entity
entity
-
location
Room
OUT
IN
Document
Room in room335, room336
IN
Document
IN
- as before
- to check property conditions, take
- connecting strategy and
- missing strategy
21Matching
IN
Document
IN
Document
url
url
String
String http//www.ipd.uka.de
as before aim determine, whether the
intersection of the two sets is non-empty
22Matching
IN
Document
IN
Document
url
url
String
String http//www.ipd.uka.de
as before check direct condition assign
appropriate value to the IN variables
23Matching
-
location
location
OUT
Room
IN
Room in room335, room336
within
Building geb50.34
as before check property condition, use ontology
to determine match assign value from the
intersection to the variables
24Matching
Color bw
color
color
no match missing strategy assume fulfilled
25Completing Offer IN Variables
IN
Resolution default 600 dpi
presents
resolution
Profile
LocallyAvailable
Printed
precondition
effect
entity
entity
location
Document
IN
IN
Room in room335, room336
url
String
26Critical Cases
OUT
IN
instance
Offer
-missing-
Request
How many values from o are also in r? all
true some (missing) none false
Use missing strategy
How many values from o are also in r? none
false else assign common value to o
Set
basic matching
or OUT-Variable
out
assign null to r
additionally for OUT-Variable
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
27Summary
- Semantic, dynamic service binding possible with
- state based descriptions for service offers and
requests with object sets and variables - automatic matching
28Summary
- Semantic, dynamic service binding possible with
- state based descriptions for service offers and
requests with object sets and variables - automatic matching
- Unfortunately, things arent 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
29T
H
A
N
K
S
...for your attention!
30Motivation Dynamic Service Binding
(mobile) Application
Location print(String doc)
Service Provider C
Location print(String doc)
Service Provider A
Location print(String doc)
Service Provider B
31Service Descriptions (1)
Location
Schema
Room
Building
within
Instances
room2.14Room
room335Room
geb50.34Building
within