Page 89 -
P. 89

6 What Software Engineering Has to Offer to Agent-Based Social Simulation  85

              In general, the produced software is usually not used by the programmer.
            Sommerville (2016) states that the highest costs in a software project are associated
            with changing the software after it has gone into use. This can also be stated
            for simulation in general — not just when decisions have been taken supported
            by results of a simulation study or publications have been published presenting
            hypotheses and making statements based on the results of a simulation study.
            Discovering too late that the model contains artefacts or does actually not answer
            the question it should do can be embarrassing in the best case, deadly in the worst.



            Generic Processes

            Simulation engineering in general has set up a number of generic processes much
            on the abstraction level of general software engineering activities. Some process
            models are independent from the actual model paradigm. Basically every simulation
            textbook proposes a procedure that basically organises activities such as done in
            Law (2007), Shannon (1998) and Robinson (2004) or the stages of simulation-based
            research in Gilbert and Troitzsch (2005). Figure 6.1 shows a generic version of
            this process. This model development cycle starts with an explicit statement of the
            objective that is behind the simulation study undertaken, i. e. a formulation of the
            problem actually addressed. In a second step, the system is analysed; that means its
            basic components and their relations are determined. Reliable information and data
            sources are to be found for informing the different steps in the model development
            process. Based on this analysis, a conceptual model is specified elaborating the
            structure of the model, as well as the dynamics of all the interacting elements.
              The conceptual model is hereby particularly important, as it helps not just to
            understand the system under consideration but also to guide the subsequent phases
            by documenting the hypotheses taken. In the second part of this chapter, we will
            demonstrate an example approach in developing such a conceptual model. It is
            quite common — not just in our example — to elaborate the conceptual model
            from highly abstract descriptions of model elements and different points of view
            onto the model to a more and more concrete specification that can directly inform
            implementation.














            Fig. 6.1 Generic steps in a simulation study
   84   85   86   87   88   89   90   91   92   93   94