Page 95 -
P. 95

6 What Software Engineering Has to Offer to Agent-Based Social Simulation  91

            Algebraic Specification Languages

            Besides formal logics, there are many languages that can be used for describing
            agent-based software as well as ABSS models. d’Inverno and Luck (2001), for
            example, used the algebraic specification language Z for formally describing
            different multi-agent systems and their features for clarifying and understanding
            the core concepts. There are a lot of approaches for formalising particular aspects,
            such as architectures, organisations, etc. Examples that are relevant as they not
            just cover agents in isolation are Weyns and Holvoet (2004) and Helleboogh et al.
            (2007). The language used there are more or less formal algebraic but less structured
            than, for example, Z. However, the contents are particularly interesting as they show
            how interactions between agents and between agents and their environment can be
            captured in a precise and unambiguous way. They also demonstrate on what level
            of detail a fully clear specification would need to be given.



            Petri Nets

            Another example of a formal language that has been used for specifying multi-agent
            systems on different levels of aggregation are Petri nets. Köhler et al. (2007)show
            how social theories can be formalised using this graphical language of “places”
            and “transitions” with “tokens” traveling through the network. A place may hold
            tokens, while a transition transports tokens from one place to another on a strictly
            local basis. In computer science, Petri nets form an established modelling tool for
            concurrent, interacting processes and their synchronisation. They are amendable for
            theoretical analysis, but their overall state changes — when becoming too complex
            for analysis — can also be simulated as places and transitions have a clearly given
            semantics. For expressing agent interaction and behaviour, complex token structures
            are needed to actually represent a network on their own.


            Object-Oriented Simulation and DEVS

            In the object-oriented simulation community, formal specification languages have
            been invented and found wide dissemination. The most prominent example is DEVS
            (Discrete EVent system Specification) initially introduced by Zeigler (1990), a
            specification language for object-oriented simulation models that is based on notions
            from general systems science. Initially restricted to discrete event modelling and
            simulation, meanwhile it is seen as a more general approach that can also be used for
            continuous systems. An atomic model consists of a description of the input, state and
            output variables, a specification of which value combinations of input variables are
            fed into the running simulation (“input segment”), transition functions for updating
            state and output variables, as well as a time advance function that characterises how
            time is updated. Atomic models can be aggregated to composed models. Due to its
            generality, DEVS was advertised for use in ABSS by Duboz et al. (2006). Hocaoglu
   90   91   92   93   94   95   96   97   98   99   100