Angela Brooks UML has a rich set of notations for describing finite state machines (FSMs). In this chapter, we'll look at the most useful bits of that notation. 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. |