Page 90 -
P. 90

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

              Depending on the tools used for implementation, the production of an executable
            and thus “simulate-able” representation of the model is achieved as output of
            the next phase. This phase also usually happens in an iterative way, either by
            adding more and more details to the model implementation or by fast prototyping
            and adapting. In the last phase, the model is deployed and experimented with
            to generate the intended results, which are then documented and used. Each
            of the model representations produced in the different phases must sufficiently
            correspond to the original system (validation); this is ensured by testing the models
            individually and by verifying that one representation is sufficiently related to the
            other. Figure 6.2 (presented in Sect. 6.3.1) is elaborating this process towards ABSS
            model development. The focus of this chapter is on these earlier steps of a full study,
            only indicating how implementation can be achieved and largely omitting running
            experiments and analysing produced data.
              One can also find similar suggestions for structured procedure when developing
            a simulation study in ABSS. An example is Drogoul et al. (2003). They give
            more specific detail about types of knowledge and roles of different human experts
            involved. Activities are more detailed with respect to domain model (real agents),
            design model (conceptual agents) and operational model (computational agents).
              Using the similarity of tools and languages applied to model the conceptual views
            on software systems consisting of multiple agents and system analysis and model
            development in ABSS, there are a number of suggestions to extend methodologies
            developed for agent-oriented software engineering (AOSE). One can see AOSE
            as an extension of object-oriented software engineering addressing the specific
            problems that arise when developing multi-agent systems; for an overview of
            different methodologies, see Bergenti et al. (2004) and Gomez-Sanz and Fuentes-
            Fernandez (2015). Winikoff and Padgham (2013) give a good introduction into the
            general principles of AOSE. One of the earliest AOSE methodologies that have been
            used to develop agent-based simulations was INGENIAS (Gomez-Sanz et al. 2010).



            Specific Processes for ABSS

            Also detailed, formal methodologies that are specific for developing ABSS models
            have been proposed. Two examples proposing approaches similarly structured to
            AOSE methodologies are easyABM (Garro and Russo 2010) and MAIA (Ghorbani
            et al. 2013).
              easyABM assumes different phases from system analysis, conceptual system
            development, simulation design and code generation to simulation setup, execution
            and results analysis. Particularly elaborated is the conceptual system modelling
            phase consisting of the development of different partial models that capture
            relevant views onto the model. An overall metamodel is provided for the different
            aspects that provides clear high-level language concepts and their relations. The
            structural system model contains sub-models for each component, determining its
            abstraction level. The main components are society (composed), agents (active) and
            artefacts (passive, resource manager). An interaction model describes how intra-
   85   86   87   88   89   90   91   92   93   94   95