A run is a sequence of state transitions, so any run can
define an FSM. But a run is an ordered collection, while an FSM is unordered. It
is not necessary to order the FSM because each transition identifies its current and
next states.
An FSM can be represented by a state transition table or a state transition diagram.
Table 6.1 shows the state transition table that represents the FSM for the successful
simulation run of Chapter 5, Section 5.5:
ShowTitles(); SortByFirst(); SortByMostRecent(); ShowText();
We simply enter a row in the table for each transition in the run, filling in the states
and the method calls from the output of the run. An FSM is an unordered collection,
so we can put the rows in any order we like. In our tables, we always put the
transitions that begin in the initial state in a separate section at the top of the table,
separated by a double line. After that, we put all transitions that begin in the same
state together in the table. These are just conventions that make the table easy to
read; any other order would express the same FSM. Often, rows in our tables appear
in a different order than that in which the transitions occur in our example runs.
96 Exploring and Analyzing Finite Model Programs
Topics
WithText
ByMostRecent
Topics
TitlesOnly
ByMostRecent
ShowTitles()
ShowText()
Topics
TitlesOnly
ByFirst
SortByFirst()
SortByMostRecent()
Figure 6.
Pages:
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145