EcoLab is both the name of a software package and a research project that is looking at the dynamics of evolution.

EcoLab the software package is now a fairly complete agent-based simulation system, with the following features:

  • The model is implemented as a C++ object. Support for more advanced data structures and algorithms are available through C++'s standard library.
  • A scripting language TCL can access the model’s methods and instance variables, allowing experiments to be set up dynamically at runtime
  • The model can be run in GUI mode through the use of Tk and BLT widgets. Various graphs and histogramming tools are available for use.
  • The same model can be run in batch mode by using a different script
  • The model can be probed dynamically with the object browser
  • The model can be saved to a checkpoint file, or transferred periodically over a socket connection to another copy of Ecolab acting as a visualisation client.
  • Various types of random number generators are available through the UNURAN library or through the GNUSL.
  • A form of SPMD parallel programming is provided through ClassdescMP.
  • EcoLab models may also use Graphcode library to implement a distributed network of agents over an MPI-based cluster computer.