David Harel

Digital Library

ACM Software System Award

Israel - 2007

Statemate

citation

For Statemate, the first embodiment in a commercial computer-aided software engineering tool of a rigorous approach to model-driven development based on statecharts, and employing techniques for the executability of visual formalisms, and for code-generation.

Statemate was designed and built between 1984 and 1986 by a team composed of David Harel, Hagi Lachover, Amnon Naamad, Amir Pnueli, Michal Politi, Rivi Sherman, Mark Trakhtenbrot, and Aron Trauring at Ad Cad, Ltd., which later became the R&D division of I-Logix, Inc. It has been available continuously since then in several increasingly sophisticated versions.

Statemate had a fundamental impact on software and systems engineering. The ideas first appearing in Statemate underlie today's most powerful and most widely used tools in software and systems engineering. Before Statemate, graphical design notations supported by CASE (computer-aided software engineering) tools did not have formal foundations, could not execute models, and could not generate code that ran. They were like programming language environments without compilers and interpreters.

In 1983, David Harel developed statecharts, a graphical language for finite-state machines. The language provided natural and easy-to-grasp abstraction features, such as hierarchy, parallelism, and aggregation, which facilitate human understanding of complex system behavior. Harel and Pnueli then identified the class of reactive systems, for which such behavioral aspects were most problematic. Reactive systems include concurrent and real-time systems, embedded systems, and interactive systems. Statecharts proved to be the right notation to model them.

In early 1984, Harel, Lachover, and Pnueli, together with Ido Lachover, co-founded Ad Cad, Ltd., to build a CASE tool supporting statecharts. One of the group's first tasks was to figure out how to embed statecharts into a broader framework that would capture the structure and functionality of a large complex system. They devised two more diagrammatic languages: activity charts, to specify functionality, and module charts, to specify structure.

The first version of Statemate was operational in 1986. A Statemate user could draw a model's artifacts, check and analyze them, produce documentation, and manage their configurations and versions. Most importantly, Statemate could execute the model's functional and behavioral descriptions and could automatically generate executable code.

Statemate was the first real-world tool for model-driven system development (MDD). In the 1990s, statecharts were incorporated into the Unified Modeling Language (UML), the industry-standard language for specifying, visualizing, constructing, and documenting the artifacts of software systems, and the basis for many recent CASE tools.

ACM Fellows

Israel - 1994

citation

A brilliant expositor, he has exposed laymen to deep computer science concepts through his widely acclaimed book Algorithmics, the Spirit of Computing (1987) and through numerous lectures to a variety of audiences. His work on Israeli national councils and ministerial committees is profoundly influencing curricula at both the high-school and university level.

ACM Karl V. Karlstrom Outstanding Educator Award

Israel - 1992

citation

A brilliant expositor, he has exposed laymen to deep computer science concepts through his widely acclaimed book Algorithmics, the Spirit of Computing (1987) and through numerous lectures to a variety of audiences. His work on Israeli national councils and ministerial committees is profoundly influencing curricula at both the high-school and university level.

Dr. Harel, who works in computability and complexity, program logics, database theory and system specification, has been called that "rare animal: the well- respected researcher who is able to communicate the essence of his work to a lay audience." He has used this ability throughout his career to promote computer science and computer science education.

In 1984-85, he delivered a widely acclaimed series of popular lectures on the fundamentals of computer science on an Israeli national radio channel. In the past ten years, he has given over 350 lectures of a popular and expository nature, explaining to people from all field the essence of topics such as system design, algorithms, computational complexity, NP-completeness, cryptography and undecidability.

Dr. Harel has devoted a great deal of his time to furthering computer science education. He has served as the youngest member of the Israeli National Council of Higher Education. He is a force on the Israeli Ministry of Education Committee on Computer Science, which is preparing a completely new curriculum for high-school computer science studies. And he has been instrumental in the development of new courses at the Open University of Israel.

Dr. Harel's crowning educational achievement is his book Algorithmics, the Spirit of Computing (1987), an exposition for the lay reader of the fundamental concepts of computer science. Without sacrificing intellectual integrity, Algorithmics conveys to the general reader basic notions of algorithms and their analysis, computability and complexity, probabilistic algorithms, concurrency, cryptography, and other important areas of computer science. Algorithmics is helping the world to reach a better understanding of computer science.