Pandora: An HPC Agent-Based Modelling framework

Distributed Computing

Pandora is a framework designed to create, execute and analyse agent-based models in high-performance computing environments. It has been programmed to allow the execution of large-scale agent-based simulations, and it is capable of dealing with thousands of agents developing complex actions. The users can choose to develop their code in Python (for fast prototyping) or C++ (complex models). Interfaces of both versions are identical, and share the same C++ base code (assuring compatibility and efficiency).

Software Author: 

Xavier Rubio-Campillo

Contacte:

xavier [dot] rubio [at] bsc [dot] es

License: 

Pandora is currently being developed and published under a Free Software License.  You can download an unstable version of the code here: xrubio.github.io/pandora

Primary tabs

Pandora is designed to implement agent-based models and to execute them in high-performance computing environments. It has been explicitly programmed to allow the execution of large-scale agent-based simulations, and it is capable of dealing with thousands of agents developing complex actions.

Pandora has full Geographical Information System support, to cope with simulations in which spatial coordinates are relevant, both in terms of agent interactions and environment. The library also allows the researcher to execute several simulations by modifying initial parameters, as well as to distribute particular executions with high computer costs by using a computer cluster. As a result we will be able to run the simulation in a fraction of the time that would be needed if we were using a single computer.

The results of each simulation are stored in hierarchical data format (HDF), a popular format that can be loaded by most GIS. This feature is particularly useful, as we will also use GIS to analyse simulation results.

Pandora is complemented by Cassandra, a program developed to analyse the results generated by a simulation created with the library. Cassandra allows the user to visualize the complete execution of simulations using a combination of 2D and 3D graphics, as well as statistical figures.

Features of Pandora/Cassandra:

  • C++ Framework to develop, execute and analyse Agent-Based Models and Cellular Automata
  • Highly scalable parallel execution in High-Performance Computers, Clusters and PC's using MPI/OpenMP
  • Complete integration between environmental related data and agent behaviours.
  • GIS support using GDAL library
  • Capabilities for designing advanced distributed Artificial Intelligence agents.
  • Cassandra: an application designed to analyse simulations created with Pandora.
  • Support for loading simulation results in other GIS applications (GRASS, QGIS) and statistical packages (R project).