ICITIES Informe resumido

Large-scale agent-based simulation environment

We have built a simulation environment for large-scale agent-based simulation. First of all, the simulation environment facilitates implementing simulation models by means of reuse of software components. Second, it allows running a series of simulation experiments with different models, different model parameters and different implementations of particular components using a specification mechanism (SM). Third, large-scale simulation is supported through parallel execution on clusters of workstations. For each new model, there are two components that need to be implemented. The first is called agent collections and landscape elements, which scales to hundreds of thousands of agents. Collections of agents and landscape elements can be distributed over a set of workstations, giving way for large-scale parallel simulation.

Designing a software component for these distributed collections is supported by a library of convenient primitives. The second is called worker, which is configured from a set of behavioural components to implement the behaviour of agent collections. During parallel simulation, there are several workers each simulating its partition of agents. These two components for the time being need programming skill. One can have different implementations of those components for the same model. The SM for component dependencies, output channels, and simulation input parameters are used to configure the experiment. The structures of the SM are simple to write. The problem is the analysis and visualization of the output data. The most useful approach is to use one of the available commercial packages, e.g., MATLAB. The simulation environment has also a provision for specifying the models by means of a behaviour language for agent-based simulation. A model specification, consisting of descriptions of agents and their behaviours, and of the landscape where agents reside, could be compiled into the data collection modules and worker modules, using libraries provided by the simulation environment.