Top Banner
Mathematical Service Mathematical Service Matching Using Matching Using Description Logic and Description Logic and OWL OWL Kamelia Asadzadeh Manjili Kamelia Asadzadeh Manjili [email protected] [email protected] 84/02/27 84/02/27
30

Mathematical Service Matching Using Description Logic and OWL Kamelia Asadzadeh Manjili

Jan 20, 2018

Download

Documents

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.
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Mathematical Service Matching Using Description Logic and OWL Kamelia Asadzadeh Manjili

Mathematical Service Matching Mathematical Service Matching UsingUsing

Description Logic and OWLDescription Logic and OWL

Kamelia Asadzadeh ManjiliKamelia Asadzadeh [email protected] [email protected]

84/02/2784/02/27

Page 2: Mathematical Service Matching Using Description Logic and OWL Kamelia Asadzadeh Manjili

Roadmap:Roadmap: IntroductionIntroduction Mathematical Service DescriptionsMathematical Service Descriptions The MONET OntologiesThe MONET Ontologies Service Registration and MatchingService Registration and Matching

The The IInstance Storenstance StoreFrom MSDL to OWLFrom MSDL to OWL

OWL QueriesOWL Queries ConclusionsConclusions

Page 3: Mathematical Service Matching Using Description Logic and OWL Kamelia Asadzadeh Manjili

IntroductionIntroductionAA mechanism for encoding information about mechanism for encoding information about mathematical web services which is richmathematical web services which is rich

enough to allow a potential client to identify enough to allow a potential client to identify automatically all those services which may be automatically all those services which may be capable of performing a particular task.capable of performing a particular task.

• This mechanism makes use of the Web This mechanism makes use of the Web

Ontology Language (OWL) and a novel Ontology Language (OWL) and a novel approach to Description Logic reasoning approach to Description Logic reasoning exploiting enterprise database technologies.exploiting enterprise database technologies.

Page 4: Mathematical Service Matching Using Description Logic and OWL Kamelia Asadzadeh Manjili

The Web Service Description Language (WSDL) isThe Web Service Description Language (WSDL) is a way of describing the basic interface which a web a way of describing the basic interface which a web

service exposes, service exposes, butbut it cannot be used to describe it cannot be used to describe what the service actually does.what the service actually does.

When dealing with services that solve mathematical When dealing with services that solve mathematical problems the subject area lends itself naturally to a problems the subject area lends itself naturally to a preciseprecise, , formalisedformalised, and , and unambiguousunambiguous description of description of the abstract functionality of the service.the abstract functionality of the service.

• AA mathematical service description languagemathematical service description language has has

been developed by the MONET project which builds been developed by the MONET project which builds upon standards such as WSDL, RDFS,OpenMath and upon standards such as WSDL, RDFS,OpenMath and OWL.OWL.

Page 5: Mathematical Service Matching Using Description Logic and OWL Kamelia Asadzadeh Manjili

In the MONET project:In the MONET project:

An agent, called a An agent, called a brokerbroker: given a client’s description : given a client’s description of the problem which it wishes to solve, will identify of the problem which it wishes to solve, will identify those services capable of solving it. those services capable of solving it.

This This matching processmatching process involves the storage and involves the storage and manipulation of a wide range of mathematical manipulation of a wide range of mathematical knowledge: knowledge:

Formalisations of mathematical problemsFormalisations of mathematical problemsThe algorithms which can be used to solve themThe algorithms which can be used to solve themThe properties of particular implementationsThe properties of particular implementations

Page 6: Mathematical Service Matching Using Description Logic and OWL Kamelia Asadzadeh Manjili

Focus: Focus: TThe he knowledge infrastructureknowledge infrastructure that the broker uses that the broker uses to describe deployed services and clients’problems, and to to describe deployed services and clients’problems, and to match one to the othermatch one to the other..

A key role in these descriptions is played by the A key role in these descriptions is played by the MONET MONET ontologiesontologies, which:, which:

Provide the vocabulary for describing servicesProvide the vocabulary for describing servicesFormalise the relationships between different terms in the Formalise the relationships between different terms in the vocabulary in a way which can be used by the service vocabulary in a way which can be used by the service matchermatcher

