Page 115 -
P. 115
6 What Software Engineering Has to Offer to Agent-Based Social Simulation 111
Fig. 6.8 Artificial lab class
definition [drawn with Visual
Paradigm]
scope table (Table 6.1). In the end we agreed that for our initial model, we will leave
it out but keep a record of it in the scope table as it might be something we want
to consider in the future. We then removed it from the final version of our sequence
diagram.
Defining the Artificial Lab
Finally we need to define an environment in which we can embed all our entities
and define some global functionality. We call this environment our “artificial lab”.
For the development of our artificial lab, we use a class definition as described in
Sect. 6.3.7. Within this class definition, we consider things like global variables
(e.g. to collect statistics), compound variables (e.g. to store a collection of agents
and objects) and global functions (e.g. to read/write to a file). We also need to make
sure that we have all variables in place to set the experimental factors and to collect
the responses we require for testing our hypotheses. We derive our class content
through focus group discussions. To inform these discussions, we need to look at
our list of objectives (see Sect. 6.3.3) and our scope table (see Sect. 6.3.4). The final
class definition should only contain key variables and functions. Figure 6.8 shows
the “Artificial Lab” class definition for our illustrative example. Variable names
including “[]” represent collection variables.