This more reactive approach made it
ideal for the robotics project, but also
avionics, in which a plane and its pilot
have to react quickly to changing conditions. What were some of the first applications?
We started working with Dassault
Aviation, which was building the Ra-fale fighter jet. Also, people in Bell Labs
started using it for communications
protocols. Robotics engineers began
using it, too. In the 1990s, I discovered
that by building Esterel into circuits in
a smart way, I could also improve their
design and synthesis. In 2000, we created a company, Esterel Technologies,
for both hardware and software.
What was it like to shift from the aca-
demic world to industry?
In fact, I was always in close contact
with industry as a consultant. What I
like about industry is that you can have
a much stronger team, because people
don’t have their own research to publish; you can concentrate absolutely on
the software activity block. I could never have done Esterel v7 [the latest ver-sion] in research. It was just too hard.
After the company was sold, you ac-
cepted a position at Collège de France,
where you remain today. Has the return
to academia been a drastic change?
Collège de France is an ideal place.
It’s a little like the Institute of Ad-
vanced Studies at Princeton, except
here we are teaching all subjects. I also
like this idea of changing worlds, being
confronted with different subjects, and
working with different super-brilliant
people. I love trying to understand how
they see the world. Building an air-
plane or a circuit, composing music—
it doesn’t look the same, but somehow
it is the same.
Still, you have also found time to start
working in diffuse programming
through HipHop, the language you’re
developing with Manuel Serrano. How
does HipHop work?
Let’s say you want to have a music
player that you don’t tell very much and
it plays interesting music. For example,
you type “Miles Davis,” and the system
will go look on the Web for MP3s, free
music, the most popular songs, friends
of Miles Davis. In the background it
gathers and processes information
from a lot of websites, many of which
are broken. What you want is good
music and not having the same thing
played twice, so what you need is an
orchestrator, a conductor. We have a
language, Hop, that’s able to gather
information on the Web very nicely.
But on the Web, things keep changing.
Sites give you other things, like pictures, scores, bios, etc. HipHop says,
“OK, let’s try to make something sensible out of the new information now
So it is similar to Esterel in that it is
dealing with changes over time and
responding to new inputs or new infor-
But with a big difference. The car
has a fixed number of wheels. The airplane has a fixed number of wings. On
the Web, you never know. We think it’s
a very interesting field, mixing completely asynchronous stuff on the Web
with a synchronous approach like Esterel. It’s like a dynamic orchestra, with
musicians coming in, playing with the
others or leaving in the middle of the
performance. You need the conductor
for those musicians to play together.
The concept of Esterel is still alive and
well in your research, then.
This idea that started from a little
race car now has many more uses.
And that’s what I like about science.
A good idea can be much better than a
Gregory Mone is a Boston, MA-based writer and the
author of the novel Dangerous Waters.
© 2014 ACM 0001-0782/14/12 $15.00
mathematics of programming. In 1982 I was
in an interdisciplinary lab and started
working with people in control theory
and electronics. My colleagues were
in the process of building a miniature
autonomous robotic car for a competition, and based on what I knew
about programming, the current languages were completely incapable of
creating programs for this car.
Why is that?
Because they didn’t deal with time
and events. Dealing with time was
mostly with how long it takes to compute what we have to do, not with the
proper time of the controlled process.
So I had the idea of simplifying real-time programming by saying it would
be much better if a computer was infinitely fast; it could react in zero time.
So then the next question was how
would you program an infinitely fast
computer? This was the beginning of
the Esterel Language.
But computers are not infinitely fast.
Especially not in the early 1980s.
People told me this was nonsense;
computers take time. I said, “You
need to be more clever than that. You
don’t have to be as fast as possible.
You just have to be as fast as the process you want to control.” We worked
on it for several years, and we discovered that this whole hypothesis of being infinitely fast both simplified programming and helped us to be faster
than others, which was fun.
“I also like this idea
of changing worlds,
being confronted with
and working with
[CONTINUED FROM P. 120]
“We discovered that
this whole hypothesis
of being infinitely
fast both simplified
and helped us
to be faster
which was fun.”