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-