Page 92 -
P. 92
88 P.-O. Siebers and F. Klügl
platform is achieved. The above-described specific methodologies for developing
ABSS models, MAIA and easyABM, can be seen as first steps towards model-
driven development methodologies. Garro et al. (2013) introduce MDA4ABMS
as a complete model-driven approach proposing clearly defined metamodels for
each of the major phases of development. There are ABSS-specific metamodels
on different levels of abstraction starting from a computation-independent model
(CIM) on a conceptual level, platform-independent models (PIM) with more specific
architectural and behavioural details to a platform-specific model (PSM) towards
realisation for a specific software platform. MDA4ABMS gives also guidelines and
rules for the transition between the different phases of development — making
even partially automatic transformation possible. The process is exemplified with
an extended prisoner dilemma model.
Such methodologies clearly define what elements a system analysis needs
to contain — underlying metamodels create a particular awareness behind the
conceptualisation. The assumption is that — if the original system is analysed
sufficiently thoroughly and the results of this analysis written down in a sufficiently
clear way — the simulation model can be communicated and implemented without
uncertainties. The critical activity is developing a conceptual model. The formal
elements of the methodologies shall sharpen the way the modeller looks onto the
system and guide overall model formulation in a reliable way even for models in
which the individual agents exhibit complex behaviour. Model-driven development
works best in combination with domain-specific languages (DSLs) that provide
abstractions specific for a given application domain. Beyond taking an ABSS-
specific language as a DSL, there are not many other specific languages yet. The
metamodels mentioned above actually provide DSLs for ABSS with a particular
perspective in mind. MAIA focuses more on institutions, easyABM more on the
complex goal-directed behaviour of individual agents. Franchi (2012) proposed a
specific language for agent-based social network modelling. Scherer et al. (2015)
describe a model-driven approach for conceptual modelling phases specific for the
public policy domain. Their toolset supports a semiautomated transformation of
conceptual model representations to formal policy models and then to executable
simulations of different scenarios. Their conceptual model is systematically derived
from narrative texts. The conceptual model representation at the centre of their
approach is specific for public policy development process. This adaptation to the
policy domain makes the overall process particularly suitable for involving different
stakeholder groups.
Agile Approaches
Such structured methodologies seem to resemble more classical waterfall type of
software engineering approaches. Knublauch (2002) reports experiences with using
extreme programming as a more modern, agile approach to develop agent-based
software. Extreme programming (Beck 2004) is more like a collection of best
practices and principles such as “on-site customer” resulting in daily contacts with