Abstract:
We present a broad extension of the conventional formalism of state machines and state diagrams, that is relevant to the specification and design of complex discrete-event systems, such as multi-computer real-time systems, communication protocols and digital control units. Our diagrams, which we call statecharts, extend conventional state-transition diagrams with essentially three elements, dealing, respectively, with the notions of hierarchy, concurrency and communication. These transform the language of state diagrams into a highly structured and economical description language. Statecharts are thus compact and expressivesmall diagrams can express complex behavior--as well as compositional and modular. When coupled with the capabilities of computerized graphics, statecharts enable viewing the description at different levels of detail, and make even very large specifications manageable and comprehensible. In fact, we intend to demonstrate here that statecharts counter many of the objections raised against conventional state diagrams, and thus appear to render specification by diagrams an attractive and plausible approach. Statecharts can be used either as a stand-alone behavioral description or as part of a more general design methodology that deals also with the system's other aspects, such as functional decomposition and data-flow specification. We also discuss some practical experience that was gained over the last three years in applying the statechart formalism to the specification of a particularly complex system.
Citations
|
2751
|
Communicating sequential processes
– Hoare
- 1978
|
|
1077
|
A Calculus for Communication Systems
– Milner
- 1980
|
|
814
|
The temporal logic of programs
– Pnueli
- 1977
|
|
481
|
Nets: an Introduction
– Petri
- 1985
|
|
459
|
On the Formal Semantics of Statecharts
– Harel, Pnueli, et al.
- 1987
|
|
260
|
On the development of reactive systems
– Harel, Pnueli
- 1985
|
|
242
|
Automatic verification of finite state concurrent systems using temporal logic specifications: A pratical approach
– Clarke, Emerson, et al.
- 1983
|
|
189
|
Introduction to Automata Theory
– Hopcroft, Ullman
- 1979
|
|
140
|
Statecharts: A visual approach to complex systems
– Harel
- 1984
|
|
85
|
Structured Analysis (SA): A Language for Communicating Ideas
– Ross
- 1977
|
|
75
|
The ESTEREL synchronous programming language and its mathematical semantics
– Berry, Cosserat
- 1985
|
|
57
|
The transformation schema: An extension of the data flow diagram to represent control and timing
– Ward
- 1986
|
|
41
|
Extending state transition diagrams for the specification of human-computer interaction
– Wasserman
- 1985
|
|
38
|
On the use of transition diagrams in the design of a user interface for an interactive computer system
– Parnas
- 1969
|
|
28
|
Using formal specifications in the design of a human-computer interface
– Jacob
- 1983
|
|
17
|
A Distributed Alternative to Finite-State-Machine Specifications
– Zave
- 1985
|
|
11
|
Pictures of programs and other processes, or how to do things with lines, Behavior Inform
– Green
- 1982
|
|
9
|
Temporal logic specification of distributed systems
– Schwartz, Melliar-Smith
- 1981
|
|
4
|
The synthesis of digital systems using ASM design techniques, in
– Edwards, Aspinall
- 1983
|
|
4
|
Higher order software--A methodology for defining software
– Hamilton, Zeldin
- 1976
|
|
4
|
Computer Networks (Prentice-hall
– Tanenbaum
- 1981
|
|
3
|
System Development Prentice-Hall
– Jackson
- 1983
|
|
1
|
Using statecharts for describing th0 communication between complex systems
– Bar-Tur, Drusinsky, et al.
- 1986
|
|
1
|
Using statecharts for hardware description
– Drusinsky, Harel
- 1985
|
|
1
|
Transition diagram.based CAI/HELP systems
– Feyock
- 1977
|
|
1
|
A visual formalism and its applications
– Morel
|
|
1
|
in Hebrew
– Kahana, Thesis, et al.
- 1986
|
|
1
|
et al., Specification and verification of communication protocols in AFFIRM using state transition models
– Sunshine
- 1982
|
|
1
|
Transition network grommets for natural language analysis
– Woods
- 1970
|