180 likes | 327 Views
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.
E N D
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
PresentingService Profiles DAML-S: • 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 OntologyProvenance 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 OntologyFunctionality 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 OntologyFunctional 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 OntologyAdvertisement (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="pricePerUnit"> <rdfs:subPropertyOf rdf:resource="http://www.daml.org/…/Profile#output"/> <rdfs:domain rdf:resource="#PAGas_Agent_Advertisement"/> <rdfs:range rdf:resource="http://www.daml.ri.cmu.edu/...daml#UnitCost"/> </rdf:Property> <rdf:Property rdf:ID="providesGas"> <rdfs:subPropertyOf rdf:resource="http://www.daml.org/…/Profile#effect"/> <rdfs:domain rdf:resource="#PAGas_Agent_Advertisement"/> <rdfs:range rdf:resource="http://www.daml.ri.cmu.edu/...daml#Gas"/> </rdf:Property> <rdf:Property rdf:ID="contract"> <rdfs:subPropertyOf rdf:resource= "http://www.daml.org/services/…/Profile#output"/> <rdfs:domain rdf:resource="#PAGas_Agent_Advertisement"/> <rdfs:range rdf:resource= "http://www.daml.ri.cmu.edu/ont/Realtor.daml#Contract"/> </rdf:Property>
DAML-S Profile OntologyChallenges • Abstraction between functionaldescription parameters • Differentiating preconditions/accessConditions • Representing and matching effects & conditionalOutputs • Abstraction of functionalattributes • 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 ProfileService 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
Matching Engine Protocol Service Requestor cmu.edu umbc.edu yale.edu Inferencing Engine Housefinder.com StudentAID.org DAML-S ProfileService Matchmaking (cont) • Retsina Middle Agents maintain abstraction between • Protocol (eg broker vs yellow-pages) • Matching Engine • Inference Engine Service Providers Matchmaker
DAML-S ProfileSubsumption 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 taxonomichierarchies and equivalencerelationships • However, alternative engines that utilize the full power of DAML should be investigated…
DAML-S ProfileMatchmaker 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 ProfileA-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 ProfileModeling Composite Tasks • DAML-S Task Modeler • Graphical tool for defining and composing complex tasks. • Create tasks at an abstract level, and link together to define workflow • Define task definition for each abstract task • Search for specific services/agents and instantiate tasks
DAML-S ProfileOther 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)