The ontologies are encoded using the Web Ontology The ontologies are encoded using the Web Ontology Language (OWL).Language (OWL).

Page 7: Mathematical Service Matching Using Description Logic and OWL Kamelia Asadzadeh Manjili

The Mathematical Service Description The Mathematical Service Description Language (MSDL)Language (MSDL)

MSDL has been designed to suit:MSDL has been designed to suit: mathematical web servicesmathematical web services mathematical queries and explanationsmathematical queries and explanations

A mathematical service description:A mathematical service description:Represent by a document in XML which conforms to Represent by a document in XML which conforms to the MONET schema, the MONET schema, Uses the MONET ontologies to characterise, among Uses the MONET ontologies to characterise, among others, the following aspects:others, the following aspects:

Page 8: Mathematical Service Matching Using Description Logic and OWL Kamelia Asadzadeh Manjili

AAbstract functionalitybstract functionality by reference to a library of mathematical by reference to a library of mathematical problems in terms of input/output and precondition/postcondition problems in terms of input/output and precondition/postcondition specifications.specifications.

Algorithmic behaviourAlgorithmic behaviour by reference to a library of algorithms, by reference to a library of algorithms, described by problem solved, taxonomic and bibliographical data.described by problem solved, taxonomic and bibliographical data.

ImplementationImplementation details such as programming language, hardware details such as programming language, hardware platform, and algorithm features such as accuracy, memory-usage.platform, and algorithm features such as accuracy, memory-usage.

ProtocolProtocol,, operations operations andand data formats data formats by WSDL. by WSDL.

Page 9: Mathematical Service Matching Using Description Logic and OWL Kamelia Asadzadeh Manjili

MSDL description of service nagoptMSDL description of service nagopt<service name="nagopt"><service name="nagopt">

<classification><classification><gams_class>GamsG1a1a</gams_class><gams_class>GamsG1a1a</gams_class><problem>constrained_minimisation</problem><problem>constrained_minimisation</problem><input_format>OpenMath</input_format><input_format>OpenMath</input_format><output_format>OpenMath</output_format><output_format>OpenMath</output_format><directive>find</directive><directive>find</directive></classification></classification><implementation><implementation><software>NAG_C_Library_7</software><software>NAG_C_Library_7</software><platform>PentiumSystem</platform><platform>PentiumSystem</platform><algorithm>Safeguarded_Quadratic-Interpolation</algorithm><algorithm>Safeguarded_Quadratic-Interpolation</algorithm></implementation></implementation>

</service></service>

Page 10: Mathematical Service Matching Using Description Logic and OWL Kamelia Asadzadeh Manjili

MSDL description of service MSDL description of service nagquad

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

Page 11: Mathematical Service Matching Using Description Logic and OWL Kamelia Asadzadeh Manjili

MSDL description of service MSDL description of service nagrootnagroot

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

Page 12: Mathematical Service Matching Using Description Logic and OWL Kamelia Asadzadeh Manjili

MSDL description of service MSDL description of service nagopt-variation

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

Page 13: Mathematical Service Matching Using Description Logic and OWL Kamelia Asadzadeh Manjili

The MONET OntologiesThe MONET OntologiesGAMS:GAMS:The Guide to Available Mathematical Software (GAMS) is a The Guide to Available Mathematical Software (GAMS) is a service offered by the National Institute for Science and Technology which service offered by the National Institute for Science and Technology which provides an online index of available mathematical software classified provides an online index of available mathematical software classified according to the type of problems it solves.according to the type of problems it solves.

Symbolic:Symbolic: To address GAMS’ shortcomings in the area of symbolic To address GAMS’ shortcomings in the area of symbolic computation, the GAMS taxonomy has been extended with a small computation, the GAMS taxonomy has been extended with a small taxonomy which is a sub-class of the GAMS “O” category, symbolic taxonomy which is a sub-class of the GAMS “O” category, symbolic computation systems.computation systems.

