Page 91 -
P. 91
6 What Software Engineering Has to Offer to Agent-Based Social Simulation 87
and interrelationships end in interactions. Hereby, a society model describes a
society based on its composition, type and rules (safety rules and liveness rules).
The central aspect of the agent model is a complex goal model. It also contains
a behaviour model composed of activities for achieving these goals, as well as
interactions with other agents and artefacts. The latter are specified using behaviour
and interactions. UML class and activity diagrams form the main means to express
those partial models. Developing the conceptual model further, simulation design is
given in a language that resembles elements of the Repast Simphony metamodel
and thus enables at least partial code generation. The case study used in Garro
and Russo (2010) to exemplify the use of easyABM is a logistics scenario using
simulation to test different management policies for vehicles stacking and moving
containers. easyABM is already characterised as a model-driven approach and
further developed towards MDA4ABMS (see below).
MAIA also focuses on conceptual modelling activities, yet social and society
aspects play a specifically central role capturing social phenomena. It guides
modelling institutions and social constructs based on a metamodel derived from the
Institutional Analysis and Development framework of Ostrom (2005) already used
in several agent-based simulation studies. The basic assumption is that social rules
and institutions are more easily accessible to modellers than capturing individual
behaviour. The MAIA metamodel is organised in five sub-models resembling
different aspects of the underlying framework (Ghorbani et al. 2013): (1) collective
structure with actors and their attributes; (2) constitutional structure with roles,
their dependencies and actions, institutional statements such as norms, shared
strategies, etc.; (3) physical structure; (4) operational structure focussing on system
dynamics; and (5) evaluation structure containing concepts to evaluate and validate
the outcomes of the system. In Ghorbani et al. (2014), these structures were
extended by formally grounded operational semantics. This makes the specification
given using the MAIA metamodel executable so that a runnable simulation can be
directly generated from it.
A purer methodology focussing on interactions is IODA (Kubera et al. 2011).
The starting point of this methodology is the identification of interactions that
simulated reactive agents exhibit with other agents as well as their simulated
environment.
Model-Driven Development
The basic idea of model-driven development is that software development may
consist of handling models of the intended software starting from a generic level
(Stahl et al. 2006). Specifications then can be (semi) automatically transformed into
more and more platform-specific representations, eventually generating code. Basi-
cally one can see this approach as the currently most formally grounded, controlled
evolution of software. Adapting this idea to ABSS means that based on a precise
formulation of the conceptual model subsequent, more and more concrete models
are elaborated until finally a version that is fully adapted to a particular simulation