ODD protocol

The ODD protocol is a tool to standardize the description of agent-based models

Literature

  • ODD protocol: Grimm, Volker, Uta Berger, Donald L DeAngelis, Gary J Polhill, Jarl Giske, and Steven F Railsback. 2010. “The ODD Protocol: A Review and First Update.” //Ecological Modelling// 221 (23): 2760–68. doi:10.1016/j.ecolmodel.2010.08.019.
  • ODD+D protocol: Müller, Birgit, Friedrich Bohn, Gunnar Dreßler, Jürgen Groeneveld, Christian Klassert, Romina Martin, Maja Schlüter, Jule Schulze, Hanna Weise, and Nina Schwarz. 2013. “Describing Human Decisions in Agent-Based Models – ODD + D, an Extension of the ODD Protocol.” //Environmental Modelling & Software// 48: 37–48. doi:10.1016/j.envsoft.2013.06.003.

How to use the protocol

Templates to use the ODD+D protocol: Word, Google Docs, LaTeX.

The following guiding questions are from Müller et al. (2013).

1. Overview

1.1 Purpose

  • What is the purpose of the study?
  • For whom is the model designed?

1.2 Entities, State Variables And Scales

  • What kinds of entities are in the model?
  • By what attributes (i.e. state variables and parameters) are these entities characterised?
  • What are the exogenous factors/drivers of the model?
  • If applicable, how is space included in the model?
  • What are the temporal and spatial resolutions and extents of the model?

1.3 Process Overview And Scheduling

  • What entity does what, and in what order?

2. Design Concepts

2.1 Theoretical And Empirical Background

  • Which general concepts, theories or hypotheses are underlying the model’s design at the system level or at the level(s) of the submodel(s) (apart from thedecision model)? What is the link to complexity and the purpose of the model?
  • On what assumptions is/are the agents’ decision model(s) based?
  • Why is/are certain decision model(s) chosen?
  • If the model/submodel (e.g. the decision model) is based on empirical data, where do the data come from?
  • At which level of aggregation were the data available?

2.2 Individual Decision-Making

  • What are the subjects and objects of the decision-making? On which level of aggregation is decision-making modelled? Are multiple levels of decision making included?
  • What is the basic rationality behind agent decision-making in the model? Do agents pursue an explicit objective or have other success criteria?
  • How do agents make their decisions?
  • Do the agents adapt their behaviour to changing endogenous and exogenous state variables? And if yes, how?
  • Do social norms or cultural values play a role in the decision-making process?
  • Do spatial aspects play a role in the decision process?
  • Do temporal aspects play a role in the decision process?
  • To which extent and how is uncertainty included in the agents’ decision rules?

2.3 Learning

  • Is individual learning included in the decision process? How do individuals change their decision rules over time as consequence of their experience?
  • Is collective learning implemented in the model?

2.4 Individual Sensing

  • What endogenous and exogenous state variables are individuals assumed to sense and consider in their decisions? Is the sensing process erroneous?
  • What state variables of which other individuals can an individual perceive? Is the sensing process erroneous?
  • What is the spatial scale of sensing?
  • Are the mechanisms by which agents obtain information modelled explicitly, or are individuals simply assumed to know these variables?
  • Are the costs for cognition and the costs for gathering information explicitly included in the model?

2.5 Individual Prediction

  • Which data do the agents use to predict future conditions?
  • What internal models are agents assumed to use to estimate future conditions or consequences of their decisions?
  • Might agents be erroneous in the prediction process, and how is it implemented?

2.6 Interaction

  • Are interactions among agents and entities assumed as direct or indirect?
  • On what do the interactions depend?
  • If the interactions involve communication, how are such communications represented?
  • If a coordination network exists, how does it affect the agent behaviour? Is the structure of the network imposed or emergent?

2.7 Collectives

  • Do the individuals form or belong to aggregations that affect and are affected by the individuals? Are these aggregations imposed by the modeller or do they emerge during the simulation?
  • How are collectives represented?

2.8 Heterogeneity

  • Are the agents heterogeneous? If yes, which state variables and/or processes differ between the agents?
  • Are the agents heterogeneous in their decision-making? If yes, which decision models or decision objects differ between the agents?

2.9 Stochasticity

  • What processes (including initialisation) are modelled by assuming they are random or partly random?

2.10 Observation

  • What data are collected from the ABM for testing, understanding and analysing it, and how and when are they collected?
  • What key results, outputs or characteristics of the model are emerging from the individuals? (Emergence)

3. Details

3.1 Implementation Details

  • How has the model been implemented?
  • Is the model accessible, and if so where?

3.2 Initialisation

  • What is the initial state of the model world, i.e. at time $ t = 0 $ of a simulation run?
  • Is the initialisation always the same, or is it allowed to vary among simulations?
  • Are the initial values chosen arbitrarily or based on data?

3.3 Input Data

  • Does the model use input from external sources such as data files or other models to represent processes that change over time?

3.4 Submodels

  • What, in detail, are the submodels that represent the processes listed in ‘Process overview and scheduling’?
  • What are the model parameters, their dimensions and reference values?
  • How were the submodels designed or chosen, and how were they parameterised and then tested?

LaTeX template

The full version of the template (with the guiding questions) is coming soon!

Short URL for the LaTeX template: https://scasa.co/odd-latex.

\section{Overview}
 
\subsection{Purpose}
 
\subsection{Entities, state variables and scales}
 
\subsection{Process overview and scheduling}
 
\section{Design Concepts}
 
\subsection{Theoretical and Empirical Background}
 
\subsection{Individual Decision-Making}
 
\subsection{Learning}
 
\subsection{Individual Sensing}
 
\subsection{Individual Prediction}
 
\subsection{Interaction}
 
\subsection{Collectives}
 
\subsection{Heterogeneity}
 
\subsection{Stochasticity}
 
\subsection{Observation}
 
\section{Details}
 
\subsection{Implementation Details}
 
\subsection{Initialisation}
 
\subsection{Input Data}
 
\subsection{Submodels}

Word template

Short URL for the Word/OpenOffice/LibreOffice template: https://scasa.co/odd-word.

To download a .docx version of the template:

  • visit the Google Docs version
  • File > Download as > Microsoft Word (.docx)

You can also download an OpenOffice/LibreOffice .odt version (File > Download as > OpenDocument Format (.odt)).