Presentation is loading. Please wait.

Presentation is loading. Please wait.

Mathematical Service Matching Using Description Logic and OWL Kamelia Asadzadeh Manjili

Similar presentations


Presentation on theme: "Mathematical Service Matching Using Description Logic and OWL Kamelia Asadzadeh Manjili"— Presentation transcript:

1 Mathematical Service Matching Using Description Logic and OWL Kamelia Asadzadeh Manjili assadzadeh@ce.sharif.edu84/02/27

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

3 Introduction Introduction A mechanism for encoding information about mathematical web services which is rich enough to allow a potential client to identify automatically all those services which may be capable of performing a particular task. enough to allow a potential client to identify automatically all those services which may be capable of performing a particular task. This mechanism makes use of the Web Ontology Language (OWL) and a novel approach to Description Logic reasoning exploiting enterprise database technologies.

4 The Web Service Description Language (WSDL) is a way of describing the basic interface which a web service exposes, but it cannot be used to describe what the service actually does. a way of describing the basic interface which a web service exposes, but it cannot be used to describe what the service actually does. When dealing with services that solve mathematical problems 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 by the 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 the broker uses to describe deployed services and clients’problems, and to match one 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 web services mathematical queries and explanations 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 in terms of input/output and precondition/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 <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> Safeguarded_Quadratic- Interpolation Safeguarded_Quadratic- Interpolation </implementation></service>

10 MSDL description of service MSDL description of service nagquad GamsH2a1a1 GamsH2a1a1 definite_integration definite_integration............ de_Doncker de_Doncker </service>

11 MSDL description of service nagroot GamsF2 GamsF2 zero_of_nonlinear_system zero_of_nonlinear_system............ Powell Powell </service>

12 MSDL description of service MSDL description of service nagopt-variation GamsG1a GamsG1a constrained_minimisation constrained_minimisation algstr1.cdg algstr1.cdg............ SR8000 SR8000 Quadratic_Programming Quadratic_Programming </service>

13 The MONET Ontologies GAMS: The Guide to Available Mathematical Software (GAMS) is a service offered by the National Institute for Science and Technology which provides an online index of available mathematical software classified according to the type 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 mathematical expressions and objects. Constants of this language have semantics attached to them and are called symbols (for example sin, integral, matrix,... ). Groups of related symbols are defined in content dictionaries. 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 the task that is performed by the service for example decide, solve or prove. MONET : The MONET ontology imports all the ontologies described above and 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 Queries A Query Involving a natural formalisation of a Mathematical Problem Gauss-Hermite Gauss-Laguerre Gauss-Legendre Gauss-Rational Gill-Miller Example:

20 <monet:query xmlns:monet="http://monet.nag.co.uk/monet/ns" xmlns:om="http://www.openmath.org/OpenMath"> <monet:header/><monet:body> </monet:value>

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 ( restriction ( someValuesFrom (restrictio( someValuesFrom( )))) 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( someValuesFrom(restriction( someValuesFrom( )))) someValuesFrom( )))) The answer of iS to the query is nagroot, since i n the Algorithm ontology we can find that Powell is a child of Root Finding.

23 Query (3 :( we ask for all individuals running on a platform with one processor. restriction( restriction( someValuesFrom(restriction( someValuesFrom(restriction( value("1"^^ )))))) value("1"^^ )))))) The answer is nagopt, nagroot, and nagquad, but not nagopt- variation, since we 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( intersectionOf( restriction( restriction( someValuesFrom(restriction( someValuesFrom(restriction( someValuesFrom(complementOf( )))))) someValuesFrom(complementOf( )))))) Adding to the Hardware ontology the axiom that Serial and Parallel are disjoint, )infer: not Parallel is equivalent to Serial( The answer is nagopt, nagroot, and nagquad, but not nagopt- variation.

25 MSDL description of service 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> Safeguarded_Quadratic- Interpolation Safeguarded_Quadratic- Interpolation </implementation></service>

26 MSDL description of service MSDL description of service nagquad GamsH2a1a1 GamsH2a1a1 definite_integration definite_integration............ de_Doncker de_Doncker </service>

27 MSDL description of service nagroot GamsF2 GamsF2 zero_of_nonlinear_system zero_of_nonlinear_system............ Powell Powell </service>

28 MSDL description of service MSDL description of service nagopt-variation GamsG1a GamsG1a constrained_minimisation constrained_minimisation algstr1.cdg algstr1.cdg............ SR8000 SR8000 Quadratic_Programming Quadratic_Programming </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 which was 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 accessed through the generic DIG interface. In our case we have chosen to use RACER for this purpose, but there are several other alternatives which we could have used equally well.

30 Thanks


Download ppt "Mathematical Service Matching Using Description Logic and OWL Kamelia Asadzadeh Manjili"

Similar presentations


Ads by Google