Chapter 10. State Diagrams

State Diagrams

UML has a very rich set of notations for describing finite state machines (FSMs). We'll look at the most useful bits of that notation in this chapter. FSMs are an enormously useful tool for writing all kinds of software. I use them for GUIs, communication protocols, and any other type of event-based system. Unfortunately, I find that too many developers are unfamiliar with the concepts of FSMs and are therefore missing many opportunities to simplify. I'll do my small part to correct that in this chapter.

The Basics

Figure 10-1 shows a simple state transition diagram (STD) that describes a finite state machine that controls ...

Get UML FOR JAVA™ PROGRAMMERS 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.