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
   86   87   88   89   90   91   92   93   94   95   96