OpenMath:OpenMath:OpenMath is a format for the representation of mathematical OpenMath is a format for the representation of mathematical expressions and objects. Constants of this language have semantics attached expressions and objects. Constants of this language have semantics attached to them and are called symbols (for example sin, integral, matrix, . . . ).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.

Page 14: Mathematical Service Matching Using Description Logic and OWL Kamelia Asadzadeh Manjili

The OpenMath Ontology has one root class, The OpenMath Ontology has one root class, OpenMathSymbol, whose subclasses correspond to the OpenMathSymbol, whose subclasses correspond to the symbols defined in a particular content dictionary.The symbols defined in a particular content dictionary.The symbols themselves are defined as further subclasses of these. symbols themselves are defined as further subclasses of these.

Hardware:Hardware:The hardware ontology is designed to describe The hardware ontology is designed to describe either classes of machines or individual machines. The idea is either classes of machines or individual machines. The idea is that a user might request that a service run on a particular that a user might request that a service run on a particular model of machine (e.g. a Sun Enterprise 10000), or a general model of machine (e.g. a Sun Enterprise 10000), or a general class of machine (e.g. shared memory), or a machine with a class of machine (e.g. shared memory), or a machine with a certain number of processors. This will be used within the certain number of processors. This will be used within the Implementation part of an MSDL service description.Implementation part of an MSDL service description.

Page 15: Mathematical Service Matching Using Description Logic and OWL Kamelia Asadzadeh Manjili

Software:Software:The software ontology is designed to describe The software ontology is designed to describe pieces of software. It is intended to be used in the pieces of software. It is intended to be used in the implementation part of the service description and allows a implementation part of the service description and allows a user to express a preference for a service built using a user to express a preference for a service built using a particular piece of software in his or her query.particular piece of software in his or her query.

Problems:Problems:MONET allows for a problem to be described in MONET allows for a problem to be described in terms of its inputs and outputs, pre-conditions and post-terms of its inputs and outputs, pre-conditions and post-conditions, using a specially written XML Schema.conditions, using a specially written XML Schema.

AlgorithmsAlgorithms:: The algorithms ontology is designed to The algorithms ontology is designed to represent elements of the algorithm library in the MONET represent elements of the algorithm library in the MONET architecture. There are two subclasses in this ontology: architecture. There are two subclasses in this ontology: Algorithm, which describes well-known algorithms for Algorithm, which describes well-known algorithms for mathematical computations, and Complexity, which provides mathematical computations, and Complexity, which provides classes necessary for representing complexity information.classes necessary for representing complexity information.

Page 16: Mathematical Service Matching Using Description Logic and OWL Kamelia Asadzadeh Manjili

Directives :Directives :The directives ontology is a collection of classes The directives ontology is a collection of classes which identify the task that is performed by the service for which identify the task that is performed by the service for example decide, solve or prove.example decide, solve or prove.

MONET :MONET :The MONET ontology imports all the ontologies The MONET ontology imports all the ontologies described above and is used to represent complete service described above and is used to represent complete service descriptions and queries. descriptions and queries.

Page 17: Mathematical Service Matching Using Description Logic and OWL Kamelia Asadzadeh Manjili

Service Registration and MatchingService Registration and Matching

The instance StoreThe instance StoreInitialisationInitialisationAdding and removing instancesAdding and removing instancesRetrieving instancesRetrieving instances

From MSDL to OWLFrom MSDL to OWL

Page 18: Mathematical Service Matching Using Description Logic and OWL Kamelia Asadzadeh Manjili

MONET Architecture of Service Matcher MONET Architecture of Service Matcher and Registry and Query Managersand Registry and Query Managers

Page 19: Mathematical Service Matching Using Description Logic and OWL Kamelia Asadzadeh Manjili

OWL QueriesOWL Queries

A Query Involving a natural formalisation of a A Query Involving a natural formalisation of a Mathematical ProblemMathematical Problem

Gauss-HermiteGauss-HermiteGauss-LaguerreGauss-LaguerreGauss-LegendreGauss-LegendreGauss-RationalGauss-RationalGill-MillerGill-Miller

