Title: UIM with DAML-S Service Description
1UIM with DAML-S Service Description
- Team Members
- Jean-Yves Ouellet
- Kevin Lam
- Yun Xu
2Outline
- RDF
- DAMLOIL
- DAML-S
- UIM with DAML-S Service Description
- References
3RDF
- Resource Description Framework (W3C)
- An infrastracture that allows to model
semi-structured metadata and enables
knowledge-management allocations. - Uses XML as an interchange syntax and heavily
relies on XML namespaces. - Uses a single directed graph as a model to
describe resources. - Aims to enable the entire Web to become a
semantic Web. - RDF Schema (RDFS) provides basic structures such
as classes and properties.
4RDF Example
5DAMLOIL
- DARPA Agent Markup Language Ontology Inference
Layer - A simple language for expressing more
sophisticated classifications and properties of
resources than RDFS - Provides richer means for expressing constraints
in schemas - More facilities for properties
- data typing, multiple ranges and unique
properties - inverse properties, transitivity, property
restriction - Broadening the concept of class
- disjoint, non-exclusive combinations
6DAMLOIL
- DAMLOIL file structure
- RDF envelope element
- DAMLOIL header
- Import declarations for using other RDF models
- New class definitions
- Class instances
7DAMLOIL Example
8DAML-S
- A new set of classes and properties that are
defined using DAMLOIL - Enables the creation of the ontologies for the
description of specific Web sites in any domain - Establishes a framework within which the
descriptions are made and shared - Supports access to Web resource by content
- Automatic Web service discovery
- Automatic Web service invocation
- Automatic Web service composition and
interoperation - Automatic Web service execution monitoring
9DAML-S
- ServiceProfile
- A high-level description of service with name,
inputs and outputs. - Service providers use discovery/location
registry to advertise service. - Service requesters use the profile to specify
what service they need. - ServiceModel
- Description of the processes or the algorithm
used to implement a service. - ServiceGrounding
- Specification of the details of how an agent can
access a service communication protocols, port
numbers and data types.
10DAML-S Service Advertisement Example
lt?xml version"1.0" encoding"ISO-8859-1"
?gt ltrdfRDF xmlnsrdf "http//www.w3.org/19
99/02/22-rdf-syntax-ns" xmlnsrdfs
"http//www.w3.org/2000/01/rdf-schema"
xmlnsdaml "http//www.daml.org/2001/03/damlo
il" xmlnsprofile "http//www.daml.org/service
s/daml-s/0.7/Profile.daml" xmlnsxsd
"http//www.w3.org/2000/10/XMLSchema.xsd"gt
ltdamlOntology about""gt ltdamlversionInfogt1.0
lt/damlversionInfogt ltrdfscommentgt
Description of the services supported by agent
bond007. lt/rdfscommentgt ltdamlimports
rdfresource"http//www.w3.org/1999/02/22-rdf-syn
tax-ns" /gt ltdamlimports rdfresource"http//
www.w3.org/2000/01/rdf-schema" /gt
ltdamlimports rdfresource"http//www.daml.org/20
01/03/damloil" /gt ltdamlimports
rdfresource"http//www.daml.org/services/daml-s/
0.7/Profile.daml" /gt lt/damlOntologygt lt!--
Instances of the Profile class
--gt ltprofileProfile rdfID"bond007_printer"gt
ltrdfslabelgt bond007 printer lt/rdfslabelgt
ltrdfscommentgt Printer service supported
by agent bond007 lt/rdfscommentgt
11DAML-S Service Advertisement Example (contd)
ltprofileserviceNamegt
bond007_printer_service lt/profileserviceNamegt
ltprofiletextDescriptiongt A message
can be sent directly to a printer
lt/profiletextDescriptiongt ltprofileserviceCat
egorygtprinterlt/profileserviceCategorygt
ltprofileinputgt ltprofileParameterDesription
gt ltprofileparameterNamegtmessagelt/profile
parameterNamegt ltprofilerestrictedTo
rdfresource"http//www.w3.org/2000/10/XMLSc
hema.xsdstring" /gt lt/profileParameterDesri
ptiongt lt/profileinputgt
ltprofilecontactInformationgt
ltprofileActorgt ltprofilenamegtbond007lt/pro
filenamegt lt/profileActorgt
lt/profilecontactInformationgt
lt/profileProfilegt lt/rdfRDFgt
12DAML-S Service Request Example
lt?xml version"1.0" encoding"ISO-8859-1"
?gt ltrdfRDF xmlnsrdf "http//www.w3.org/19
99/02/22-rdf-syntax-ns" xmlnsrdfs
"http//www.w3.org/2000/01/rdf-schema"
xmlnsdaml "http//www.daml.org/2001/03/damlo
il" xmlnsprofile "http//www.daml.org/service
s/daml-s/0.7/Profile.daml" xmlnsxsd
"http//www.w3.org/2000/10/XMLSchema.xsd"gt
ltdamlOntology about""gt ltdamlversionInfogt1.0
lt/damlversionInfogt ltdamlimports
rdfresource"http//www.w3.org/1999/02/22-rdf-syn
tax-ns" /gt ltdamlimports rdfresource"http//
www.w3.org/2000/01/rdf-schema" /gt
ltdamlimports rdfresource"http//www.daml.org/20
01/03/damloil" /gt ltdamlimports
rdfresource"http//www.daml.org/services/daml-s/
0.7/Profile.daml" /gt lt/damlOntologygt
ltprofileProfilegt ltprofileserviceCategorygtpri
ntlt/profileserviceCategorygt
ltprofilecontactInformationgt
ltprofileActorgt ltprofilenamegtbondlt/profil
enamegt lt/profileActorgt
lt/profilecontactInformationgt
lt/profileProfilegt lt/rdfRDFgt
13UIM with Service Advertisement and Discovery
- - Based on a RMI version of UIM
- - DAML-S ServiceProfile class only
14New UIM Graphical User Interface
15Modified Register Command
- New Register Panel
- Parameters AgentId, Password, Service
Advertisement - Two methods for advertising a DAML-S file1)
Enter the filename of an existing DAML-S
file.2) Click on the checkboxes to select the
supported services. The corresponding DAML-S file
is generated automatically.
16New Search Command
- New Search Panel
- AgentId field
- The server search engine returns a list of the
agents whose AgentId name contains the sub-string
entered in the AgentId field. An empty sub-string
will return a list of all registered agents. - Service field
- The server search engine returns a list of the
agents whose Service names contains the
sub-string entered in the Service field. An empty
sub-string will return a list of all registered
agents. - Search Results field
- The server search engine returns a short
description of each agent matching the search
parameters in both fields AgentId AND Service.
These short descriptionss are displayed in the
Search Results field.
17Server DOM Tree Database
- Hashtable
- Key AgentId
- Value DOM tree generated from DAML-S
description - Database PersistenceEach DAML-S service
description is saved into a separate file. The
DAML-S filenames are saved into an XML file (see
example below)
ltservicetablegt ltagent namekevin
filenamekevin.damls /gt ltagent namebetty
filenamebetty.damls /gt ltagent namejean
filenamejean.damls /gt lt/servicetablegt
18Server Search Engine
- Simple Matching Algorithm
- The DAML-S service request is converted into a
DOM tree. - The search engine extracts the profileserviceCate
gory and profilename ELEMENTs from every DOM
tree. - For each service advertisement, the values of the
extracted ELEMENTs are compared with those of the
service request. - A match is declared if the service request value
is a sub-string of the service advertisement
value in both ELEMENTs profilename AND
profileserviceCategory.
19Matching Algorithm
20References
- http//www.daml.org/services.html
- A. Ankolekar, M. Burstein, J.R. Hobbs, O.
Lassila, D.L. Martin, S.A. McIlraith, S.
Narayanan, M.Paolucci, T. Payne, K. Sycara, H.
Zeng. DAML-S Semantic Markup For Web Services. - M. Paolucci, T. Kawamura, T.R. Payne, K. Sycara.
Semantic Matching of Web Services Capabilities. - http//www.daml.org/2001/03/reference.html