Upload
others
View
0
Download
0
Embed Size (px)
Citation preview
1
DIANE
An Integrated Approach to AutomatedService Discovery, Matchmaking and
Composition
Ulrich Küster1, Birgitta König-Ries1, Mirco Stern2 and Michael Klein2
1University Jena, 2University Karlsruhe, Germany
ukuester|[email protected]|[email protected]
WWW07 - Banff, Canada - May 20072
Motivating Example
screws only
shipping only
integrated sale and shipping
"I need 1000 units of screws at
my factory in Karlsruhe"
WWW07 - Banff, Canada - May 20073
Motivating Example (cont.)
� For humans trivial, for a matchmaker not!
� Main problems:
� efficiently determine good configuration
� ensure constraints on composition (and configuration)
� shipping departs where screws are purchased
� specific screw packages must adhere to shippers restriction on weight and size
� …
� Need to express such constraints
� Need a matcher thatautomatically composesservices and handlesthose constraints efficiently
screws only
shipping only
integrated sale and shipping
"I need 1000 units of screws at my factory in
Karlsruhe"
WWW07 - Banff, Canada - May 20074
Agenda
1. Introduction and Motivation
2. Background information on DSD(service descriptions and matchmaking)
3. Adaptation to matching multiple effects
4. Evaluation and Summary
WWW07 - Banff, Canada - May 20075
DIANE Service Descriptions (DSD)
� Goal: Complete and efficient automation of service discovery, matchmaking and invocation
� Layered lightweight ontology language
� concepts from frame languages, DLs, fuzzy logic and modal logic
� Specific elements for service descriptions
� more intuitive modelling
� fine-tuned expressivity
� efficient yet precise matchmaking
WWW07 - Banff, Canada - May 20076
Country
== germany
Cityy
city
locatedIn
Characteristics of DSD (1)
� Set-based declarative descriptions
� Vendors sell thousands of articles
� Shipper provide transportationto a multitude of locations
� Offer described as set of possible effects
� Requests accept differingservices with differing preference
� Request described as fuzzyset of acceptable effects
� Semantics: One out of the described set of effects is requested / will be created
Address
WWW07 - Banff, Canada - May 20077
Characteristics of DSD (2)
� Configuration by Variables
� Link inputs and outputs of a service with concepts in thedescription
� Offer-In-Variables (configure offers / provide input)
� Offer-Out-Variables (provide output)
Input: German city
Output: Complete address in
that city
WWW07 - Banff, Canada - May 20078
An exemplary offer description (excerpts)
upper
offer : Serviceupper.profile
: ServiceProfilepresents
effect
AddressIN,e,1IN,x,1 Address
IN,e,1IN,x,1
fromAddress toAddress
PhysicalEntity
cargo
WeightMeasureIN,e,1IN,x,1
weight
Country
in {germany, switzerland,
austria}
Cityy
city
locatedIn
Country
in {germany, switzerland,
austria}
city
locatedIn
WeightUnit
== pound
Double
<=50
valunit
Shipped
City
WWW07 - Banff, Canada - May 20079
Matching DSD-Descriptions
� Match fuzzy request set r with configurable offer set o
� Compute fuzzy containment valuesubset Є [0, 1] of o in r(How well is the offer contained in the requested effects?)
� configure o such as to maximize subset
� Implementation descends through description graphs, fills variables with optimal values, recursively computes subset for each element, combines subset values according to strategies
WWW07 - Banff, Canada - May 200710
Matching Example (excerpts)
unit
upper
request : Service
upper.profile
: ServiceProfile
presents
effect
Shipped
0.3 * shippingTime + 0.7 * price
toAddresscargo
Address
String
== "Mr. Barney Gumble"
name
String
== "320 East 7th Street"
street
String
== "10021"
zipCode
City
== newyork
city
weight
val
Double
== 10
PhysicalEntity
WeightMeasure
WeightUnit
== pound
upper
offer : Service
upper.profile
: ServiceProfile
presents
effect
AddressIN,e,1IN,x,1
toAddress
PhysicalEntity
cargo
WeightMeasureIN,e,1IN,x,1
weight
Country
in {germany, switzerland,
austria, usa}
city
locatedIn
WeightUnit
== pound
Double
<=50
valunit
Shipped
City
Multiple Effects ???
WWW07 - Banff, Canada - May 200711
Agenda
1. Introduction and Motivation
2. Background information on DSD(service descriptions and matchmaking)
3. Adaptation to matching multiple effects
4. Evaluation and Summary
WWW07 - Banff, Canada - May 200712
Expressing constraints – intuitive approach
Address
Screw
ShippedOwned
upper
request : Service
upper.profile
: ServiceProfile
Address
presents
cargoentity
effecteffect
location
fromAddress
toAddress
� Intuitive Approach: Point to the same concept
� Breaks tree structure of descriptions
� Poses problems when configuring an offer
� Need to consider all possible combinations of configurations� not efficient
WWW07 - Banff, Canada - May 200713
Expressing constraints – Value Propagation
Address
Screw
ShippedOwned
upper
request : Service
upper.profile
: ServiceProfile
Address
presents
effect 2effect 1
location
fromAddress
toAddress
Screw
Address
Screw
defines $xScrew
uses $x
Address
defines $y
Address
uses $y
entity cargo
� Effects are ordered
� Configuration will be performed at the first encounter (locally and no more globally optimized)
� Chosen value will be propagated
� Preprocessing prevents fatal configurations(can be done efficiently)
WWW07 - Banff, Canada - May 200714
A Three-Step Matchmaking Algorithm
Coverage 2Coverage 1
Service 3'(300 packages
of screw #93 to
Karlsruhe)
Service 1'(500 packages
of screw #384
in Hamburg)
Service 2'(shipping from
Hamburg to
Karlsruhe)
Plug-In Matcher
(effect - to – effect, ignores variables)
Service
request
descrip-
tion
Service
offer
descrip-
tions
Service Composer
(1. compute effect coverages, 2. restrict variables)
Final Matcher
(effect - to - effect, fills variables)
Service 4
(shipping
between
US-DE)
Service 3
(vendor
with
shipping)
Service 2
(shipping
in DE,
AU, CH)
Coverage 2
Service 3
(vendor
with
shipping)
Coverage 1
Service 1*
(vendor in
DE)
Service 2*
(shipping
in DE)
*) Variables are restricted (e.g.
warehouses outside of operation
range of shipper are excluded)
MV: 0.7MV: 0.9 MV: 0.8
MV: 0.72
Remaining
offers
Service 1
(vendor in
DE, FR)
Service 5
(vendor in
Asia)
Remaining
offers(all combinationscontaining Service4 and 5 can not berestricted properlyin step 2 and are
dismissed)
MV: 0.7
Final result(two readily
configured options,Coverage 1 beingslightly better than
Coverage 2)
A
B
C
WWW07 - Banff, Canada - May 200715
A Matching Algorithm for Multiple Effects (1)
� Matching on an effect-to-effect base
� Ignores variables (does not configure offer yet)
� Greatly reduces number of remaining offers (very precise and selective matching)
WWW07 - Banff, Canada - May 200716
A Matching Algorithm for Multiple Effects (2)
� Compute all coverages (polynomial complexity)
� Restrict variables to the cut of linked concepts (linear complexity)
� Filter coverages with empty cut (incompatible services)
WWW07 - Banff, Canada - May 200717
A Matching Algorithm for Multiple Effects (3)
� Matching on an effect-to-effect base
� Fills variables / configures offer (includes value propagation)
� Computes overall match value
WWW07 - Banff, Canada - May 200718
Agenda
1. Introduction and Motivation
2. Background information on DSD(service descriptions and matchmaking)
3. Adaptation to matching multiple effects
4. Evaluation and Summary
WWW07 - Banff, Canada - May 200719
Experimental Evaluation of Approach
� Matchmaker fully implemented (Java)
� 11 service offer descriptions at different granularity
� 11 request descriptions with one to four effects
� 40 options to create matching compositions
� Runtime for each match on average less than 1 s
� Runtime dominated by Plug-In-Match
� composition doesn't compromise efficient matching
0
500
1000
1500
2000
2500
1 2 3 4 5 6 7 8 9 10
groups of request-offer-pairs
run
tim
e (
ms)
Pre-Match Plug-In-Match Service Composition Final Match
Composition
WWW07 - Banff, Canada - May 200720
Summary
� Approach integrates automated composition into matchmaking
� Main problems:
� proper configuration of offers
� compatibility of used offer configurations
� Addressed problems by
� extending service description language
� adapting matching algorithm
� introducing value propagation semantics
� Implemented and tested approach
� Working solution for considered case
� Matching time not dominated by composition
WWW07 - Banff, Canada - May 200721
Ongoing Work
� Better (but still efficient) configuration possible using techniques similar to top-k query answering?
� Other composition cases apart from multiple effects (like service chaining to transform inputs and outputs)
� Objective evaluation and certification by SWS-Challenge initiative (www.sws-challenge.org) / W3C SWS-Testbed Incubator Group (www.w3.org/2005/Incubator/swsc/)
WWW07 - Banff, Canada - May 200722
Thank you for your attendance!
Questions?
Ulrich Küster
DIANE project (services in ad hoc networks)
http://hnsp.inf-bb.uni-jena.de/DIANE/