• Example: Example:

0.1

0.0

)x(d)xsin(

Page 20: Mathematical Service Matching Using Description Logic and OWL Kamelia Asadzadeh Manjili

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

<monet:problem ><monet:problem ><monet:header/><monet:header/><monet:body><monet:body>

<monet:output name="integral"><monet:output name="integral"> <monet:value><monet:value> <om:OMOBJ><om:OMOBJ> <om:OMA><om:OMS name="defint" cd="calculus1"/><om:OMA><om:OMS name="defint" cd="calculus1"/> <om:OMA><om:OMS name="interval" cd="interval1"/><om:OMA><om:OMS name="interval" cd="interval1"/> <om:OMF dec="0.0"/><om:OMF dec="0.0"/> <om:OMF dec="1.0"/><om:OMF dec="1.0"/> </om:OMA></om:OMA> <om:OMBIND><om:OMS name="lambda" cd="fns1"/><om:OMBIND><om:OMS name="lambda" cd="fns1"/> <om:OMBVAR><om:OMV name="x"/></om:OMBVAR><om:OMBVAR><om:OMV name="x"/></om:OMBVAR> <om:OMA><om:OMS name="sin" cd="transc1"/><om:OMA><om:OMS name="sin" cd="transc1"/> <om:OMV name="x"/><om:OMV name="x"/> </om:OMA></om:OMA> </om:OMBIND></om:OMBIND> </om:OMA></om:OMA> </om:OMOBJ></om:OMOBJ></monet:value></monet:value>

</monet:output></monet:output>

</monet:body></monet:body> </monet:problem></monet:problem>

</monet:query></monet:query>

Page 21: Mathematical Service Matching Using Description Logic and OWL Kamelia Asadzadeh Manjili

Service matching (by considering four queries Service matching (by considering four queries to an elementary iS consisting of four services):to an elementary iS consisting of four services):

QQuery uery (1(1 :( :(asks for all individuals whose GAMS asks for all individuals whose GAMS classification is GamsG: classification is GamsG:

restriction (<http: //monet.nag.co.uk/owl#service_classification>restriction (<http: //monet.nag.co.uk/owl#service_classification>someValuesFrom (restrictio(<http://monet.nag.co.uk/owl#gams_class> someValuesFrom (restrictio(<http://monet.nag.co.uk/owl#gams_class> someValuesFrom(<http://gams.nist.gov#GamsG>)))) someValuesFrom(<http://gams.nist.gov#GamsG>))))

iS answers it by returning nagopt and nagopt-variation.

Page 22: Mathematical Service Matching Using Description Logic and OWL Kamelia Asadzadeh Manjili

QQuery uery (2(2 :( :(ask for all individuals whose implementation ask for all individuals whose implementation has Root Finding as algorithm.has Root Finding as algorithm.

restriction(<http://monet.nag.co.uk/owl#service_implementation>restriction(<http://monet.nag.co.uk/owl#service_implementation> someValuesFrom(restriction(<http://monet.nag.co.uk/owl#service_algorithm>someValuesFrom(restriction(<http://monet.nag.co.uk/owl#service_algorithm> someValuesFrom(<http://monet.nag.co.uk/algorithm#Root_Finding>))))someValuesFrom(<http://monet.nag.co.uk/algorithm#Root_Finding>))))

TThe answer of iS to the query is nagroot, sincehe answer of iS to the query is nagroot, since iin the Algorithm n the Algorithm ontology we can find that Powell is a child of Root Finding.ontology we can find that Powell is a child of Root Finding.

Page 23: Mathematical Service Matching Using Description Logic and OWL Kamelia Asadzadeh Manjili

QQuery uery (3(3 :( :( we ask for all individuals running on a we ask for all individuals running on a platform with one processor.platform with one processor.

restriction(<http://monet.nag.co.uk/owl#service_implementation>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#service_platform> someValuesFrom(restriction(<http://monet.nag.co.uk/owl#number_of_processors>someValuesFrom(restriction(<http://monet.nag.co.uk/owl#number_of_processors> value("1"^^<http://www.w3.org/2001/XMLSchema#int>))))))value("1"^^<http://www.w3.org/2001/XMLSchema#int>))))))

The answer is nagopt, nagroot, and nagquad, but not nagopt-The answer is nagopt, nagroot, and nagquad, but not nagopt-variationvariation,, since we asserted that it runs on SR8000 which is a since we asserted that it runs on SR8000 which is a parallel processor.parallel processor.

Page 24: Mathematical Service Matching Using Description Logic and OWL Kamelia Asadzadeh Manjili

QQuery uery (4(4 :( :(ask for all individuals running on platform ask for all individuals running on platform with one processor.with one processor.

intersectionOf(<http://monet.nag.co.uk/owl#Service>intersectionOf(<http://monet.nag.co.uk/owl#Service> restriction(<http://monet.nag.co.uk/owl#service_implementation>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#service_platform> someValuesFrom(complementOf(<http://monet.nag.co.uk/owl#Parallel>))))))someValuesFrom(complementOf(<http://monet.nag.co.uk/owl#Parallel>))))))

• Adding Adding to the Hardware ontology the axiom that Serial and to the Hardware ontology the axiom that Serial and Parallel are disjoint, )infer: not Parallel is equivalent to Serial(Parallel are disjoint, )infer: not Parallel is equivalent to Serial(

• The answer is nagopt, nagroot, and nagquad, but not nagopt-The answer is nagopt, nagroot, and nagquad, but not nagopt-variation. variation.

Page 25: Mathematical Service Matching Using Description Logic and OWL Kamelia Asadzadeh Manjili

MSDL description of service nagoptMSDL description of service nagopt<service name="nagopt"><service name="nagopt">

<classification><classification><gams_class>GamsG1a1a</gams_class><gams_class>GamsG1a1a</gams_class><problem>constrained_minimisation</problem><problem>constrained_minimisation</problem><input_format>OpenMath</input_format><input_format>OpenMath</input_format><output_format>OpenMath</output_format><output_format>OpenMath</output_format><directive>find</directive><directive>find</directive></classification></classification><implementation><implementation><software>NAG_C_Library_7</software><software>NAG_C_Library_7</software><platform>PentiumSystem</platform><platform>PentiumSystem</platform><algorithm>Safeguarded_Quadratic-Interpolation</algorithm><algorithm>Safeguarded_Quadratic-Interpolation</algorithm></implementation></implementation>

</service></service>

Page 26: Mathematical Service Matching Using Description Logic and OWL Kamelia Asadzadeh Manjili

MSDL description of service MSDL description of service nagquad

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

Page 27: Mathematical Service Matching Using Description Logic and OWL Kamelia Asadzadeh Manjili

MSDL description of service MSDL description of service nagrootnagroot

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

Page 28: Mathematical Service Matching Using Description Logic and OWL Kamelia Asadzadeh Manjili

MSDL description of service MSDL description of service nagopt-variation

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

Page 29: Mathematical Service Matching Using Description Logic and OWL Kamelia Asadzadeh Manjili

Conclusions:Conclusions:The MONET ontologies are designed to model both queries The MONET ontologies are designed to model both queries and service descriptions:in that sense they are a formalism of and service descriptions:in that sense they are a formalism of the original the original MSDL languageMSDL language which was deliberately designed which was deliberately designed to be “ontology neutral”.to be “ontology neutral”.

The ontologies are designed to be used by the The ontologies are designed to be used by the brokerbroker and, in and, in particular,the iS component which is responsible for matching particular,the iS component which is responsible for matching queries to appropriate services.queries to appropriate services.

This component This component isis, in turn, built on a Description Logic , in turn, built on a Description Logic reasoner accessed through the generic DIG interface. In our reasoner accessed through the generic DIG interface. In our case we have chosen to use RACER for this purpose, but there case we have chosen to use RACER for this purpose, but there are several other alternatives which we could have used are several other alternatives which we could have used equally well.equally well.

Page 30: Mathematical Service Matching Using Description Logic and OWL Kamelia Asadzadeh Manjili

ThanksThanks