Senior Research Associate
PhD MIT, 1979
My research focuses on representing scientific knowledge and making
these representations easy to manage and use. Recently, we developed tools that allow
scientists and engineers to specify computations in terms of mathematical and geometric
constraints and, using a toolkit of program transformations, convert the specifications
into executable code. The constraints take the form of algebraic and differential
equations, and the toolkit's transformations capture familiar mathematical techniques like
the Runge-Kutta method for numerically solving initial value
|problems. This higher level approach to
software development dramatically reduces the amount of code and time required developing
a scientific computation, but it introduces a number of challenging and difficult problems
in programming languages.
Another component of this toolkit is a computer
algebra substrate, called Weyl, that extends the data structures available in Common Lisp
to include objects like polynomials, matrices, rational functions, rings, vector spaces,
and ideals. The introduction of these new objects into a programming language provides a
number of new challenges to the language's type system as well as new opportunities for
deductive reasoning, which we are pursuing in concert with B. Constable's Nuprl project.
We are combining all these tools using an
interchange formalism called the MathBus. The MathBus tools allow one to represent a very
wide range of mathematical objects and pass them freely between programs written in
different languages. MathBus objects can be placed in mail messages, in databases, and on
Web pages without losing their mathematical semantics. Thus, one can cut a MathBus
equation from a Web page (where it has two-dimensional display) and paste it into a
computer algebra system like Maple or Mathematica. This array of tools and technologies
allows one to represent and manipulate scientific and engineering knowledge in a freer and
semantic richer fashion than previously possible.
Editorial Boards: J. Symbolic Computation; ACM
Trans. Mathematical Software
Referee/Reviewer: NSF, Information and
DARPA ISAT Complex Systems Study Group
INRIA Research Review Committee
A constraint based scientific programming
language. Computer Science, Tel Aviv Univ., Tel Aviv, Israel, Feb. 1, 1998.
Problem solving with symbolic systems, Weiz_mann
Inst. Science, Rehovot, Israel, June 23, 1998.
Zero testing of algebraic functions. IPL 61