Abstract
Five software platforms for scientific agent-based models (ABMs) were
reviewed by implementing example models in each. NetLogo is the highest-level
platform, providing a simple yet powerful programming language, built-in
graphical interfaces, and comprehensive documentation. It is designed
primarily for ABMs of mobile individuals with local interactions
in a grid space, but not necessarily clumsy for others. NetLogo is
highly recommended, even for prototyping complex models. MASON, Repast,
and Swarm are "framework and library" platforms, providing a conceptual
framework for organizing and designing ABMs and corresponding software
libraries. MASON is least mature and designed with execution speed
a high priority. The Objective-C version of Swarm is the most mature
library platform and is stable and well organized. Objective-C seems
more natural than Java for ABMs but weak error-handling and the lack
of developer tools are drawbacks. Java Swarm allows Swarm's Objective-C
libraries to be called from Java; it does not seem to combine the
advantages of the two languages well. Repast provides Swarm-like
functions in a Java library and is a good choice for many, but parts
of its organization and design could be improved. A rough comparison
of execution speed found MASON and Repast usually fastest (MASON
1-35% faster than Repast), Swarm (including Objective-C) fastest
for simple models but slowest for complex ones, and NetLogo intermediate.
Recommendations include completing the documentation (for all platforms
except NetLogo), strengthening conceptual frameworks, providing better
tools for statistical output and automating simulation experiments,
simplifying common tasks, and researching technologies for understanding
how simulation results arise.
Links and resources
Tags
community