DAML-S Matchmaker - Carnegie Mellon University
Document Sample


Specification of Agent
Services for DAML
Katia P. Sycara
Terry R. Payne
Massimo Paolucci
DAML PI - July 01
Carnegie Mellon University
http://www.daml.ri.cmu.edu/
Current Aims / Goals
Develop language specifications, tools &
applications that support creation and
interoperation of services/agents.
Need methodologies for
Semantic service matching
Peer-2-Peer and Middle-Agent mediated semantic
interoperation
Agent-based planning/scheduling/execution for
service composition/decomposition
What’s Hot?
DAML-S (with Services Coalition)
DAML-S Profile semantically presents the capabilities that the
service provides.
DAML-S Process describe composition of the service. Provides
framework for conversational policies and agent dialogs.
DAML-S Grounding… coming soon
Process & Profile Models
(inc. Alpha-Air, Moving-House/Public Utilities scenario)
Retsina DAML-S Matchmaker & A-Match
Service requests matched with advertised profiles
Subsumption inference engine used to match functional parameters
Task Modeler GUI
Graphical editor that assists creation of high-level service
composition based on advertised services
What’s Hard?
Providing concise but valid abstraction of the service process
within the Profile
Tradeoff between expressivity and performance
Specialized reasoning for spatial & temporal concepts
e.g. Physical locations vs proximal relationships
Efficient inferencing for the DAML-S matchmaker
Will the matching and inferencing engines scale?
Constraining inferencing and reasoning across multiple
ontologies?
Multiple advertisements may include many ontologies – reasoning
space may be huge
Presenting
DAML-S:
Service Profiles
Service Profile
Presented by a service.
Represents
“what the service provides”
One can derive:
Service Advertisements
Service Requests
DAML-S Profile Ontology
(Overview)
Functionality Description
Provenance
Description
Functional Attributes
DAML-S Profile Ontology
Provenance Description
Information and Provenance about the Service
serviceName & textDescription
intendedPurpose & role of 3rd Party Actors
Details about
3rd Party Actors
Requesters
Providers
DAML-S Profile Ontology
Functionality Description
Specification of what the service provides
High-level functional representation in terms of:
preconditions
accessConditions
inputs
outputs
conditionalOutputs
effects
Play a pivotal role for functional
service matching within the Matchmaker
DAML-S Profile Ontology
Functional Attributes
Provide supporting information about the
service, including:
geographical scope
Pizza Delivery only within the
Pittsburgh area
quality descriptions and
guarantees
Stock quotes delivered within
10 secs
service types, service categories
Commercial / Problem Solving
etc
service parameters
Average Response time is
currently ...
DAML-S Profile Ontology
Advertisement (parameters)
<rdf:Property rdf:ID="location">
<rdfs:subPropertyOf rdf:resource="http://www.daml.org/…/Profile#input"/>
<rdfs:domain rdf:resource="#PAGas_Agent_Advertisement"/>
<rdfs:range rdf:resource="http://www.daml.ri.cmu.edu/…daml#Location"/>
</rdf:Property>
<rdf:Property rdf:ID="contract">
<rdf:Property rdf:ID="pricePerUnit">
<rdfs:subPropertyOf rdf:resource=
<rdfs:subPropertyOf rdf:resource="http://www.daml.org/…/Profile#output"/>
"http://www.daml.org/services/…/Profile#output"/>
<rdfs:domain rdf:resource="#PAGas_Agent_Advertisement"/>
<rdfs:range rdf:resource="http://www.daml.ri.cmu.edu/...daml#UnitCost"/>
<rdfs:domain rdf:resource="#PAGas_Agent_Advertisement"/>
</rdf:Property>
<rdfs:range rdf:resource=
<rdf:Property rdf:ID="providesGas">
"http://www.daml.ri.cmu.edu/ont/Realtor.daml#Contract"/>
<rdfs:subPropertyOf rdf:resource="http://www.daml.org/…/Profile#effect"/>
</rdf:Property>
<rdfs:domain rdf:resource="#PAGas_Agent_Advertisement"/>
<rdfs:range rdf:resource="http://www.daml.ri.cmu.edu/...daml#Gas"/>
</rdf:Property>
DAML-S Profile Ontology
Challenges
Abstraction between functional description parameters
Differentiating preconditions/accessConditions
Representing and matching effects & conditionalOutputs
Abstraction of functional attributes
How to match high level concept classes?
Need to provide framework for properties such as
geographicalRadius, serviceParameters & qualityGarantees
How does one model “CloseTo” in daml+oil ???
Representing Composite Services within Profiles
What is the degree of fidelity?
Should Process and Profile parameters be equivalent?
Or should the Profile represent an approximation of the Process?
DAML-S Profile
Service Matchmaking
Working prototype of a Retsina middle-agent:
DAML-S Matchmaker
Matches DAML-S requests with advertised DAML-S
profiles
Uses simple subsumption-based inference engine
Returns correspondence table to match the
request and advertisement interfaces
DAML-S Profile
Service Matchmaking (cont)
Retsina Middle Agents maintain abstraction
between
Protocol (eg broker vs yellow-pages)
Matching Engine
Inference Engine Housefinder.com
cmu.edu
StudentAID.org
yale.edu
Protocol
Matching Engine
Service Service
Inferencing Engine
Requestor Providers
Matchmaker umbc.edu
DAML-S Profile
Subsumption Matching
Service Requestors have knowledge about their
request, but no knowledge of the available service
providers.
Current matching engine assumes:
Requests should be more general than advertisements w.r.t
inputs
Requested outputs should be more specific than the
advertised outputs
Current inference engine reasons about taxonomic
hierarchies and equivalence relationships
However, alternative engines that utilize the full
power of DAML should be investigated…
DAML-S Profile
Matchmaker Challenges
Abstraction between matching engine and inference
engine
What type of inferencing is required?
Different inferencing policies for different Profile properties
Some inferencing policies may result in bad or infeasible
matches
Implications on complexity, performance, scalability
Rapid reasoning for many advertisements?
How does logical reasoning in DAML effect matching?
Use sequential, filtered or other matching policies?
How to match functional relationships between parameters?
E.g. matching/translating Length & Width vs Area
Search through space of interface maps…
DAML-S Profile
A-Match: accessing the Matchmaker
Web based user interface to the
Retsina DAML-S Matchmaker
Humans can:
Register advertisements
Browse advertised
profiles
Issue requests
View matching
advertisements
DAML-S Profile
Modeling Composite Tasks
DAML-S Task Modeler
Graphical tool for defining and composing
complex tasks.
1. Create tasks at an
abstract level, and link
together to define
workflow
2. Define task definition for
each abstract task
3. Search for specific
services/agents and
instantiate tasks
DAML-S Profile
Other Ontologies…
DAML Service Ontologies
DAML-S Service Ontologies (index)
Task Modeler Ontologies (index)
Miscelaneous ATLAS DAML Ontologies
AirportCodes (hyperdaml) - an older airport ontology.
Airport (hyperdaml) - a newer airport ontology.
City (hyperdaml) - top level City ontology.
USCity (hyperdaml) - US Cities.
State (hyperdaml) - top level State/County/Territory ontology.
USRegionState (hyperdaml) - US States with Region Ontology
CanadianState (hyperdaml) - Canadian Provinces and Territories
Country (hyperdaml) – with links to Stanford's DAML'd CIA World
Fact Book
http://www.daml.ri.cmu.edu/site/ontologies.html
Also available in the DAML Ontology Library (or coming soon)
Get documents about "