Software Reviews
From SwarmWiki
(Difference between revisions)
(→Software Reviews and Comparisons) |
|||
| Line 6: | Line 6: | ||
* Railsback, S. F., S. L. Lytinen, and S. K. Jackson. In preparation. Agent-based simulation platforms: review and development recommendations. Article submitted to ''Simulation''. A pre-publication draft is available from [http://www.humboldt.edu/~ecomodel/products.htm the individual-based modeling site at Humboldt State Univ.]. The abstract: | * Railsback, S. F., S. L. Lytinen, and S. K. Jackson. In preparation. Agent-based simulation platforms: review and development recommendations. Article submitted to ''Simulation''. A pre-publication draft is available from [http://www.humboldt.edu/~ecomodel/products.htm the individual-based modeling site at Humboldt State Univ.]. The abstract: | ||
**This article reviews software platforms for scientific agent-based models (ABMs), by implementing example models in each platform. 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 in a grid space with local interactions, 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 for ABMs than Java, 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 fastest (MASON 1-35% faster than Repast), Swarm (including Objective-C) sometimes fastest and sometimes slowest, and NetLogo intermediate. Recommendations include providing basic documentation (a weakness of 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 simulation results and how they arise. | **This article reviews software platforms for scientific agent-based models (ABMs), by implementing example models in each platform. 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 in a grid space with local interactions, 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 for ABMs than Java, 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 fastest (MASON 1-35% faster than Repast), Swarm (including Objective-C) sometimes fastest and sometimes slowest, and NetLogo intermediate. Recommendations include providing basic documentation (a weakness of 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 simulation results and how they arise. | ||
| - | |||
| - | |||
* Tobias, R., and C. Hofmann. 2004. Evaluation of free Java-libraries for social-scientific agent based simulation. ''Journal of Artificial Societies and Social Simulation'' 7: http://jasss.soc.surrey.ac.uk/7/1/6.html. | * Tobias, R., and C. Hofmann. 2004. Evaluation of free Java-libraries for social-scientific agent based simulation. ''Journal of Artificial Societies and Social Simulation'' 7: http://jasss.soc.surrey.ac.uk/7/1/6.html. | ||
| + | |||
| + | * Gilbert, N., and S. Bankes. 2002. Platforms and methods for agent-based modeling. ''Proceedings of the National Academy of Sciences'' 99 Supplement 3:7197-7198. http://www.pnas.org/cgi/content/full/99/suppl_3/7197. | ||
* Leigh Tesfatsion's "Agent-based Computational Economics" site includes [http://www.econ.iastate.edu/tesfatsi/acecode.htm a page listing and describing many platforms]. | * Leigh Tesfatsion's "Agent-based Computational Economics" site includes [http://www.econ.iastate.edu/tesfatsi/acecode.htm a page listing and describing many platforms]. | ||
Revision as of 17:20, 16 February 2006
The following papers, reports, web sites, etc., provide information comparing software platforms for agent-based modeling. Please add other useful resources.
- Railsback, S. F., S. L. Lytinen, and S. K. Jackson. In preparation. Agent-based simulation platforms: review and development recommendations. Article submitted to Simulation. A pre-publication draft is available from the individual-based modeling site at Humboldt State Univ.. The abstract:
- This article reviews software platforms for scientific agent-based models (ABMs), by implementing example models in each platform. 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 in a grid space with local interactions, 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 for ABMs than Java, 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 fastest (MASON 1-35% faster than Repast), Swarm (including Objective-C) sometimes fastest and sometimes slowest, and NetLogo intermediate. Recommendations include providing basic documentation (a weakness of 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 simulation results and how they arise.
- Tobias, R., and C. Hofmann. 2004. Evaluation of free Java-libraries for social-scientific agent based simulation. Journal of Artificial Societies and Social Simulation 7: http://jasss.soc.surrey.ac.uk/7/1/6.html.
- Gilbert, N., and S. Bankes. 2002. Platforms and methods for agent-based modeling. Proceedings of the National Academy of Sciences 99 Supplement 3:7197-7198. http://www.pnas.org/cgi/content/full/99/suppl_3/7197.
- Leigh Tesfatsion's "Agent-based Computational Economics" site includes a page listing and describing many platforms.
