Chapter 8. Finite State Machines and Statecharts for Software Product Lines

Finite state machines are used for modeling the control and sequencing view of a system. Many systems, such as real-time systems, are highly state-dependent. That is, their actions depend not only on their inputs but also on what has previously happened in the system. Notations used to define finite state machines are the state transition diagram, statechart, and state transition table. In highly state-dependent systems, these notations can help substantially by providing a means of understanding the complexity of these systems.

In the UML notation, a state transition diagram is referred to as a statechart diagram. The UML statechart diagram notation is based on Harel's ...

Get Designing Software Product Lines with UML: From Use Cases to Pattern-Based Software Architectures now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.