Table of Contents
Fetching ...

A Guide to Re-Implementing Agent-based Models: Experiences from the HUMAT Model

Önder Gürcan, Timo Szczepanska, Patrycja Antosz

TL;DR

This paper tackles the challenge of faithfully re‑implementing agent‑based simulations across programming languages by proposing a language‑independent, step‑by‑step replication guide. It frames a generic domain abstraction to preserve causal mechanisms and demonstrates the approach through a case study re‑implementing the HUMAT socio‑cognitive architecture from NetLogo to Python (Mesa). The authors detail understanding HUMAT, constructing a generic model, implementing in Python, and planning validation, while discussing practical translation challenges between NetLogo’s procedures and Python’s OO design. The work contributes a general replication workflow aimed at improving reproducibility, scalability, and cross‑language reuse of ABMs, with practical insights for future re‑implementations and broader community adoption.

Abstract

Replicating existing agent-based models poses significant challenges, particularly for those new to the field. This article presents an all-encompassing guide to re-implementing agent-based models, encompassing vital concepts such as comprehending the original model, utilizing agent-based modeling frameworks, simulation design, model validation, and more. By embracing the proposed guide, researchers and practitioners can gain a profound understanding of the entire re-implementation process, resulting in heightened accuracy and reliability of simulations for complex systems. Furthermore, this article showcases the re-implementation of the HUMAT socio-cognitive architecture, with a specific focus on designing a versatile, language-independent model. The encountered challenges and pitfalls in the re-implementation process are thoroughly discussed, empowering readers with practical insights. Embrace this guide to expedite model development while ensuring robust and precise simulations.

A Guide to Re-Implementing Agent-based Models: Experiences from the HUMAT Model

TL;DR

This paper tackles the challenge of faithfully re‑implementing agent‑based simulations across programming languages by proposing a language‑independent, step‑by‑step replication guide. It frames a generic domain abstraction to preserve causal mechanisms and demonstrates the approach through a case study re‑implementing the HUMAT socio‑cognitive architecture from NetLogo to Python (Mesa). The authors detail understanding HUMAT, constructing a generic model, implementing in Python, and planning validation, while discussing practical translation challenges between NetLogo’s procedures and Python’s OO design. The work contributes a general replication workflow aimed at improving reproducibility, scalability, and cross‑language reuse of ABMs, with practical insights for future re‑implementations and broader community adoption.

Abstract

Replicating existing agent-based models poses significant challenges, particularly for those new to the field. This article presents an all-encompassing guide to re-implementing agent-based models, encompassing vital concepts such as comprehending the original model, utilizing agent-based modeling frameworks, simulation design, model validation, and more. By embracing the proposed guide, researchers and practitioners can gain a profound understanding of the entire re-implementation process, resulting in heightened accuracy and reliability of simulations for complex systems. Furthermore, this article showcases the re-implementation of the HUMAT socio-cognitive architecture, with a specific focus on designing a versatile, language-independent model. The encountered challenges and pitfalls in the re-implementation process are thoroughly discussed, empowering readers with practical insights. Embrace this guide to expedite model development while ensuring robust and precise simulations.
Paper Structure (10 sections, 5 figures)

This paper contains 10 sections, 5 figures.

Figures (5)

  • Figure 1: The process for re-implementing ABM Models
  • Figure 2: The NetLogo version of HUMAT.
  • Figure 3: The generic conceptual UML model for HUMAT.
  • Figure 4: The generic behavioral UML model for HUMAT.
  • Figure 5: Python code for the Signal or Inquire function.