1 / 30

Mathematical Service Matching Using Description Logic and OWL

Mathematical Service Matching Using Description Logic and OWL. Kamelia Asadzadeh Manjili assadzadeh@ce.sharif.edu 84/02/27. Roadmap:. Introduction Mathematical Service Descriptions The MONET Ontologies Service Registration and Matching The Instance Store From MSDL to OWL OWL Queries

casta
Download Presentation

Mathematical Service Matching Using Description Logic and OWL

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Mathematical Service Matching UsingDescription Logic and OWL Kamelia Asadzadeh Manjili assadzadeh@ce.sharif.edu 84/02/27

  2. Roadmap: • Introduction • Mathematical Service Descriptions • The MONET Ontologies • Service Registration and Matching • The Instance Store • From MSDL to OWL • OWL Queries • Conclusions

  3. Introduction • A mechanismfor encoding information about mathematical web services which is rich enough to allow a potential client to identify automatically all thoseservices which may be capable of performing a particular task. • Thismechanism makes use of theWeb Ontology Language (OWL) and a novelapproach to Description Logic reasoning exploiting enterprise databasetechnologies.

  4. The Web Service Description Language (WSDL) is a way of describing thebasic interface which a web service exposes, but it cannot be used to describewhat the service actually does. • When dealing with services that solve mathematicalproblems the subject area lends itself naturally to a precise, formalised,and unambiguous description of the abstract functionality of the service. • A mathematical service description language has been developed bythe MONET project which builds upon standards such as WSDL, RDFS,OpenMath and OWL.

  5. In the MONET project: • An agent, called a broker: given a client’s description of the problem which it wishes to solve, will identify those services capable of solving it. • This matching process involves the storage and manipulation of a wide range of mathematical knowledge: • Formalisations of mathematical problems • The algorithms which can be used to solve them • The properties of particular implementations

  6. Focus: The knowledge infrastructure that thebrokeruses to describe deployedservices andclients’problems, and to matchone to the other. • A key role in these descriptions is played by the MONET ontologies, which: • Provide the vocabulary for describing services • Formalise the relationships between different terms in the vocabulary in a way which can be used by the service matcher • The ontologies are encoded using the Web Ontology Language (OWL).

  7. The Mathematical Service Description Language (MSDL) • MSDL has been designed to suit: • mathematical web services • mathematical queries and explanations • A mathematical service description: • Represent by a document in XML which conforms to the MONET schema, • Uses the MONET ontologies to characterise, among others, the following aspects:

  8. Abstract functionality by reference to a library of mathematical problems interms of input/output andprecondition/postcondition specifications. • Algorithmic behaviour by reference to a library of algorithms, described by problem solved, taxonomic and bibliographical data. • Implementation details such as programming language, hardware platform, and algorithm features such as accuracy, memory-usage. • Protocol, operations and data formats by WSDL.

  9. MSDL description of service nagopt <service name="nagopt"> <classification> <gams_class>GamsG1a1a</gams_class> <problem>constrained_minimisation</problem> <input_format>OpenMath</input_format> <output_format>OpenMath</output_format> <directive>find</directive> </classification> <implementation> <software>NAG_C_Library_7</software> <platform>PentiumSystem</platform> <algorithm>Safeguarded_Quadratic-Interpolation</algorithm> </implementation> </service>

  10. MSDL description of service nagquad <service name="nagquad"> <classification> <gams_class>GamsH2a1a1</gams_class> <problem>definite_integration</problem> ... </classification> <implementation> ... <algorithm>de_Doncker</algorithm> </implementation> </service>

  11. MSDL description of service nagroot <service name="nagroot"> <classification> <gams_class>GamsF2</gams_class> <problem>zero_of_nonlinear_system</problem> ... </classification> <implementation> ... <algorithm>Powell</algorithm> </implementation> </service>

  12. MSDL description of service nagopt-variation <service name="nagopt-variation"> <classification> <gams_class>GamsG1a</gams_class> <problem>constrained_minimisation</problem> <input_format>algstr1.cdg</input_format> ... </classification> <implementation> ... <platform>SR8000</platform> <algorithm>Quadratic_Programming</algorithm> </implementation> </service>

  13. The MONET Ontologies • GAMS:The Guide to Available Mathematical Software (GAMS) is a serviceoffered by the National Institute for Science and Technology which providesan online index of available mathematical software classified according to thetype of problems it solves. • Symbolic:To address GAMS’ shortcomings in the area of symbolic computation, the GAMS taxonomy has been extended with a small taxonomy which is a sub-class of the GAMS “O” category, symbolic computation systems. • OpenMath:OpenMath is a format for the representation of mathematicalexpressions and objects. Constants of this language have semantics attachedto them and are called symbols (for example sin, integral, matrix, . . . ). Groups of related symbols are defined in content dictionaries.

  14. The OpenMath Ontology has one root class, OpenMathSymbol, whose subclasses correspond to the symbols defined in a particular content dictionary.The symbols themselves are defined as further subclasses of these. • Hardware:The hardware ontology is designed to describe either classes of machines or individual machines. The idea is that a user might request that a service run on a particular model of machine (e.g. a Sun Enterprise 10000), or a general class of machine (e.g. shared memory), or a machine with a certain number of processors. This will be used within the Implementation part of an MSDL service description.

  15. Software:The software ontology is designed to describe pieces of software. It is intended to be used in the implementation part of the service description and allows a user to express a preference for a service built using a particular piece of software in his or her query. • Problems:MONET allows for a problem to be described in terms of its inputs and outputs, pre-conditions and post-conditions, using a specially written XML Schema. • Algorithms:The algorithms ontology is designed to represent elements of the algorithm library in the MONET architecture. There are two subclasses in this ontology: Algorithm, which describes well-known algorithms for mathematical computations, and Complexity, which provides classes necessary for representing complexity information.

  16. Directives :The directives ontology is a collection of classes which identify thetask that is performed by the servicefor exampledecide, solve or prove. • MONET :The MONET ontology imports all the ontologies described aboveand is used to represent complete service descriptions and queries.

  17. Service Registration and Matching • The instance Store • Initialisation • Adding and removing instances • Retrieving instances • From MSDL to OWL

  18. MONET Architecture of Service Matcher and Registry and Query Managers

  19. OWL QueriesA Query Involving a natural formalisation of a Mathematical ProblemGauss-HermiteGauss-LaguerreGauss-LegendreGauss-RationalGill-Miller • Example:

  20. <monet:query xmlns:monet="http://monet.nag.co.uk/monet/ns" xmlns:om="http://www.openmath.org/OpenMath"> <monet:problem > <monet:header/> <monet:body> <monet:output name="integral"> <monet:value> <om:OMOBJ> <om:OMA><om:OMS name="defint" cd="calculus1"/> <om:OMA><om:OMS name="interval" cd="interval1"/> <om:OMF dec="0.0"/> <om:OMF dec="1.0"/> </om:OMA> <om:OMBIND><om:OMS name="lambda" cd="fns1"/> <om:OMBVAR><om:OMV name="x"/></om:OMBVAR> <om:OMA><om:OMS name="sin" cd="transc1"/> <om:OMV name="x"/> </om:OMA> </om:OMBIND> </om:OMA> </om:OMOBJ> </monet:value> </monet:output> </monet:body> </monet:problem> </monet:query>

  21. Service matching (by considering four queries to an elementary iS consisting of four services): • Query (1 :(asks for all individuals whose GAMS classification is GamsG: restriction(<http://monet.nag.co.uk/owl#service_classification> someValuesFrom(restrictio(<http://monet.nag.co.uk/owl#gams_class> someValuesFrom(<http://gams.nist.gov#GamsG>)))) • iS answers it by returning nagopt and nagopt-variation.

  22. Query (2 :(ask for all individuals whose implementation has Root Finding as algorithm. restriction(<http://monet.nag.co.uk/owl#service_implementation> someValuesFrom(restriction(<http://monet.nag.co.uk/owl#service_algorithm> someValuesFrom(<http://monet.nag.co.uk/algorithm#Root_Finding>)))) • The answer of iS to the query is nagroot, since in the Algorithm ontology we can find that Powellis a child of Root Finding.

  23. Query (3 :( we ask for all individuals running on a platform with one processor. restriction(<http://monet.nag.co.uk/owl#service_implementation> someValuesFrom(restriction(<http://monet.nag.co.uk/owl#service_platform> someValuesFrom(restriction(<http://monet.nag.co.uk/owl#number_of_processors> value("1"^^<http://www.w3.org/2001/XMLSchema#int>)))))) • The answer is nagopt, nagroot, and nagquad, but not nagopt-variation, sincewe asserted that it runs on SR8000 which is a parallel processor.

  24. Query (4 :(ask for all individuals running on platform with one processor. intersectionOf(<http://monet.nag.co.uk/owl#Service> restriction(<http://monet.nag.co.uk/owl#service_implementation> someValuesFrom(restriction(<http://monet.nag.co.uk/owl#service_platform> someValuesFrom(complementOf(<http://monet.nag.co.uk/owl#Parallel>)))))) • Adding to the Hardware ontology the axiom that Serial and Parallel are disjoint, )infer: notParallel is equivalent to Serial( • The answer is nagopt, nagroot, and nagquad, but not nagopt-variation.

  25. MSDL description of service nagopt <service name="nagopt"> <classification> <gams_class>GamsG1a1a</gams_class> <problem>constrained_minimisation</problem> <input_format>OpenMath</input_format> <output_format>OpenMath</output_format> <directive>find</directive> </classification> <implementation> <software>NAG_C_Library_7</software> <platform>PentiumSystem</platform> <algorithm>Safeguarded_Quadratic-Interpolation</algorithm> </implementation> </service>

  26. MSDL description of service nagquad <service name="nagquad"> <classification> <gams_class>GamsH2a1a1</gams_class> <problem>definite_integration</problem> ... </classification> <implementation> ... <algorithm>de_Doncker</algorithm> </implementation> </service>

  27. MSDL description of service nagroot <service name="nagroot"> <classification> <gams_class>GamsF2</gams_class> <problem>zero_of_nonlinear_system</problem> ... </classification> <implementation> ... <algorithm>Powell</algorithm> </implementation> </service>

  28. MSDL description of service nagopt-variation <service name="nagopt-variation"> <classification> <gams_class>GamsG1a</gams_class> <problem>constrained_minimisation</problem> <input_format>algstr1.cdg</input_format> ... </classification> <implementation> ... <platform>SR8000</platform> <algorithm>Quadratic_Programming</algorithm> </implementation> </service>

  29. Conclusions: • The MONET ontologies are designed to model both queries and service descriptions:in that sense they are a formalism of the original MSDL language whichwas deliberately designed to be “ontology neutral”. • The ontologies are designed to be used by the broker and, in particular,the iS component which is responsible for matching queries to appropriate services. • This component is, in turn, built on a Description Logic reasoner accessedthrough the generic DIG interface. In our case we have chosen to use RACERfor this purpose, but there are several other alternatives which we could haveused equally well.

  30. Thanks

More Related