1 coupled signature and specification matching for automatic service binding michael klein...
Post on 20-Dec-2015
220 views
TRANSCRIPT
1
Coupled Signature and Specification Matching for Automatic Service
Binding
Michael KleinUniversität Karlsruhe (TH)Birgitta König-Ries
TU München/Universität Karlsruhe (TH)
www.ipd.uka.de/DIANE
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
:DocumentPrinted
effect:Document
LocallyAvailableprecondition
input
PrintRequestMessage
s : String
PrintResponseMessage
location : Locationoutput
Location print(String s)
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
:DocumentPrinted
effect:Document
LocallyAvailableprecondition
input
PrintRequestMessage
s : String
PrintResponseMessage
location : Locationoutput
Location print(String s)
void print(String text, Location loc)
:Profile
:DocumentPrinted
effect:Document
LocallyAvailableprecondition
input
PrintRequestMessage
text : Stringloc: 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 conditionsConditions on the values of the objects in the set
Property conditionsConditions on the properties of the objects in the set
10
Object Sets
Type
dc
cs
Property conditions
Object set
tcs
ms
Connecting StrategySpecifies how individual property conditions should be combined
11
Object Sets
Type
dc
cs
Property conditions
Object set
tcs
ms
Missing strategySpecifies how missing property conditions should be treated
12
Variables
Type
dc
cs
Property conditions
Object set
tcs
ms
CategoryIN (to be filled in by the requestor)OUT (to be filled in by the offerer)
cat
default value
13
A Service Offer
entity entity
Resolution
default = 600 dpi
resolution
String
url
effectprecondition
Room
in {room335, room336}
location
IN
IN
presents
:Service
:Profile:LocallyAvailable Printed
DocumentIN
14
A Service Request
entity
String
==http://www.ipd.uka.de…
url
effect
Room
location
OUT
presents
:Service
:Profile
Printed
min(entity,room,color)
DocumentIN
within
Building
==geb50.34
colorColor
==bw
color
+
-
15
Matching
(mobile)Application
Location print(String doc)
entity
String
==http://www.ipd.uka.de…
url
effect
Room
location
OUT
presents
:Service
:Profile
Printed
min(entity,room,color)
DocumentIN
within
Building
==geb50.34
colorColor
==bwcolor
+
-
16
Matching
Service Provider
X
(mobile)Application
Location print(String doc)
void print(URL url, Resolution res, int roomNr)
Basically:graph matching
entity entity
Resolution
default = 600 dpi
resolution
String
url
effectprecondition
Room
in {room335, room336}
location
IN
IN
presents
:Service
:Profile:LocallyAvailable Printed
Document
IN
entity
String
==http://www.ipd.uka.de…
url
effect
Room
location
OUT
presents
:Service
:Profile
Printed
min(entity,room,color)
DocumentIN
within
Building
==geb50.34
colorColor
==bwcolor
+
-
17
Matching
effect
presents
:Service
:Profile
Printed
min(entity,room,color)
effectprecondition
presents
:Service
:Profile:LocallyAvailable
Printed
18
Matching
effect
presents
:Service
:Profile
Printed
min(entity,room,color)
effectprecondition
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)
effectprecondition
presents
:Service
:Profile:LocallyAvailable
Printed
as before
20
Matching
entity
Room
location
OUT
Printed
min(entity,room,color)
Document
IN
color
Color
==bwcolor
+
- entity
Resolution
default = 600 dpiresolution
Room
in {room335, room336}
location
IN
IN
Printed
DocumentIN
´resolution
as beforeto check property conditions, take
connecting strategy and missing strategy
21
Matching
String
==http://www.ipd.uka.de…
url
Document
IN
String
url
Document
IN
as beforeaim: determine, whether the intersection of the two sets is non-empty
22
Matching
String
==http://www.ipd.uka.de…
url
Document
IN
String
url
Document
IN
as beforecheck direct conditionassign appropriate value to the IN variables
23
Matching
as beforecheck property condition, use ontology to determine matchassign value from the intersection to the variables
Room
in {room335, room336}
location
IN
Room
location
OUT
within
Building
==geb50.34
-
24
Matching
colorColor
==bw
color
+
no matchmissing strategy +: assume fulfilled
25
Completing Offer IN Variables
entity entity
Resolution
default = 600 dpi
resolution
String
url
effectprecondition
Room
in {room335, room336}
location
IN
IN
presents
:Service
:Profile:LocallyAvailable Printed
Document
IN
26
Critical Cases
Set
orOUT-Variable
-missing-Request
Offer
additionally forOUT-Variable
out
OUT IN
instance
basic matching
How many valuesfrom o are also in r?
all: truesome: (missing)none: false
How many valuesfrom o are also in r?
none: falseelse: assign commonvalue to o
Use missing strategy
matching result:true: assign o to r
false: assign null to r
matching result:true: connect o and rneutral:assign o laterfalse: 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
T H A N K
...for your attention!
S
31
Service Descriptions (1)
Foundation: Ontologies
Location
Room Buildingwithin
room2.14:Room room335:Room geb50.34:Buildingwithin
Schema
Instances