A structured and practical toolkit for designing Agent-Based Models (ABMs) using a clear, reproducible, and research-oriented ABM Canvas framework.
This repository provides ABM Canvas 2.0, example templates, and optional scripts for converting structured design specifications into NetLogo model components.
Agent-Based Modeling (ABM) often requires translating conceptual model designs into executable code while maintaining clarity, reproducibility, and transparency.
ABM Canvas Toolkit helps streamline this process by providing:
- A formalized ABM Canvas (version 2.0)
- Example templates for design documentation
- A clean directory structure for organizing models
- (Optional) Scripts for generating NetLogo
.nlsand.nlogoxfiles from Canvas text - A foundation for ABM education, research, and collaborative modeling projects
ABM Canvas 2.0 is a structured design template that organizes essential ABM components into clear sections, enabling reproducible documentation and consistent model development.
Canvas 2.0 consists of 10 major sections:
- Research question & simulation purpose
- Agent breeds & attributes
- Environment & constraints
- Process overview & scheduling
- Behavioral rules
- Interaction rules
- Initialization (
setup) - Parameters (sliders, switches, globals)
- Evaluation metrics (plots, monitors, logging)
- Experiment design (manual scenarios + BehaviorSpace)
📄 The full template is available at:
/templates/ABM_Canvas_2.0.md
Use the Canvas to document model mechanisms for papers, supplementary materials, or replication packages.
Students can design ABMs without immediately writing code — Canvas acts as a conceptual bridge between idea and implementation.
Common structure promotes alignment between researchers, developers, and domain experts.
This project is released under the MIT License, allowing wide reuse in research and teaching.
Contributions are welcome — feel free to submit issues, improvements, or pull requests.
If you are using the toolkit for research or education, sharing your examples would be especially helpful.