; ; or ; ``` --- ## 12.12 Dictionary Help > Dictionary Any word highlighted in blue or violet in the code editor can be looked up in the dictionary. --- # 13 Sneak-peak at other languages --- ## 13.1 ABM beyond NetLogo **ABM is not equivalent to NetLogo** or any other software, it is a way of thinking about processes and systems. Tecnically, ABM can be implemented in any programming language, however it is often easier to use a dedicated software (with a graphical interface, a built-in language, etc.). --- ## 13.2 Major ABM platforms and libraries ### **RePast** (Recursive Porous Agent Simulation Toolkit) * **Languages:** Java (RePast J), Python (RePast Py), and RePast Simphony (with GUI). * **Highlights:** A long-established, research-oriented platform; used in social science, ecology, and urban modelling. * **Why it matters:** Provides strong support for building complex, data-driven models; integrates with GIS and statistical analysis. * **Learn more:** [https://repast.github.io](https://repast.github.io) --- ## 13.2 Major ABM platforms and libraries ### **AnyLogic** * **Language:** Java-based, with a graphical modelling interface. * **Highlights:** Commercial and widely used in industry (logistics, epidemiology, economics). Combines ABM, system dynamics, and discrete-event simulation. * **Why it matters:** Demonstrates how ABM concepts are applied in professional and business contexts, often for decision-support. * **Learn more:** [https://www.anylogic.com](https://www.anylogic.com) --- ## 13.2 Major ABM platforms and libraries ### **GAMA** * **Language:** GAML (GAMA Modelling Language), based on Java. * **Highlights:** Open-source, designed for spatial and multi-agent simulations. Used in ecology, geography, and urban planning. * **Why it matters:** Provides a strong focus on spatial modelling and GIS integration, making it ideal for environmental and geographic applications. * **Learn more:** [https://gama-platform.github.io](https://gama-platform.github.io) --- ## 13.2 Major ABM platforms and libraries ### **MASON** * **Language:** Java * **Highlights:** Open-source, designed for large-scale, high-performance simulations. Used in ecology, social science, and engineering. * **Why it matters:** Provides a strong focus on performance and scalability, making it suitable for large-scale simulations. * **Learn more:** [https://cs.gmu.edu/~eclab/projects/mason](https://cs.gmu.edu/~eclab/projects/mason) --- ## 13.2 Major ABM platforms and libraries ### **Mesa** * **Language:** Python * **Highlights:** Open-source ABM framework with web-based visualisation; well integrated with data science libraries like NumPy and pandas. * **Why it matters:** Ideal for researchers who already use Python for data analysis. Encourages modular and reproducible modelling workflows. * **Learn more:** [https://mesa.readthedocs.io/latest/](https://mesa.readthedocs.io/latest/) --- ## 13.2 Major ABM platforms and libraries ### **Agents.jl** * **Language:** Julia * **Highlights:** Modern, high-performance ABM library that is easy to integrate with numerical computing and visualisation tools in Julia. * **Why it matters:** Demonstrates how ABM can benefit from efficient computation and real-time data analysis in a single language. Provides a strong focus on performance and scalability, making it suitable for large-scale simulations. * **Learn more:** [https://juliadynamics.github.io/Agents.jl](https://juliadynamics.github.io/Agents.jl) --- ## 13.3 Quick comparison of ABM frameworks | Platform / Library | Language | Visual interface | Typical use cases | License / Access | Learning curve | | ------------------------------ | ----------------------------- | ------------------------------------------------- | -------------------------------------------------------------------- | ------------------------------------------- | ------------------------------------------ | | **NetLogo** | NetLogo (Logo-like) | ✅ Built-in GUI, easy model prototyping | Education, conceptual models, rapid exploration | Free & open-source | ⭐ Beginner-friendly | | **RePast** (Simphony / J / Py) | Java / Python | ✅ (Simphony) or code-only | Complex scientific ABM, GIS models, large-scale simulations | Free & open-source | ⭐⭐⭐ Advanced | | **AnyLogic** | Java-based | ✅ Professional GUI, multi-method | Industry simulation (health, transport, logistics), decision-support | Commercial (educational licenses available) | ⭐⭐⭐⭐ High but powerful | --- ## 13.3 Quick comparison of ABM frameworks (cont'd) | Platform / Library | Language | Visual interface | Typical use cases | License / Access | Learning curve | | ------------------------------ | ----------------------------- | ------------------------------------------------- | -------------------------------------------------------------------- | ------------------------------------------- | ------------------------------------------ | | **GAMA** | GAML (Java-based) | ✅ Built-in GUI, GIS integration | Ecology, geography, urban planning | Free & open-source | ⭐⭐ Intermediate (Java skills needed) | | **MASON** | Java | ✅ Code-only, some built-in visualisation tools | Ecology, social science, engineering, large-scale simulations | Free & open-source | ⭐⭐⭐ Advanced | | **Mesa** | Python | ✅ Web-based UI templates | Research ABM + Python data analysis pipelines | Free & open-source | ⭐⭐ Intermediate (Python skills needed) | | **Agents.jl** | Julia | ✅ Visualisation in Julia ecosystem | High-performance scientific computing, real-time analysis | Free & open-source | ⭐⭐⭐ Intermediate–Advanced | --- ## 13.4 Other frameworks and resources ➡️ Explore: [https://www.swarm.org/wiki/ABM_Resources](https://www.swarm.org/wiki/ABM_Resources) --- ## 13.5 What to take away * **NetLogo**: ideal for learning ABM concepts quickly, focusing on model logic rather than low-level programming. * **Other frameworks** offer greater flexibility, scalability, and integration with scientific workflows — but they require more programming experience and practice with the platform. learning about them is always a good idea! --- ## 14 NetLogo tutorials Let us get another round of hands-on experience with the NetLogo language. Complete the four official tutorials provided by the NetLogo developers: * **#0 – Sample Model**: [https://docs.netlogo.org/sample.html](https://docs.netlogo.org/sample.html) * **#1 – Models**: [https://docs.netlogo.org/tutorial1.html](https://docs.netlogo.org/tutorial1.html) * **#2 – Commands**: [https://docs.netlogo.org/tutorial2.html](https://docs.netlogo.org/tutorial2.html) * **#3 – Procedures**: [https://docs.netlogo.org/tutorial3.html](https://docs.netlogo.org/tutorial3.html)
; or ; ``` --- ## 12.12 Dictionary Help > Dictionary Any word highlighted in blue or violet in the code editor can be looked up in the dictionary. --- # 13 Sneak-peak at other languages --- ## 13.1 ABM beyond NetLogo **ABM is not equivalent to NetLogo** or any other software, it is a way of thinking about processes and systems. Tecnically, ABM can be implemented in any programming language, however it is often easier to use a dedicated software (with a graphical interface, a built-in language, etc.). --- ## 13.2 Major ABM platforms and libraries ### **RePast** (Recursive Porous Agent Simulation Toolkit) * **Languages:** Java (RePast J), Python (RePast Py), and RePast Simphony (with GUI). * **Highlights:** A long-established, research-oriented platform; used in social science, ecology, and urban modelling. * **Why it matters:** Provides strong support for building complex, data-driven models; integrates with GIS and statistical analysis. * **Learn more:** [https://repast.github.io](https://repast.github.io) --- ## 13.2 Major ABM platforms and libraries ### **AnyLogic** * **Language:** Java-based, with a graphical modelling interface. * **Highlights:** Commercial and widely used in industry (logistics, epidemiology, economics). Combines ABM, system dynamics, and discrete-event simulation. * **Why it matters:** Demonstrates how ABM concepts are applied in professional and business contexts, often for decision-support. * **Learn more:** [https://www.anylogic.com](https://www.anylogic.com) --- ## 13.2 Major ABM platforms and libraries ### **GAMA** * **Language:** GAML (GAMA Modelling Language), based on Java. * **Highlights:** Open-source, designed for spatial and multi-agent simulations. Used in ecology, geography, and urban planning. * **Why it matters:** Provides a strong focus on spatial modelling and GIS integration, making it ideal for environmental and geographic applications. * **Learn more:** [https://gama-platform.github.io](https://gama-platform.github.io) --- ## 13.2 Major ABM platforms and libraries ### **MASON** * **Language:** Java * **Highlights:** Open-source, designed for large-scale, high-performance simulations. Used in ecology, social science, and engineering. * **Why it matters:** Provides a strong focus on performance and scalability, making it suitable for large-scale simulations. * **Learn more:** [https://cs.gmu.edu/~eclab/projects/mason](https://cs.gmu.edu/~eclab/projects/mason) --- ## 13.2 Major ABM platforms and libraries ### **Mesa** * **Language:** Python * **Highlights:** Open-source ABM framework with web-based visualisation; well integrated with data science libraries like NumPy and pandas. * **Why it matters:** Ideal for researchers who already use Python for data analysis. Encourages modular and reproducible modelling workflows. * **Learn more:** [https://mesa.readthedocs.io/latest/](https://mesa.readthedocs.io/latest/) --- ## 13.2 Major ABM platforms and libraries ### **Agents.jl** * **Language:** Julia * **Highlights:** Modern, high-performance ABM library that is easy to integrate with numerical computing and visualisation tools in Julia. * **Why it matters:** Demonstrates how ABM can benefit from efficient computation and real-time data analysis in a single language. Provides a strong focus on performance and scalability, making it suitable for large-scale simulations. * **Learn more:** [https://juliadynamics.github.io/Agents.jl](https://juliadynamics.github.io/Agents.jl) --- ## 13.3 Quick comparison of ABM frameworks | Platform / Library | Language | Visual interface | Typical use cases | License / Access | Learning curve | | ------------------------------ | ----------------------------- | ------------------------------------------------- | -------------------------------------------------------------------- | ------------------------------------------- | ------------------------------------------ | | **NetLogo** | NetLogo (Logo-like) | ✅ Built-in GUI, easy model prototyping | Education, conceptual models, rapid exploration | Free & open-source | ⭐ Beginner-friendly | | **RePast** (Simphony / J / Py) | Java / Python | ✅ (Simphony) or code-only | Complex scientific ABM, GIS models, large-scale simulations | Free & open-source | ⭐⭐⭐ Advanced | | **AnyLogic** | Java-based | ✅ Professional GUI, multi-method | Industry simulation (health, transport, logistics), decision-support | Commercial (educational licenses available) | ⭐⭐⭐⭐ High but powerful | --- ## 13.3 Quick comparison of ABM frameworks (cont'd) | Platform / Library | Language | Visual interface | Typical use cases | License / Access | Learning curve | | ------------------------------ | ----------------------------- | ------------------------------------------------- | -------------------------------------------------------------------- | ------------------------------------------- | ------------------------------------------ | | **GAMA** | GAML (Java-based) | ✅ Built-in GUI, GIS integration | Ecology, geography, urban planning | Free & open-source | ⭐⭐ Intermediate (Java skills needed) | | **MASON** | Java | ✅ Code-only, some built-in visualisation tools | Ecology, social science, engineering, large-scale simulations | Free & open-source | ⭐⭐⭐ Advanced | | **Mesa** | Python | ✅ Web-based UI templates | Research ABM + Python data analysis pipelines | Free & open-source | ⭐⭐ Intermediate (Python skills needed) | | **Agents.jl** | Julia | ✅ Visualisation in Julia ecosystem | High-performance scientific computing, real-time analysis | Free & open-source | ⭐⭐⭐ Intermediate–Advanced | --- ## 13.4 Other frameworks and resources ➡️ Explore: [https://www.swarm.org/wiki/ABM_Resources](https://www.swarm.org/wiki/ABM_Resources) --- ## 13.5 What to take away * **NetLogo**: ideal for learning ABM concepts quickly, focusing on model logic rather than low-level programming. * **Other frameworks** offer greater flexibility, scalability, and integration with scientific workflows — but they require more programming experience and practice with the platform. learning about them is always a good idea! --- ## 14 NetLogo tutorials Let us get another round of hands-on experience with the NetLogo language. Complete the four official tutorials provided by the NetLogo developers: * **#0 – Sample Model**: [https://docs.netlogo.org/sample.html](https://docs.netlogo.org/sample.html) * **#1 – Models**: [https://docs.netlogo.org/tutorial1.html](https://docs.netlogo.org/tutorial1.html) * **#2 – Commands**: [https://docs.netlogo.org/tutorial2.html](https://docs.netlogo.org/tutorial2.html) * **#3 – Procedures**: [https://docs.netlogo.org/tutorial3.html](https://docs.netlogo.org/tutorial3.html)
; ``` --- ## 12.12 Dictionary Help > Dictionary Any word highlighted in blue or violet in the code editor can be looked up in the dictionary. --- # 13 Sneak-peak at other languages --- ## 13.1 ABM beyond NetLogo **ABM is not equivalent to NetLogo** or any other software, it is a way of thinking about processes and systems. Tecnically, ABM can be implemented in any programming language, however it is often easier to use a dedicated software (with a graphical interface, a built-in language, etc.). --- ## 13.2 Major ABM platforms and libraries ### **RePast** (Recursive Porous Agent Simulation Toolkit) * **Languages:** Java (RePast J), Python (RePast Py), and RePast Simphony (with GUI). * **Highlights:** A long-established, research-oriented platform; used in social science, ecology, and urban modelling. * **Why it matters:** Provides strong support for building complex, data-driven models; integrates with GIS and statistical analysis. * **Learn more:** [https://repast.github.io](https://repast.github.io) --- ## 13.2 Major ABM platforms and libraries ### **AnyLogic** * **Language:** Java-based, with a graphical modelling interface. * **Highlights:** Commercial and widely used in industry (logistics, epidemiology, economics). Combines ABM, system dynamics, and discrete-event simulation. * **Why it matters:** Demonstrates how ABM concepts are applied in professional and business contexts, often for decision-support. * **Learn more:** [https://www.anylogic.com](https://www.anylogic.com) --- ## 13.2 Major ABM platforms and libraries ### **GAMA** * **Language:** GAML (GAMA Modelling Language), based on Java. * **Highlights:** Open-source, designed for spatial and multi-agent simulations. Used in ecology, geography, and urban planning. * **Why it matters:** Provides a strong focus on spatial modelling and GIS integration, making it ideal for environmental and geographic applications. * **Learn more:** [https://gama-platform.github.io](https://gama-platform.github.io) --- ## 13.2 Major ABM platforms and libraries ### **MASON** * **Language:** Java * **Highlights:** Open-source, designed for large-scale, high-performance simulations. Used in ecology, social science, and engineering. * **Why it matters:** Provides a strong focus on performance and scalability, making it suitable for large-scale simulations. * **Learn more:** [https://cs.gmu.edu/~eclab/projects/mason](https://cs.gmu.edu/~eclab/projects/mason) --- ## 13.2 Major ABM platforms and libraries ### **Mesa** * **Language:** Python * **Highlights:** Open-source ABM framework with web-based visualisation; well integrated with data science libraries like NumPy and pandas. * **Why it matters:** Ideal for researchers who already use Python for data analysis. Encourages modular and reproducible modelling workflows. * **Learn more:** [https://mesa.readthedocs.io/latest/](https://mesa.readthedocs.io/latest/) --- ## 13.2 Major ABM platforms and libraries ### **Agents.jl** * **Language:** Julia * **Highlights:** Modern, high-performance ABM library that is easy to integrate with numerical computing and visualisation tools in Julia. * **Why it matters:** Demonstrates how ABM can benefit from efficient computation and real-time data analysis in a single language. Provides a strong focus on performance and scalability, making it suitable for large-scale simulations. * **Learn more:** [https://juliadynamics.github.io/Agents.jl](https://juliadynamics.github.io/Agents.jl) --- ## 13.3 Quick comparison of ABM frameworks | Platform / Library | Language | Visual interface | Typical use cases | License / Access | Learning curve | | ------------------------------ | ----------------------------- | ------------------------------------------------- | -------------------------------------------------------------------- | ------------------------------------------- | ------------------------------------------ | | **NetLogo** | NetLogo (Logo-like) | ✅ Built-in GUI, easy model prototyping | Education, conceptual models, rapid exploration | Free & open-source | ⭐ Beginner-friendly | | **RePast** (Simphony / J / Py) | Java / Python | ✅ (Simphony) or code-only | Complex scientific ABM, GIS models, large-scale simulations | Free & open-source | ⭐⭐⭐ Advanced | | **AnyLogic** | Java-based | ✅ Professional GUI, multi-method | Industry simulation (health, transport, logistics), decision-support | Commercial (educational licenses available) | ⭐⭐⭐⭐ High but powerful | --- ## 13.3 Quick comparison of ABM frameworks (cont'd) | Platform / Library | Language | Visual interface | Typical use cases | License / Access | Learning curve | | ------------------------------ | ----------------------------- | ------------------------------------------------- | -------------------------------------------------------------------- | ------------------------------------------- | ------------------------------------------ | | **GAMA** | GAML (Java-based) | ✅ Built-in GUI, GIS integration | Ecology, geography, urban planning | Free & open-source | ⭐⭐ Intermediate (Java skills needed) | | **MASON** | Java | ✅ Code-only, some built-in visualisation tools | Ecology, social science, engineering, large-scale simulations | Free & open-source | ⭐⭐⭐ Advanced | | **Mesa** | Python | ✅ Web-based UI templates | Research ABM + Python data analysis pipelines | Free & open-source | ⭐⭐ Intermediate (Python skills needed) | | **Agents.jl** | Julia | ✅ Visualisation in Julia ecosystem | High-performance scientific computing, real-time analysis | Free & open-source | ⭐⭐⭐ Intermediate–Advanced | --- ## 13.4 Other frameworks and resources ➡️ Explore: [https://www.swarm.org/wiki/ABM_Resources](https://www.swarm.org/wiki/ABM_Resources) --- ## 13.5 What to take away * **NetLogo**: ideal for learning ABM concepts quickly, focusing on model logic rather than low-level programming. * **Other frameworks** offer greater flexibility, scalability, and integration with scientific workflows — but they require more programming experience and practice with the platform. learning about them is always a good idea! --- ## 14 NetLogo tutorials Let us get another round of hands-on experience with the NetLogo language. Complete the four official tutorials provided by the NetLogo developers: * **#0 – Sample Model**: [https://docs.netlogo.org/sample.html](https://docs.netlogo.org/sample.html) * **#1 – Models**: [https://docs.netlogo.org/tutorial1.html](https://docs.netlogo.org/tutorial1.html) * **#2 – Commands**: [https://docs.netlogo.org/tutorial2.html](https://docs.netlogo.org/tutorial2.html) * **#3 – Procedures**: [https://docs.netlogo.org/tutorial3.html](https://docs.netlogo.org/tutorial3.html)