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