Mathematical Service Discovery
Where we’ve been
Where we are
Where we’re going
Mathematical Service Discovery
Julian Padget
Department of Computer Science
University of Bath, UK
20060720 / WoCo9
Julian Padget
Mathematical Service Discovery
Where we’ve been
Where we are
Where we’re going
Outline
1
Where we’ve been
Context
OpenMath
MONET
2
Where we are
GENSS
3
Where we’re going
KNOOGLE
Conclusion
Julian Padget
Mathematical Service Discovery
Where we’ve been
Context
Where we are
OpenMath
Where we’re going
MONET
People and places...
Bath: Bill Naylor, Julian Padget
Cardiff: Simone Ludwig, Tom Goodale, Omer Rana
NAG Ltd., Stilo Ltd., University of Eindhoven, Université de
Nice/INRIA Sophia Antipolis, University of Bath, University
of Manchester, University of Western Ontario
Julian Padget
Mathematical Service Discovery
Where we’ve been
Context
Where we are
OpenMath
Where we’re going
MONET
The Vision
Identification and composition of mathematical web services by
functional description:
e-scientist
.
.
.
mathematical
web services
.
.
.
software
agent
Plumbing is (relatively) easy, saying what you want is not
Julian Padget
Mathematical Service Discovery
Where we’ve been
Context
Where we are
OpenMath
Where we’re going
MONET
Matchmaking and Brokerage
Brokerage: matchmaking + selection + invocation
Matchmaking: identifying candidate services
Problem: establishing “degree” of match between task and
capability. Outcomes:
Exact match
No match
Partial match—how? what does this mean? what are the
criteria?
Mathematical capability descriptions are a blessing and a
curse:
Precise service descriptions possible
But service matching can rapidly become intractable
Julian Padget
Mathematical Service Discovery
Where we’ve been
Context
Where we are
OpenMath
Where we’re going
MONET
The OpenMath Project
OpenMath: http://www.openmath.org, EU,
1997–2000 and 2001–2004
OpenMath 1.1 Standard (October 2002)
OpenMath 2.0 Standard (June 2004)
Defines mathematical symbols and concepts, organized by
content dictionaries (CDs)
Simple markup encompassing application (OMA), integer
(OMI), symbol (OMS) and variable (OMV)
Extensible, in contrast to MATHML[-C]
Defined as the escape language for MATHML[-C]
Julian Padget
Mathematical Service Discovery
Where we’ve been
Context
Where we are
OpenMath
Where we’re going
MONET
OpenMath example
OpenMath representation of x2 − y2:
<om:OMOBJ><om:OMA>
<om:OMS cd="arith1" name="minus"/>
<om:OMA>
<om:OMS cd="arith1" name="power"/>
<om:OMV name="x"/>
<om:OMI>2</om:OMI>
</om:OMA>
<om:OMA>
<om:OMS cd="arith1" name="power"/>
<om:OMV name="y"/>
<om:OMI>2</om:OMI>
</om:OMA></om:OMA>
</om:OMOBJ>
Note: old style XML, heavy use of attributes, no namespaces.
Changed in OpenMath 2.0
Julian Padget
Mathematical Service Discovery
Where we’ve been
Context
Where we are
OpenMath
Where we’re going
MONET
The MONET Project
MONET: http://monet.nag.co.uk, EU, 2002–2004
Schema definition: Mathematical Service Description
Language, Mathematical Problem Description Language,
Mathematical Explanation Language
Basic ontologies: hardware, software, algorithms,
problems
Link to and extension of GAMS gams.nist.gov
Brokerage, service selection by ontological reasoning,
orchestration with BPEL4WS
Some project-specific solutions to meet deliverables
See [Caprotti et al., 2004]
Julian Padget
Mathematical Service Discovery
Where we’ve been
Context
Where we are
OpenMath
Where we’re going
MONET
The MONET Architecture
MONET
OpenMath
(OWL)
ontologies
ontologies
provider
MSDL
MQDL
MPDL
MEL
client
problem
MONET broker
results
Execution
Registry
Plan
Manager
Manager
Manager
BPEL4WS/Jelly
query
description
services
repository
service A
service B
(instance store)
axis/tomcat
axis/tomcat
Racer
Julian Padget
Mathematical Service Discovery
Where we’ve been
Where we are
GENSS
Where we’re going
The GENSS Project
GENSS: http://genss.cs.bath.ac.uk, EPSRC,
2004–2006
Extend matching to capabilities and effects
Diversify range of services
Move towards integration with Grid
See [Ludwig et al., 2006] (mathematical service matching)
and [Goodale et al., 2006] (matchmaking/brokerage
architecture)
Julian Padget
Mathematical Service Discovery
Where we’ve been
Where we are
GENSS
Where we’re going
The GENSS Architecture
Ontology
···
server (OWL)
@ Cardiff
Web Services (Matching algorithms)
@ Cardiff
P
A
O
/
S
P
HTTP/SOAP
UDDI registry
T
T
@ Cardiff
H
Matching algorithms
TCP
Broker
Rule-based
Portal
+
(Java)
Reasoner
Java
MSQL database
Beans
@ Cardiff
P
HTT
Mathematical service
A
P/
O
SO
descriptions
S
A
/
P
P
T
T
H
Ontology
···
Authorization
server (OWL)
Server
@ Bath
Numeric and Symbolic Services
@ Bath
Julian Padget
Mathematical Service Discovery
Where we’ve been
Where we are
GENSS
Where we’re going
GENSS Matchmaking Strategy
Two phases:
Service registration:
Convert service to normal form
Put in registry
Conversion to normal form dominates complexity.
Service lookup:
Convert query to normal form
Traverse registry, calculating a similarity value between the
query and each service
Return a list of service URLs ordered on the similarity
value.
Traversal of the registry dominates complexity.
Julian Padget
Mathematical Service Discovery
Where we’ve been
Where we are
GENSS
Where we’re going
Normalization
Dissimilar (mathematical) expressions can be equivalent
No absolute normal form exists
But can normalize for purpose:
Logical equivalences – standard rewrites
Associative operators – flattened
Context dependent equivalences
Alpha conversions – consistent naming
Commutative operators – reorder arguments
Conversion to disjunctive normal form (cost: O(2n))
Conditions and effects take the form Q(L(R)):
Q is a quantifier block e.g. ∀x∃y s.t.···
L is a block of logical connectives e.g. ∧,∨,⇒,···
R is a block of relations. e.g. =, ≤,≥,=,···
Julian Padget
Mathematical Service Discovery
Where we’ve been
Where we are
GENSS
Where we’re going
Matching techniques 1/2
Structural
Task and capability match exactly
Syntax+Ontology:
Compare elements and attributes in task and capability
using taxonomic structure of types to test for inclusion
Ontological reasoning (demonstrated in MONET):
Translate task description into OWL
Compute match using Description Logic reasoner (Racer)
Sort capabilities that satisfy: Tin ≥ Cin ∧ Tout ≤ Cout
Julian Padget
Mathematical Service Discovery
Where we’ve been
Where we are
GENSS
Where we’re going
Matching techniques 2/2
Function: Use conditions and effects:
Tcond ⇒ Ccond ∧ Ceff ⇒ Teff
Algebraic equivalence: show that Q − S = 0 algebraically.
In general undecidable, but often works in practice. eg.
x2 − y2 and (x + y)(x − y).
Value substitution: show that Q − S = 0 by substituting
values into the expression and evaluating (Richardson’s
Theorem). Result is evidence, not proof.
Planned: Reputation metrics/third-party annotation
Planned: Semantic textual analysis
Julian Padget
Mathematical Service Discovery
Where we’ve been
Where we are
GENSS
Where we’re going
The Broker from Triana 1/2
Julian Padget
Mathematical Service Discovery
CoRE, Rutgers University, Feb 06
36
Where we’ve been
Where we are
GENSS
Where we’re going
The Broker from Triana 2/2
Julian Padget
Mathematical Service Discovery
CoRE, Rutgers University, Feb 06
37
Where we’ve been
Where we are
GENSS
Where we’re going
Generation of Semantic Descriptions
Sources:
Manual authoring...
Documentation — hence textual analysis
Synthesis from type information (note: very preliminary):
Experimentation with a two-level polymorphic dependent
type system (Aldor)
Automatic wrapper generation
Automatic generation of OpenMath for service description
Depends on availability of appropriate CDs
Julian Padget
Mathematical Service Discovery
Where we’ve been
Where we are
GENSS
Where we’re going
GENSS Outcomes
Development of a prototype matchmaker shell allowing
Domain-specific ontologies
Co-existence of multiple match modes
Combination of results from multiple match modes
Automated access to numerical web services
Development of plug-ins for the matchmaker shell
Demonstration of the approach with Maple-based
mathematical services
Investigation of scalability of the shell and rule-based
reasoner (OWLJessKB)
Integration with the Triana workflow engine
Julian Padget
Mathematical Service Discovery
Where we’ve been
KNOOGLE
Where we are
Conclusion
Where we’re going
The KNOOGLE Project
Open Middleware Infrastructure Institute (OMII),
2006–2007
Provide minimalist brokerage functions for e-Science:
Where to find descriptions of entities to match against
How to match the query against a description
How to choose between the matched descriptions
Implement a re-configurable, re-targettable architecture for
matchmaking and brokerage
Julian Padget
Mathematical Service Discovery
Where we’ve been
KNOOGLE
Where we are
Conclusion
Where we’re going
Options for Brokerage
Specialization vs. late-binding of function creates three options:
No fixed actions
One fixed action: the matching service comes with
A set of registries or
A set of matchers or
A selection function
Two fixed actions: the matching service comes with
A set of registries and a set of matchers
A set of registries and a selection function
A set of matchers and a selection function
Three fixed actions: a set of registries, a set of matchers
and a selection function
Julian Padget
Mathematical Service Discovery
Where we’ve been
KNOOGLE
Where we are
Conclusion
Where we’re going
The KNOOGLE Architecture
···
Web Services (Matching algorithms)
HTTP/SOAP
BROKER WORK-FLOW
match
plugin
GRIMOIRES REGISTRY
Matching algorithms
Command
HTTP
user
match
ranking
Line
query
plugin
function
Interface
SOAP
GRIMOIRES REGISTRY
match
Grid service descriptions
plugin
HTTP/SOAP
···
Grid Services
Julian Padget
Mathematical Service Discovery
Where we’ve been
KNOOGLE
Where we are
Conclusion
Where we’re going
Summary
OpenMath provides an extensible framework for the
authoring of mathematical ontologies
MONET demonstrates feasibility of semantic processing
from user query to service invocation [Caprotti et al., 2004]
GENSS generalizes the matchmaking/brokerage
component [Ludwig et al., 2006] and extends matching to
conditions and effects [Naylor and Padget, 2006]
KNOOGLE implements an open architecture for
matchmaking and brokerage [Goodale et al., 2006]
Julian Padget
Mathematical Service Discovery
Where we’ve been
KNOOGLE
Where we are
Conclusion
Where we’re going
Outlook
Over the next year:
Basic command-line tools for broker and registry
manipulation by September
Integration with OMII stack (OMII project: Southampton)
Integration with GridSAM (OMII project: Imperial)
Integration with Taverna (OMII project: Manchester)
Development of a range of matchers (including e.g.
ClassAds), selection policies
Tools for end-user construction and deployment of brokers
Julian Padget
Mathematical Service Discovery
Where we’ve been
KNOOGLE
Where we are
Conclusion
Where we’re going
Open issues
Reputation/Recommender systems and third-party
annotations
Semantics textual analysis
Shim service: discovery/generation
Early adopters:
GridSAM (e-Protein, Application Hosting Environment)
my Grid — bioinformatics
RealityGrid —a range of applications in physics and
chemistry
and ...?
Julian Padget
Mathematical Service Discovery
Where we’ve been
KNOOGLE
Where we are
Conclusion
Where we’re going
References
Caprotti, O., Dewar, M., Davenport, J., and Padget, J. (2004). Mathematics on the
(Semantic) Net. In Bussler, C., Davies, J., Fensel, D., and Studer, R., editors,
Proceedings of the European Symposium on the Semantic Web, volume 3053 of
LNCS, pages 213–224. Springer Verlag. ISBN 3-540-21999-4.
Goodale, T., Ludwig, S. A., Naylor, W., Padget, J., and Rana, O. F. (2006).
Service-oriented matchmaking and brokerage. In Watson, P., editor, Proceedings
of e-Science All Hands conference. EPSRC. To appear.
Ludwig, S., Rana, O., Naylor, W., and Padget, J. (2006). Matchmaking framework
for mathematical web services. Journal of Grid Computing, 4(1):33–48. Available
via http://dx.doi.org/10.1007/s10723-005-9019-z. ISSN: 1570-7873
(Paper) 1572-9814 (Online).
Naylor, W. and Padget, J. (2006). Semantic matching for mathematical services.
In Kohlhase, M., editor, Mathematical Knowledge Management: 4th International
Conference, MKM 2005, volume 3863 of LNCS, pages 174–189. Springer Verlag.
ISBN: 3-540-31430-X. Available via
http://dx.doi.org/10.1007/11618027_12.
Julian Padget
Mathematical Service Discovery