Symposium on Software, Science and Society

Department of Computer Science and Engineering

Friday, December 5, 2003




DICK'S ACCOUNT of CSE's early history

DIRECTIONS to World Forestry Center, 4033 S.W. Canyon Road, Portland, Oregon, including MAX information. Event is in Cheatham Hall.



Friday, December 5, 2003
Cheatham Hall • World Forestry Center • Portland, Oregon

Esterel Technologies

Gérard Berry graduated from Ecole Polytechnique in 1970 and Corps de Mines in 1973. He started research in Computer Science at INRIA and Ecole des Mines de Paris, first in Paris and then in Sophia-Antipolis.

From 1975 to 1983, he worked on the syntax and semantics of the lambda-calculus, getting his Thèse de doctorat d'Etat 1n 1979. In 1983, he switched to the design, semantics, implementation, and verification of embedded programs and circuits. With his team, he developed the synchronous computation model and the Esterel synchronous programming language, implemented initially in software and then also directly in hardware. The academic development of Esterel and of the associated optimization and verification tools was conducted in partnership with several laboratories (IMAG, Berkeley, TIFR India) and industrial companies (Dassault Aviation, Synopsys, Cadence, Intel). In 2001, Gérard Berry joined the Esterel Technologies company as Chief Scientist. He became Member of Académie des Sciences in 2003.

See the company and detailed personal web pages at


Embedded computerized systems are now ubiquitous, in a very wide range of applications: transportation, consumer electronics, telecommunication, etc. Embedded computing has long been technically quite separate from mainstream computing, since the applications were small and did not use the same processors and programming technology. The situation is rapidly changing, because embedded systems now use fancy System on Chips circuits and very large software codes. The embedded field is driven by particularly strong reliability constraints. Transportation systems are often subject to certification by independent authorities, which call for specific development and validation techniques. Systems on Chips are very difficult to debug and get right, and they are very hard to fix when released. Altogether, verification has become the bottleneck for embedded systems, with cost up to 70% of the total cost.

The only way to reduce cost and increase time-to-market is to use better design, development, and verification environments. Fortunately, many embedded systems have functions that do not require the most general Turing-complete computation model but can be performed using much better-understood specific models: data-flow networks, finite state machines, synchronous circuits, etc. It is now possible to use specific languages that have very clean formal semantics, code generation techniques that give good practical results, and formal verification algorithms that scale to real applications.

We illustrate this by the case of synchronous languages, such as Esterel for control-heavy software and hardware designs and Lustre / SCADE for data-flow synchronous control. These languages have clean mathematical semantics, efficient implementation, and support for-real formal verification. They are now used in large industrial applications ranging from Airbus flight- and equipment-control programming to efficient synthesis and validation of VLSI components.

This new industrial trend to care about better-defined programming languages, compilers, and program analysis systems owes much to the research done in the last decades in the Computer Science domain, of which Richard Kieburtz is a very distinguished pionner.