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