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.