
Stéphane Dalmas

"Ingénieur de recherche" in the
SAFIR team at the
Sophia Antipolis
Research Center of
INRIA.
Table of content
My research topics are in the computer science aspects of Symbolic
Computation. Note that as an "Ingénieur de recherche", I am not a
fulltime researcher.
The following is a summary of my past and present research interests.
Programming languages for symbolic computations
The subject of my PhD thesis was the design of a typed language
suitable to express the level of polymorphism necessary to express the
mathematical algorithms of computer algebra in their full generality.
The resulting language, XFun , is a strongly typed functional
programming language. XFun is not a language specialized for algebraic
computation but a general purpose language, intended to explore what a
sophisticated type system can bring to software engineering: to write
reusable software components and to manage large software systems and their
evolution.
It can be used to describe mathematical objects and structures in a spirit
similar to the one of Scratchpad (now the Axiom system with the Aldor
language, developped by NAG).
A prototype implementation of XFun was produced that generated C code,
using parts of the SML/NJ compiler.
Automatic differentiation
I was the orignal designer (with Nicole Rostaing) of
Odyssée, a software tool for automatic differentiation of Fortran
programs.
Communication of mathematical objects
For the needs of the PoSSo Esprit/BRA project, Marc
Gäetano and myself (with the help of Alain Sausse), designed
ASAP and the Central Control.
ASAP is a protocol to exchange mathematical objects encoded as attributed
trees.
This leads us to be involved in the
OpenMath effort
whose aim is to define a standard protocol for the exchange of mathematical
data between programs.
We are now participating in an Esprit project,
OpenMath: Accessing and Using Mathematical Information Electronically
(Task 3.2, Multimedia Standards) for which I am the technical contact
(see the offical
project page for more information).
The Central Control is a software component that has been designed to be the
kernel of an environment for scientific computations which can offer a common
and concurrent access to the tools needed by scientists and engineers:
general purpose and specialized computer algebra systems, visualization
tools, links with numerical libraries and tools to manipulate numerical
programs... The Central Control can abstract the syntaxic and semantic
differences of the systems so that, for example, an expression computed by
Mathematica can be used as input to Maple. The Central Control is in fact an
extended Scheme interpreter.
This enables the dynamic configuration of a network of servers to distribute
computations using the full power of the Scheme language.
The Central Control supports asynchronous (batch) computations with a
mechanism of promises that is very similar to the future construct of
Multilisp. The Central Control can associate a handle to a result that is
stored in a server to avoid the effective transmission of large objects.
The current version of the Central Control is based on the scm
Scheme interpreter, written by Aubrey Jaffer. The Central Control uses the
ASAP protocol to communicate with its servers. Maple, GB and Mathematica
servers have been developped.
Algorithm animation
Olivier Arsac, Marc Gäetano and myself designed Agat an
algorithm animation system based on a clientserver model.
More information is available here .
Interfaces for computer algebra
The subject of the PhD thesis of Olivier Arsac is the design and
implementation of a customisable equation editor, Emath . Emath
embeds a Lisp interpreter (Klone) as its extension language in the same
spirit as the Emacs text editor.
Emath uses multithreading and pixmap cache methods to ensure maximum
responsiveness. We are currently building a sophisticated user interface for
symbolic computation using Emath.
Formula databases
The subject of the PhD thesis of Claude Huchet is the design of a deductive
database for mathematical relations.
The database itself is a standalone program which can run as a server in a
client/server environment and it has been designed to be a powerful assistant
for computer algebra systems as well as for other applications.
At the heart of the database is a deduction engine based on an algorithm for
associatecommutative unification that takes care of the conditions
associated with the formulas.
I have been involved in the developement of several software projects (as one
of the designer and often also as a programmer):
 Odyssée (automatic differentiation of Fortran programs,
written in CAML)
 Quaterman:
a Maple Library for manipulating expressions involving quaternions
 ASAP and
OpenMath prototypes (C
libraries for communicating mathematical objects)
 Agat (C and a special purpose language)
 The Central Control (C and Scheme)
 Emath, an extensible, customisable formula editor (C and Lisp)
 A formula database (Standard ML)
I have been involved in the following cooperative works:
I have teached several graduate courses (mostly at
the university of NiceSophia Antipolis):
 Computer algebra systems
 Functional programming and Standard ML
 Compilation
For those who like to count, this is not a complete list of all my
publications, but a selected one.
Automatic analysis and transformation of fortran programs using a typed
functional language ,
Nicole Rostaing and Stéphane Dalmas, Proceeding of the 10th
international conference on Computing methods in applied sciences and
engineering, pp 527535, Nova Science, 1992.
Automatic Differentiation in Odyssée ,
Nicole Rostaing, Stéphane Dalmas and André Galligo,
Tellus, 45A, 5, pp 558568, 1993
A polymorphic functional language applied to symbolic computation ,
Stéphane Dalmas, Proceedings of ISSAC 92, pp 369375, 1992
Making Systems Communicate and Cooperate: the Central Control Approach
, Stéphane Dalmas and Marc Gäetano
Design and Implementation of Symbolic Computation Systems, LNCS 1128,
pp 308319, 1996
A Deductive Database for Mathematical formulas ,
Stéphane Dalmas, Marc Gaëtano and Claude Huchet,
Design and Implementation of Symbolic Computation Systems, LNCS 1128,
pp 287296, 1996
A Distributed and Cooperative Environment for Computer Algebra ,
Stéphane Dalmas, Marc Gaëtano and Alain Sausse,
J. Symbolic Computation, 21, pp 427439, 1996
Algorithm Animation with AGAT ,
Olivier Arsac, Stéphane Dalmas and Marc Gaëtano, in
Human Interaction in Symbolic Computing , SpringerVerlag, 1997.
An OpenMath 1.0 Implementation ,
Stéphane Dalmas, Marc Gaëtano and Stephen Watt,
Proceedings of ISSAC 97, pp 241248, 1997
 (postal) mail:
Stéphane Dalmas
INRIA, projet SAFIR
BP 93
06902 Sophia Antipolis CEDEX
France
 phone/fax:
 phone
 + 33 (0)4 92 38 78 18
 fax
 + 33 (0)4 92 38 78 58
 secretary
 + 33 (0)4 92 38 77 90
 email:
stephane.dalmas@sophia.inria.fr
Stéphane Dalmas, last update on November 28th, 1998.