200 likes | 346 Views
UIM with DAML-S Service Description. Team Members: Jean-Yves Ouellet Kevin Lam Yun Xu. Outline. RDF DAML+OIL DAML-S UIM with DAML-S Service Description References. RDF. Resource Description Framework (W3C)
E N D
UIM with DAML-S Service Description Team Members: Jean-Yves Ouellet Kevin Lam Yun Xu
Outline • RDF • DAML+OIL • DAML-S • UIM with DAML-S Service Description • References
RDF • Resource Description Framework (W3C) • An infrastracture that allows to model semi-structured metadata and enables knowledge-management allocations. • UsesXML 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.
DAML+OIL • 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
DAML+OIL • DAML+OIL file structure: • RDF envelope element • DAML+OIL header • Import declarations for using other RDF models • New class definitions • Class instances
DAML-S • A new set of classes and properties that are defined using DAML+OIL • 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
DAML-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.
DAML-S Service Advertisement Example <?xml version="1.0" encoding="ISO-8859-1" ?> <rdf:RDF xmlns:rdf= "http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:rdfs= "http://www.w3.org/2000/01/rdf-schema#" xmlns:daml= "http://www.daml.org/2001/03/daml+oil#" xmlns:profile= "http://www.daml.org/services/daml-s/0.7/Profile.daml#" xmlns:xsd= "http://www.w3.org/2000/10/XMLSchema.xsd#"> <daml:Ontology about=""> <daml:versionInfo>1.0</daml:versionInfo> <rdfs:comment> Description of the services supported by agent bond007. </rdfs:comment> <daml:imports rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns" /> <daml:imports rdf:resource="http://www.w3.org/2000/01/rdf-schema" /> <daml:imports rdf:resource="http://www.daml.org/2001/03/daml+oil" /> <daml:imports rdf:resource="http://www.daml.org/services/daml-s/0.7/Profile.daml" /> </daml:Ontology> <!-- ******** Instances of the Profile class ******** --> <profile:Profile rdf:ID="bond007_printer"> <rdfs:label> bond007 printer </rdfs:label> <rdfs:comment> Printer service supported by agent bond007 </rdfs:comment>
DAML-S Service Advertisement Example (contd) <profile:serviceName> bond007_printer_service </profile:serviceName> <profile:textDescription> A message can be sent directly to a printer </profile:textDescription> <profile:serviceCategory>printer</profile:serviceCategory> <profile:input> <profile:ParameterDesription> <profile:parameterName>message</profile:parameterName> <profile:restrictedTo rdf:resource="http://www.w3.org/2000/10/XMLSchema.xsd#string" /> </profile:ParameterDesription> </profile:input> <profile:contactInformation> <profile:Actor> <profile:name>bond007</profile:name> </profile:Actor> </profile:contactInformation> </profile:Profile> </rdf:RDF>
DAML-S Service Request Example <?xml version="1.0" encoding="ISO-8859-1" ?> <rdf:RDF xmlns:rdf= "http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:rdfs= "http://www.w3.org/2000/01/rdf-schema#" xmlns:daml= "http://www.daml.org/2001/03/daml+oil#" xmlns:profile= "http://www.daml.org/services/daml-s/0.7/Profile.daml#" xmlns:xsd= "http://www.w3.org/2000/10/XMLSchema.xsd#"> <daml:Ontology about=""> <daml:versionInfo>1.0</daml:versionInfo> <daml:imports rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns" /> <daml:imports rdf:resource="http://www.w3.org/2000/01/rdf-schema" /> <daml:imports rdf:resource="http://www.daml.org/2001/03/daml+oil" /> <daml:imports rdf:resource="http://www.daml.org/services/daml-s/0.7/Profile.daml" /> </daml:Ontology> <profile:Profile> <profile:serviceCategory>print</profile:serviceCategory> <profile:contactInformation> <profile:Actor> <profile:name>bond</profile:name> </profile:Actor> </profile:contactInformation> </profile:Profile> </rdf:RDF>
UIM with Service Advertisement and Discovery - Based on a RMI version of UIM - DAML-S ServiceProfile class only
Modified Register Command • New Register Panel • Parameters: AgentId, Password, Service Advertisement • Two methods for advertising a DAML-S file:1) 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.
New 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.
Server DOM Tree Database • Hashtable: • Key = AgentId • Value = DOM tree generated from DAML-S description • Database Persistence:Each DAML-S service description is saved into a separate file. The DAML-S filenames are saved into an XML file (see example below) <servicetable> <agent name=”kevin” filename=”kevin.damls” /> <agent name=”betty” filename=”betty.damls” /> <agent name=”jean” filename=”jean.damls” /> </servicetable>
Server Search Engine • Simple Matching Algorithm • The DAML-S service request is converted into a DOM tree. • The search engine extracts the profile:serviceCategory and profile:name 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: profile:name AND profile:serviceCategory.
References • 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