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.
   110   111   112   113   114   115   116   117   118   119   120