ABSTRACT
This paper is a highly personal and subjective account of how the language of statecharts came into being. The main novelty of the language is in being a fully executable visual formalism intended for capturing the behavior of complex real-world systems, and an interesting aspect of its history is that it illustrates the advantages of theoreticians venturing out into the trenches of the real world, "dirtying their hands" and working closely with the system's engineers. The story is told in a way that puts statecharts into perspective and discusses the role of the language in the emergence of broader concepts, such as visual formalisms in general, reactive systems, model-driven development, model executability and code generation.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
| |
1
|
{BHM04} D. Barak, D. Harel and R. Marelly, "InterPlay: Horizontal Scale-Up and Transition to Design in Scenario-Based Programming", Lectures on Concurrency and Petri Nets (J. Desel, W. Reisig and G. Rozenberg, eds.), Lecture Notes in Computer Science, Vol. 3098, Springer-Verlag, 2004, pp. 66--86.
|
| |
2
|
{B+03} A. Benveniste, P. Caspi, S. A. Edwards, N. Halbwachs, P. Le Guernic and R. de Simone, "The Synchronous Languages Twelve Years Later", Proc. of the IEEE <b>91</b> (2003), 64--83.
|
| |
3
|
{BG90} A. Benveniste and P. Le Guernic, "Hybrid Dynamical Systems Theory and the Signal Language", IEEE Trans. on Automatic Control, AC-<b>35</b> (1990), 535--546.
|
| |
4
|
|
| |
5
|
|
| |
6
|
|
 |
7
|
P. Caspi , D. Pilaud , N. Halbwachs , J. A. Plaice, LUSTRE: a declarative language for real-time programming, Proceedings of the 14th ACM SIGACT-SIGPLAN symposium on Principles of programming languages, p.178-188, January 21-23, 1987, Munich, West Germany
[doi> 10.1145/41625.41641]
|
 |
8
|
|
| |
9
|
|
| |
10
|
|
 |
11
|
|
| |
12
|
{EHC03} S. Efroni, D. Harel and I. R. Cohen, "Towards Rigorous Comprehension of Biological Complexity: Modeling, Execution and Visualization of Thymic T Cell Maturation", Genome Research <b>13</b> (2003), 2485--2497.
|
| |
13
|
|
| |
14
|
{EHC07} S. Efroni, D. Harel and I. R. Cohen, "Emergent Dynamics of Thymocyte Development and Lineage Determination", PLOS Computational Biology <b>3:</b>1 (2007), 127--136.
|
| |
15
|
{HZ76} M. Hamilton and S. Zeldin, "Higher Order Software: A Methodology for Defining Software", IEEE Transactions on Software Engineering <b>SE-2</b>:1 (1976), 9--36.
|
 |
16
|
|
| |
17
|
{H84&87} D. Harel, "Statecharts: A Visual Formalism for Complex Systems", Science of Computer Programming <b>8</b> (1987), 231--274. (Preliminary version: Technical Report CS84--05, The Weizmann Institute of Science, Rehovot, Israel, February 1984.)
|
 |
18
|
|
| |
19
|
|
| |
20
|
|
 |
21
|
|
| |
22
|
{HK04} D. Harel and H. Kugler, "The Rhapsody Semantics of Statecharts (or, On the Executable Core of the UML)", Integration of Software Specification Techniques for Applications in Engineering, (H. Ehrig et al., eds.), Lecture Notes in Computer Science, Vol. 3147, Springer-Verlag, 2004, pp. 325--354.
|
| |
23
|
|
| |
24
|
D. Harel , H. Lachover , A. Naamad , A. Pnueli , M. Politi , R. Sherman , a. Shtul-Trauring, Statemate: a working environment for the development of complex reactive systems, Proceedings of the 10th international conference on Software engineering, p.396-406, April 11-15, 1988, Singapore
|
| |
25
|
|
 |
26
|
|
| |
27
|
|
| |
28
|
{HPSR87} D. Harel, A. Pnueli, J. Schmidt and R. Sherman, "On the Formal Semantics of Statecharts", Proc. 2nd IEEE Symp. on Logic in Computer Science, Ithaca, NY, 1987, pp. 54--64.
|
| |
29
|
{HP91} D. Harel and M. Politi, The Languages of STATEMATE, Technical Report, I-Logix, Inc., Andover, MA (250 pp.), 1991.
|
| |
30
|
|
| |
31
|
|
| |
32
|
|
| |
33
|
{HKSP78} K. L. Heninger, J. W. Kallander, J. E. Shore and D. L. Parnas, "Software Requirements for the A-7E Aircraft", NRL Report 3876, November 1978, 523 pgs.
|
| |
34
|
John E. Hopcroft , Rajeev Motwani , Jeffrey D. Ullman, Introduction to Automata Theory, Languages, and Computation (3rd Edition), Addison-Wesley Longman Publishing Co., Inc., Boston, MA, 2006
|
| |
35
|
|
| |
36
|
{I-L} I-Logix, Inc. Products Web page, http://www.ilogix.com.
|
| |
37
|
|
| |
38
|
|
| |
39
|
|
| |
40
|
{MS88} K. Misue and K. Sugiyama, "Compound graphs as abstraction of card systems and their hierarchical drawing," Inform. Processing Soc., Japan, Research Report 88-GC-32-2, 1988, (in Japanese).
|
| |
41
|
|
| |
42
|
|
| |
43
|
|
| |
44
|
James Rumbaugh , Michael Blaha , William Premerlani , Frederick Eddy , William Lorensen, Object-oriented modeling and design, Prentice-Hall, Inc., Upper Saddle River, NJ, 1991
|
| |
45
|
{SeCH06} Y. Setty, I. R. Cohen and D. Harel, in preparation, 2006.
|
| |
46
|
{SM91} K. Sugiyama and K. Misue, "Visualization of Structural Information: Automatic Drawing of Compound Digraphs", IEEE Trans. Systems, Man and Cybernetics <b>21:</b>4 (1991), 876--892.
|
| |
47
|
{SwCH06} N. Swerdlin, I. R. Cohen and D. Harel, "Towards an in-silico Lymph Node: A Realistic Approach to Modeling Dynamic Behavior of Lymphocytes", submitted, 2006.
|
| |
48
|
|
| |
49
|
|
| |
50
|
|
|