Specification of Agent Services for
DAML
Katia P. SycaraKatia P. SycaraTerry R. PayneTerry R. Payne
Massimo PaolucciMassimo PaolucciDAML PI - July 01DAML PI - July 01
Carnegie Mellon Universityhttp://www.daml.ri.cmu.edu/
Carnegie Mellon Universityhttp://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
Service Profile Presented by a service. Represents
“what the service provides”
One can derive: Service Advertisements Service Requests
DAML-S:
DAML-S Profile Ontology (Overview)
ProvenancProvenance e DescriptioDescriptionn
Functional Functional AttributesAttributes
Functionality Functionality DescriptionDescription
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 functionalservice matching within the Matchmaker
DAML-S Profile OntologyFunctional Attributes
geographical scopePizza 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 parametersAverage Response time is currently ...
Provide supporting information about the service, including:
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>
<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 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 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
DAML-S ProfileService Matchmaking (cont)
Retsina Middle Agents maintain abstraction between Protocol (eg broker vs yellow-pages) Matching Engine Inference Engine Housefinder.coHousefinder.co
mmcmu.educmu.edu
StudentAID.orStudentAID.orgg
umbc.eduumbc.edu
Service Service RequestorRequestor
Service Service ProvidersProviders
yale.eduyale.edu
Inferencing Engine
Matching Engine
Pro
toco
l
MatchmakerMatchmaker
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 taxonomic hierarchies and equivalence relationshipsHowever, 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 MatchmakerHumans 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.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 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/http://www.daml.ri.cmu.edu/site/ontologies.htmlontologies.html
Also available in the DAML Ontology Library (or coming soon)