At the same time I joined CNRS in Computer Science in
Gabrièle
Saucier's team where I worked on fault-tolerant architectures, in
particular
with Jacques Pulou who taught me most of my computer science. Here, I
met
Nicolas Halbwachs and we
worked together on formalisms for specifying timed systems. During this
work I understood the remarkable adequacy that existed between
data-flow
concepts and formalisms used in automatic control. This gave me the
idea
of a programming language which I called LUSTRE
(as an acronym for synchronous real-time Lucid).
Developed by Nicolas Halbwachs, this language is both an industrial and
scientific success and I am quite proud of this. This work and the
friendly support of Gérard
Berry led us to win the Monpetit
2004 prize of the Académie
des sciences.
I then spent a lot of time trying to understand what synchrony meant, particularly with Albert Benveniste. Meanwhile, I discovered Philip Wadler's papers on "listlessness"and "deforestation". I then understood that synchrony was also a mean of efficiently dealing with lazy evaluation in functional programming. This originated my present work with Marc Pouzet.
In parallel, thanks to Gabrièle Saucier, I was member of the
SACEM committee of the French "Ministère des transports" who
audited
the safety computing system of "RER A" Paris underground. I worked a
lot
for this committee and I think I found a good proof
for the safety process invented for this system by Philippe Forin from
"Matra-Transport". Since then I am considered an expert in this field
and,
for instance, I acted as a scientific advisor for the safety system of
the
Lyon underground.
Grenoble
15th October 2004