D. Harel and M. Politi, Modeling Reactive Systems with Statecharts: The STATEMATE Approach, (with M. Politi), McGraw-Hill, 1998.
(Early version titled: The Languages of STATEMATE, I-Logix, Inc., Andover, MA, 1991.)
This book is no longer in print at McGraw-Hill. It can be downloaded in its entirety here: Download Book
Chapter 1. Introduction
Chapter 2. The Functional View: Activity-Charts
Chapter 3. Information Elements
Chapter 4. The Behavioral View: Statecharts
Chapter 5. The Textual Expression Language
Chapter 6. The Semantics of Statecharts
Chapter 7. Connections Between the Functional and Behavioral Views
Chapter 8. Communication Between Activities
Chapter 9. The Structural View: Module-Charts
Chapter 10. Connections Between the Functional and Structural Views
Chapter 11. Splitting Up Charts
Chapter 12. Putting Things Together
Chapter 13. Scope and Resolution of Elements
Chapter 14. Generic Charts
Chapter 15. Related Approaches
Chapter 16. Transition to Design
Appendix B. Early Warning System Example: Functional Decomposition Approach
This book provides a detailed description of a comprehensive set of languages for modeling reactive systems. The approach is dominated by the language of Statecharts, which is used to describe behavior, combined with Activity-charts, which are used for describing the system's activities (i.e., its functional building blocks, capabilities, and objects) and the data that flows between them. These two languages are used to develop a conceptual model of the system, which can be combined with the system's physical, or structural, model described in our third language, Module-charts. These three languages are highly diagrammatic in nature, constituting full-fledged visual formalisms, complete with rigorous semantics. They are accompanied by a Data Dictionary for specifying additional parts of the model that are textual in nature.
The approach described here lies at the heart of the Statemate system, which the authors have helped design and build at I-Logix, Inc. since 1984. Statemate is most beneficial in requirements analysis, specification, and high-level design. In addition to supporting the modeling effort using the aforementioned language set, Statemate provides powerful tools for inspecting and analyzing the resulting models, via model execution, dynamic testing, and code synthesis.
This book discusses the modeling languages in detail, with an emphasis on the language of Statecharts, because it is the most important and intricate language in the set and the most novel. Statecharts are used to specify the behavior of activities, whether they represent functions in a functional decomposition or objects in an object decomposition. We describe the syntax in a precise and complete manner and discuss the semantics in a way that is intended to render the model's behavior clear and intuitive. Our presentation is illustrated extensively with examples, most of which come from a single sample model of an early warning system (EWS). Appendix B provides a summarized description of this model.
Whenever possible, we have tried to explain our motivation in including the various features of the languages. We also provide hints and guidelines on such methodological issues as decomposition criteria and the order in which charts are to be developed.
While we do provide a brief description of the Statemate system in Sec. 1.4, this book is not intended to be a user manual for it but, rather, a definitive description of its languages and a guide to their use. For more on Statemate's capabilities, we refer the reader to the documentation supplied by I-Logix, Inc.
This book should be of interest to a wide variety of systems developers
(both in software and hardware) and to teachers and students of software