Page 130 -
P. 130

7 Checking Simulations: Detecting and Avoiding Errors and Artefacts  127

            i.e. an agent-based model that can be run in a computer is not that different from the
            typical mathematical model. As a matter of fact, it is not difficult to formally charac-
            terise most agent-based models in a general way (Leombruni and Richiardi 2005).



            7.3.2 Design, Implementation, and Use of an Agent-Based
                   Model


            Drogoul et al. (2003) identify three different roles in the design, implementation, and
            use of a typical agent-based model: the thematician (domain expert), the modeller,
            and the computer scientist. It is not unusual in the field to observe that one single
            person undertakes several or even all of these roles. We find that these three roles fit
            particularly well into the framework put forward by Edmonds (2001) to describe the
            process of modelling with an intermediate abstraction. Here we marry Drogoul et
            al.’s and Edmonds’ views on modelling by dissecting one of Drogoul et al.’s roles
            and slightly expanding Edmonds’ framework (Fig. 7.3). We then use our extended
            framework to identify the different types of assumptions that are made in each of
            the stages of the modelling process, the errors and artefacts that may occur in each
            of them, and the activities that can be conducted to avoid such errors and artefacts.
            We start by explaining the three different roles proposed by Drogoul et al. (2003).
              Theroleofthe thematician is undertaken by experts in the target domain. They
            are the ones that better understand the target system and, therefore, the ones who
            carry out the abstraction process that is meant to produce the first conceptualisation
            of the target system. Their job involves defining the objectives and the purpose of
            the modelling exercise, identifying the critical components of the system and the
            linkages between them, and also describing the most prominent causal relations.
            The output of this first stage of the process is most often a non-formal model
            expressed in natural language, and it may also include simple conceptual diagrams,
            e.g. block diagrams. The non-formal model produced may describe the system using
            potentially ambiguous terms (such as learning or imitation, without fully specifying
            how these processes actually take place).
              The next stage in the modelling process is carried out by the role of the modeller.
            The modeller’s task is to transform the non-formal model that the thematician
            aims to explore into the (formal) requirement specifications that the computer
            scientist—the third role—needs to formulate the (formal) executable model. This
            job involves (at least) three major challenges. The first one consists in acting as
            a mediator between two domains that are very frequently fundamentally different
            (e.g. sociology and computer science). The second challenge derives from the fact
            that in most cases, the thematician’s model is not fully specified, i.e. there are
                                                  3
            many formal models that would conform to it. In other words, the formal model
            created by the modeller is most often just one of many possible particularisations

            3 Note that the thematician faces a similar problem when building his non-formal model. There are
            potentially an infinite number of models for one single target system.
   125   126   127   128   129   130   131   132   133   134   135