Page 86 -
P. 86

82                                               P.-O. Siebers and F. Klügl

            popularity, there is no standard way of addressing model development, simulation
            handling, etc. Many modellers are basically self-taught when it comes to processes
            and tools involved in designing and implementing an ABSS model. Developing
            an ABSS model is anything but a trivial endeavour given the conceptual depth,
            often unclear level of detail and complexities involved when handing software
            that contains more than one thread of control. Computer science — in particular
            software engineering — has developed a set of tools that enables following the so-
            called “formal” approach to system analysis, model design and implementation.
            Such elements of a systematic approach make different steps explicit as well as
            provide clear and precise languages to capture the concepts, content or assumptions
            of the model, documenting not just the final result but also intermediate steps. Such
            an approach is naturally used for model development if elements and processes
            of the targeted system are more or less accessible and empirically well embedded
            or assumptions to be taken are clear. In the terminology of Boero and Squazzoni
            (2005), this refers to a type of model more towards the case-based model side of the
            spectrum of models.
              Models on the other end — theoretical abstractions — are more associated with
            scientific endeavour of hypothesis building and testing. They consequently need a
            much more exploratory process. Nevertheless, scientific rigor requires a systematic
            procedure to ensure reproducible results, as also Norling et al. (2017) argue. Formal
            languages allow to clearly formulate what shall be contained in a model, which not
            only supports awareness in the overall development process but also facilitates more
            unambiguous communication between all involved partners, especially between
            the ones that implement the model and the rest of the group. Thus, exploratory
            modelling profits as formal approaches support the thoughtfulness of the modelling
            process. It helps to avoid model artefacts and supports sharing, reproducing and
            reusing the model. Eventually, the model is transformed into software, and applying
            software engineering supports the development of well-structured, understandable
            software that is easy to maintain and easy to extend.
              This chapter advertises formal tools for model conceptualisation, software
            development and project management as offered by software engineering. In the
            context of social simulation, these tools can either be used individually either to
            help with specific modelling activities or to guide the entire modelling process.
            The chapter consists of two parts: In the first part, we provide an overview
            of tools and techniques used in software engineering which have been used or
            suggested in a social simulation context. In the second part of this book chapter,
            we demonstrate with the help of an informative example how some of these tools
            can be combined into a structured framework that allows a more formal approach to
            model development. The informative example is based on a real-world study where
            we aimed to develop a simulation model with a multidisciplinary team to study
            different facets of normative comparison.
   81   82   83   84   85   86   87   88   89   90   91