Doi: 10.1145/1467247.1467265

How avionics work led to a graphical language
for reactive systems where the diagrams
themselves define the system’s behavior.

BY DaViD haReL
statecharts
in the making:
a Personal
account
WRitinG a hiStoRiCal
paper about something you

yourself are heavily involved in is clearly difficult; the result is bound to be personal and idiosyncratic and might well sound presumptuous. I thus viewed an invitation to write about statecharts for the third History of Programming languages conference in 2007 as an opportunity to put the language in a

 

broader perspective. 6 The present article is a greatly abridged version of the resulting conference paper. The implicit claim is that the emergence of the language brought to the forefront a number of ideas that today are central to software and systems engineering, including the general notions of visual formalisms, reactive systems, model-based development, model executability, and full code generation.

In 1979 I published a paper on a tree-like language based on the idea of alternation called “And/Or Programs,” 18 prompting Jonah Lavi of Israel Aircraft Industries (IAI) to contact me. We met in late 1982, at which time I’d been on the faculty of the Weizmann Institute of Science for two years. Lavi, who was a meth-

odologist responsible for evaluating and recommending software engineering methods and tools at IAI, described some problems IAI avionics engineers were having. This was part of the massive effort then under way to build a fighter aircraft, the Lavi (no connection with Jonah’s surname). Following that meeting, I began consulting at IAI on a one-day-a-week basis, and for several months Thursday became my IAI day.

The first few weeks were devoted to trying to understand the general issues from Lavi. Then it was time to be exposed to the details of the project and its specific difficulties, since I hadn’t yet met the project’s engineers. For several weeks, I spent my Thursdays with Lavi’s assistant, Yitzhak Shai, and a select group of

References:

Archives