DAML-S Matchmaker - Carnegie Mellon University

Document Sample
DAML-S Matchmaker - Carnegie Mellon University Powered By Docstoc
					Specification of Agent
  Services for DAML
      Katia P. Sycara
      Terry R. Payne
     Massimo Paolucci
        DAML PI - July 01

  Carnegie Mellon University
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
     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
    Multiple advertisements may include many ontologies – reasoning
     space may be huge
          Service Profiles

          Service Profile
              Presented by a service.
              Represents
                “what the service provides”
              One can derive:
                 Service Advertisements
                 Service Requests
DAML-S Profile Ontology
              Functionality 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
                                Stock quotes delivered within
                                10 secs
                            service types, service categories
                                Commercial / Problem Solving
                            service parameters
                                Average Response time is
                                currently ...
  DAML-S Profile Ontology
  Advertisement (parameters)
    <rdf:Property rdf:ID="location">
        <rdfs:subPropertyOf rdf:resource="…/Profile#input"/>
        <rdfs:domain rdf:resource="#PAGas_Agent_Advertisement"/>
        <rdfs:range rdf:resource="…daml#Location"/>
<rdf:Property rdf:ID="contract">
    <rdf:Property rdf:ID="pricePerUnit">
    <rdfs:subPropertyOf rdf:resource=
        <rdfs:subPropertyOf rdf:resource="…/Profile#output"/>
        <rdfs:domain rdf:resource="#PAGas_Agent_Advertisement"/>
        <rdfs:range rdf:resource=""/>
    <rdfs:domain rdf:resource="#PAGas_Agent_Advertisement"/>
    <rdfs:range rdf:resource=
    <rdf:Property rdf:ID="providesGas">
        <rdfs:subPropertyOf rdf:resource="…/Profile#effect"/>
        <rdfs:domain rdf:resource="#PAGas_Agent_Advertisement"/>
        <rdfs:range rdf:resource=""/>
DAML-S Profile Ontology
 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
     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
      Protocol (eg broker vs yellow-pages)
      Matching Engine
      Inference Engine       



                                  Matching Engine
 Service                                                     Service
                                 Inferencing Engine
Requestor                                                   Providers

DAML-S Profile
Subsumption Matching
 Service Requestors have knowledge about their
 request, but no knowledge of the available service
 Current matching engine assumes:
    Requests should be more general than advertisements w.r.t
    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
     What type of inferencing is required?
     Different inferencing policies for different Profile properties
     Some inferencing policies may result in bad or infeasible
     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
     Issue requests
     View matching
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
 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
 Also available in the DAML Ontology Library (or coming soon)

Shared By: