2). On first viewing, the topics are sorted by the date of the
most recent message about that topic. Users can click on the link Sort by date of
60 Model Programs
Figure 5.2. Newsreader Topics page in TitlesOnly mode.
Figure 5.3. Newsreader Messages page.
first message to sort topics in that order instead. From any of these pages, the user
can click on a topic title to see the list of messages about that topic (Figure 5.3; this
figure just shows the first message, the others appear when the user scrolls down).
From the message list, users can click on the group name link to return to the list of
Systems with Finite Models 61
topics. When they do, the topic list appears the same as when last seen; any previous
selections regarding message excerpts and sort order are still in effect.
5.3 Preliminary analysis
Writing a model program always begins with a preliminary analysis where we
decide on the purpose of the model, choose the features to include in the model,
select the level of abstraction, identify the actions, write some sample traces, and
identify the state variables.
During preliminary analysis we study the implementation. Depending on what is
available, we might study the implementation??™s requirements and design documents,
or inspect its API or its code. In this example, we just observe its behavior.
5.3.1 Decide on the purpose
Modeling is a goal-directed activity; every model program has a purpose.
Pages:
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101