Environmental Modelling & Software 73 (2015) 189e200
Contents lists available at ScienceDirect
Environmental Modelling & Software journal homepage: www.elsevier.com/locate/envsoft
Modular ABM development for improved dissemination and training Andrew R. Bell a, *, Derek T. Robinson b, Ammar Malik c, Snigdha Dewal c a
New York University, New York, New York, 10003, Canada University of Waterloo, Waterloo, Ontario, N2L 3G1, Canada c George Mason University, Fairfax, VA, 22030, USA b
a r t i c l e i n f o
a b s t r a c t
Article history: Received 30 April 2014 Received in revised form 26 February 2015 Accepted 24 July 2015 Available online 28 August 2015
Agent-based models (ABMs) have become an important tool for advancing scientific understanding in a variety of disciplines and more specifically have contributed gains to natural resource management in recent decades. However, a key challenge to their utility is the lack of convergence upon a common set of assumptions for representing key processes (such as agent decision structure), with the outcome that published ABM tools are rarely (if ever) used beyond their original development team. While a number of ABM frameworks are publicly available for use, the continued development of models from scratch is a signal of the continuing difficulty in capturing sufficient modeling flexibility in a single package. In this study we examine ABM sharing by comparing co-citation networks from several well-known ABM frameworks to those used in the land-use change modeling community. We then outline a different publication paradigm for the ABM community that could improve the sharing of model structure and help move toward convergence on a common set of tools and assumptions. © 2015 Elsevier Ltd. All rights reserved.
Keywords: Agent-based modeling Co-authorship networks Agent-based modeling primitives Model publishing
1. Introduction Agent-based models (ABMs) have become an important tool for natural resource management and other disciplines (e.g., anthropology, Kohler and Gumerman, 2000; ecology, Grimm et al., 2005; land use and land cover change, Robinson et al., 2012) in recent decades, and for the study of agricultural land-management in particular (e.g., Becu et al., 2003; Bell, 2011; Bert et al., 2010). Where household-level decisions, made in interaction with other households and the natural environment, shape outcomes at the landscape scale, ABMs can provide insights that coarser equation-based models1 (EBMs) or statistical models may not (Bankes, 2002; Parunak et al., 1998). ABMs also provide a unique point of entry for non-expert stakeholders into the analytic process by mapping realworld actors to computational agents either explicitly using data (e.g., via social surveys) or conceptually (Rounsevell et al., 2012), which grants a level of conceptual understanding and familiarity that is not available when EBMs or statistical models are used. The actor behaviors that are formalized within the
* Corresponding author. E-mail address:
[email protected] (A.R. Bell). 1 We use the definition of equation based models from Parunak et al. (1998), which includes statistical and mathematical models that comprise “a set of equations, and execution consists of evaluating them” (p.10). http://dx.doi.org/10.1016/j.envsoft.2015.07.016 1364-8152/© 2015 Elsevier Ltd. All rights reserved.
computational code of an ABM can be empirically informed using a combination of different kinds of data (e.g., qualitative and quantitative) and data collection methods (Robinson et al., 2007) that support multiple approaches to representing actor decisionmaking in an agent (e.g., heuristic decision trees, utility functions). Due in part to this flexibility, ABMs can go beyond the typical representation of a population or average individual in EBMs and capture the heterogeneity of individual actors, their characteristics and decision-making structures. When stakeholders are involved, these themes of complexity science can be systematically incorporated in a relational approach (e.g., actors to agents) that may be easier for non-expert stakeholders to understand when compared to the equations and constraints of other modeling approaches (e.g., constraint optimization, partial differential equations). The core of an ABM design is a process-based model of decision making that governs agent actions as well as of agenteagent and agenteenvironment interactions. The greatest challenge in the creation of an ABM lies in the modeling decisions associated with conceptually outlining what processes are relevant, how to model them, and how to calibrate and validate them from data. As is true across all modeling approaches, the benefits particular to the ABM approach also bring a number of costs or challenges, including complexity versus parsimony and equifinality across different model structures (National Research Council, 2013), challenges in validation (Valbuena et al., 2009), and specificity versus reusability (e.g., Murray-Rust et al., 2014), among others. In many cases, the
190
A.R. Bell et al. / Environmental Modelling & Software 73 (2015) 189e200
and modeling flexibility. Along this spectrum we can define a few wide and fuzzy categories that, while not discretely defined or mutually exclusive, nonetheless assist us in discussion:
appropriate set of social processes and decision modes to include are not obvious without significant primary data collection (Brown et al., 2008), making the production of a well-informed ABM a slow, iterative, and potentially expensive process. As an illustrative case, the BanMakMai model, produced via the companion modeling or ‘ComMod’ approach, refined model assumptions through six rounds of role-play games and field workshops over a 3-year period (Naivinit et al., 2010). The landscape of applications of ABM in natural resource management (NRM) has been well reviewed in recent years (Table 1), with different ABMs categorized along dimensions such as the structure of agent decision-making processes, the structure of agenteagent and agenteenvironment interactions, environmental structure and spatio-temporal resolution and extent. It is not the critical focus of this study to update or amend these efforts. Rather, we focus on the questions of how ABMs are shared and disseminated among researchers, and what approach might improve our ability to do so. A key issue shaping the pace and impact of ABM research in NRM is that this area of research has yet to explicitly identify a fundamental set of assumptions, laws, and toolkits to use when compared to more traditional natural science research questions (e.g., in geology, biology, physics) that are void of heterogeneous and irrational decision making. The outcome of the lack of structure, synthesis, and consensus is that scientists and modelers lack a clear foundation of agreed-upon approaches and libraries that offer a baseline for problem solutions that characterize other modeling fields (Evans et al., 2013). The absence of this foundation has hindered scientific advancement, started to erode the confidence and use of the ABM approach, and limited the capacity for ABM work in NRM to leverage previous development and efforts. In the following sections we examine the process of developing an ABM as an additional dimension (to the common dimensions shown in Table 1) by which to typologize different tools in the ABM literature. We then focus our attention on a set of prominent published ABM tools and their associated publications and compare the structure of their publication networks with those of several prominent statistical models of land-cover change. Finally, we propose a shift in the contemporary approach to publication of ABM work that we believe can i) accelerate the pace at which research using ABM tools can coalesce to a well-agreed upon set of assumptions, rules, and toolkits; ii) improve our communication of model components; and iii) enhance the contribution that students of ABM methodologies can make within pedagogical exercises.
Languages e flexible computational grammars, often with much prepackaged functionality, that allow development of a complete range of software products. By far, Java is the language that has dominated the development of platforms, frameworks, and models in the ABM literature, in particular via the MASON, RePast, and Java Swarm platforms (Railsback et al., 2006). Other languages used in the development of ABMs in NRM include Objective C (through the original Swarm Platform), Cþþ (e.g., Berger, 2001), Visual Basic (e.g., Robinson and Brown, 2009), and Matlab (e.g., Bell, 2011; Magliocca et al., 2013). Discussing languages via a review of different platforms, Railsback et al. (2006) note the maturity of the original Swarm platform in Objective C and the conceptual fit of Objective C with agent-based modeling; in particular, the lack of strong ‘typing’ (specific definitions of the types of objects and variables used in the model, with strict rules on what types should be expected as inputs to different functions and methods) that allowed a scheduling routine to call any objects regardless of type e a good fit with the decentralization ethos of complexity sciences (Holland 1995; Gilbert and Troitzsch 1999; Axelrod and Cohen 2000). However, a lack of developer tools for the Objective-C platform, as well as the greater speeds possible under the newer Java-based MASON and Repast platforms, contribute to the dominant role of Java in ABM development (Railsback et al., 2006). Platforms e have a selected range of computational functionality suited to a particular purpose (such as land-use or agentbased modeling), with extensive programming flexibility and the availability of prepackaged functional components, integrated in a discrete whole. There are several platforms for ABM development that provide a library of functions and a development environment but retain programming capacity in a basic language (RePast, in Java; Swarm, in Objective C and Java; MASON, in Java) and thus retain (in theory) the flexibility of that basic language. Others are much further discretized, with complete encapsulation and higher-level computational grammars for programming (NetLogo, using the logo language structure; Cormas, using the SmallTalk language). In a comparison of NetLogo, Repast, and Cormas via the implementation of a single epidemiological model, Bajracharya and Duboz (2013) found differences in the results across platforms sufficiently different to limit comparability. This comparison highlights that the particular structure and assumptions embedded in the tools available within platforms can affect scientific results and presents a challenge for inter-comparison that comes as a trade-off to the ease in programming burden that platforms present. Frameworks e the result of structure applied to languages and/ or platforms that provide structure for modeling a specific
2. Developing an ABM tool A variety of tools for ABM development e from simple and stylized to sophisticated and flexible e exist and are in contemporaneous application in the study of NRM. More specifically, collections of tools and functions common to many modeling efforts are often bundled into packages, with these packages occupying different points along a spectrum of programming requirements Table 1 Structure of ABM in NRM reviews. Review
Model motivation
Agent type
Agent decision Environment Mode interactions
(Matthews et al., 2007) (Hare and Deadman, 2004) (Parker et al., 2003) (An, 2012) (Kremmydas, 2012) (Derek T. Robinson et al., 2007) (Bousquet and Le Page, 2004) (Athanasiadis et al., 2007)
x x
x
x
x x
x x x x x
x
x x x
Social interactions
Environment structure
Time scales
x
x x
x
x x x
x x x x
Agent learning and response x
x x
A.R. Bell et al. / Environmental Modelling & Software 73 (2015) 189e200
domain of interest (e.g., on-farm decision making; Aporia, Murray-Rust et al., 2014), and near-complete reliance on choice among a range of prepackaged options for functionality, parameter settings, etc. While frameworks often remain computationally flexible, the effort to use the framework in a domain for which it was not built would require more effort than using languages and platforms as a starting point. Some of the key frameworks for ABM in NRM have been written directly from basic languages to encapsulate key processes (e.g., LUDAS, AgriPolis); others encapsulate further the content developed for ABM platforms (e.g., Catchscape or SINUSE, from the Cormas platform). Models e a specific representation of a particular system that is designed to answer a specific research question or small set of questions, with little flexibility beyond parameter settings. As entry points to the development of an ABM, basic programming languages offer the greatest flexibility of model development, at the expense of the greatest programming burden. Choosing a platform such as Cormas for a starting point, with a range of useful functions and tools included in the package, reduces the burden of development at the expense of restriction in the flexibility to add in particular functionality or structure that falls outside of what has been packaged in the platform. In the literature on ABM in NRM, many published models arise from well-known modeling platforms e broad platforms such as NetLogo (Heckbert, 2011), Swarm, and RePast (e.g., Brown and Robinson, 2006; Sun and Müller, 2013) which include a range of general tools for representing objects in a two-dimensional space, as well as more specified platforms such as the Cormas platform (e.g., Becu et al., 2003), which includes tools specific to the modeling of socio-ecological systems. Discussing the rise of ABM platforms as a lead-in to their review of the history of Cormas, Le Page et al. (2012) show the great growth over the last few years in citations linking to seminal papers for NetLogo (28.2 citations/ year) and Repast (45.7 citations/year) in particular, with more modest growth among a ‘relatively small community’ of users for Cormas (14.6 citations/year) that is ‘very loyal and active.’ Additionally, there are a number of frameworks that have led to multiple publications, and are capable of addressing a broad range of ABM-relevant questions, such as the LUDAS framework (e.g., Le et al., 2008), and AgriPolis (e.g., Happe et al., 2006). We draw these categories along the spectrum e languages, platforms, frameworks, and models e to highlight a peculiar characteristic of ABM development in the literature: despite the availability of modeling platforms like Cormas and carefully-built frameworks such as LUDAS, we still see through to the present day a great number of models being built from scratch e not from existing frameworks, and sometimes not even from modeling platforms but
191
straight from basic coding languages e Cþþ, Java, Matlab (e.g., Bell, 2011; Berger and Ringler, 2002; Chen et al., 2012). In part, this reflects the difficulty modelers face in sharing content. The structure imposed by developing a framework or model typically means that i) significant training is necessary for a new user to apply it meaningfully; and ii) extracting the functionality of interest is a challenge. Additionally, any level of packaging (platform, framework, or model) requires the embedding of assumptions and structure, and it may often be the case that such assumptions fail to match the needs of a particular modeler, such that she must often start from basic materials to develop an appropriate model for her question. So long as the set of appropriate approaches to agent decision-making, agenteagent and agenteenvironment interactions remains open and exploratory, this will continue to be a challenge. The implication of this is that published ABMs for NRM should tend not to be well shared across research groups, compared to modeling approaches where there is better agreement upon the fundamental assumptions and rules governing the field. This is in fact what we see in the following section, where we compare the published literature for some prominent ABM frameworks for NRM with that of several statistical land-cover models, CLUE and GEOMOD. 3. Sharing ABM tools Across a number of broad searches in Web of Knowledge, Google, and Google Scholar for agent-based models in agriculture and natural resource management, three frameworks emerged as prominent (in terms of the number of publications): AgriPolis (and the MEA-Scope approach), FEARLUS (and variants), and LUDAS (and variants). Descriptions of these frameworks, as well as key publications, are summarized in Table 2. For comparison, we also examine two prominent statistical modeling frameworks for landcover change, CLUE (and variants Dyna CLUE and CLUE-S), and GEOMOD; these two products belong to a different class of tools based on a simpler set of statistical relationships (as opposed to the more data-intensive process base of ABM tools) and are typically applied at much coarser spatial resolutions. Both types of modeling approaches (i.e., ABM and statistical) and these implementations are used to assess land-use and land-cover change among other related questions. In many cases they are applied at the same scale (i.e., spatial resolution), but often the statistical models are applied at greater spatial extents and have an agreed-upon range of approaches and assumptions. We acknowledge that these results are not normalized by the longevity of existence or number of users and applications of either modeling approach. These results are meant not to be an absolute account of the proliferation of statistical versus agent-based models in NRM research, but instead demonstrate that acute differences in the way the approaches and
Table 2 Co-authorship summaries for selected frameworks. Frameworks
Key citation
AgriPoliS
(Happe et al., 12 2006) (Le et al., 2008) 11
LUDAS FEARLUS CLUE GEOMOD
Papers Unique Repeat Most proficient authors authors author (# of papers)
(Polhill et al., 9 2001) (Veldkamp and 31 Fresco, 1996) (Hall et al., 25 1995)
28
14
K Happe (9)
12
6
QB Le (6)
5
4
75 48
Lead institutions (# of papers)
NM Gotts (9)
Leibniz Institute of Agricultural Development in Central and Eastern Europe (IAMO) (12) University of Bonn//Swiss Federal Institute of Technology (8) Macaulay Institute (9)
9
P Verburg (17)
Wageningen Agricultural University (21)
9
R Pontius (8)
State University of New York (5)
Components Density Modularity
1
0.381
0.023
1
0.316
0.129
1
0.500
0.112
8
0.066
0.246
13
0.051
0.515
192
A.R. Bell et al. / Environmental Modelling & Software 73 (2015) 189e200
models are used and reused exists and should be discussed further and improved. For each of these frameworks, we performed topic searches in ISI Web of Knowledge and in Google Scholar using the name of the framework, as well as “AND [‘agent-based model’ or ‘multi-agent system’]” in the case of our ABM frameworks, and “AND model” in the case of the statistical land-cover frameworks. We excluded from our results any review papers or other articles that did not present results using the framework of interest. As an additional step, we used the Web of Knowledge's citation mapper to identify any additional or derivative modeling publications related to our initial article selection. With sets of publications for each framework assembled, we constructed collaboration networks implied by co-authorship (Table 2, Figs. 1e5). The networks built around usage of the different ABM frameworks are strikingly different from those of CLUE and GEOMOD. In network parlance, ABM authorship networks contain fewer components (only one, in fact, for each of them), they have higher densities (containing a greater fraction of the total possible connections among all authors in the network), and are less modular with respect to the groupings implied by author affiliations (modularity is a measure of the density of edges within a group e here, the authors' primary affiliations e relative to the density of edges among groups). In layman terms, ABM frameworks tend to be used by smaller groups of researchers, with published studies always including one or more of the group originally responsible for developing the framework. In contrast,
Fig. 1. Co-authorship network for the FEARLUS framework.
CLUE and GEOMOD are commonly used outside the group of developers, sometimes by researchers who have published previously with the developers, but quite commonly by research groups with no immediate connection in the literature to the developers. Again, it is certainly true that we are comparing smaller, more recent bodies of literature with the ABM frameworks to larger, longerrunning literatures for CLUE and GEOMOD. However, the lack of a single article published without one of the original ABM development group present is striking. 4. Introducing LUMPS and AMPS In many cases, newly published models represent some reinvention of the wheel e particular algorithms present in a published modeling framework, but needing to be developed anew in the modeler's project because of the difficulty in extracting and understanding code within the bigger, more rigid framework. We suggest that there is a way around this, and a means to promote the speed at which model functionality is exchanged. We need to work more at publishing model components separately. To illustrate what we are suggesting, we revisit how ABM are described in review articles (Table 1). It is clear that there are common dimensions that authors use to represent ABMs e key components they all possess and thus a good basis for comparison. In particular, we note the agent decision mode, social interactions, and environment structure as common components the reviews use for comparison. We make an analogy here with a genome: these model components become genes, with particular choices (such as rational optimization, bounded rational optimization, or heuristic rules as choices for the agent decision mode) representing traits of these genes. In this analogy then, the lack of convergence to an agreed-upon set of assumptions and rules in the science of ABM becomes (most typically) a problem of not knowing what the set of possible traits ought to be. Extending the analogy, we note that the code and sets of functionality that describe many of these components can be packaged conveniently in modular ways, and (with some effort, typically) plugged in and out of modeling tools (e.g., an agent decision module, a social interaction module, an environment structure module). Thus, if done carefully, traits expressed in the genome ought to be relatively easily interchanged for others. Stepping out of the genome analogy, these modules are perhaps more aptly termed ‘modeling primitives’ e land-use modeling primitives (LUMPs) or agent-based modeling primitives (AMPs), depending on context.
Fig. 2. Co-authorship network for the LUDAS framework.
A.R. Bell et al. / Environmental Modelling & Software 73 (2015) 189e200
193
Fig. 3. Co-authorship network for the AGRIPOLIS framework.
Fig. 4. Co-authorship network for the GEOMOD model.
Sometimes the development of AMPs is implicitly a part of ABM development, as models are coupled loosely to third-party software for the calculation of water transport, crop growth, etc. In truth, many of us as programmers build this way to begin with e leaving simple placeholders for a variable of interest as we build structure in other parts of our models. These placeholders are often good indicators of what might break off into a useful module. Our premise is that efforts to build modeling tools in a modular
way, and to make these LUMPs/AMPs available independently offer a range of benefits: 1) Encourage better coding practice 2) Enable faster assembly and multi-purposing of one's own code in new modeling tools 3) Improve dissemination of modeling parts among researchers and reduce reproduction
194
A.R. Bell et al. / Environmental Modelling & Software 73 (2015) 189e200
Fig. 5. Co-authorship network for the CLUE framework.
4) Make meaningful tasks in a larger model accessible to students at the Masters' thesis or class project scale This last point is of particular interest. Many introductory courses in ABM are restricted to the development of simple models from a NetLogo or RePast starting point. The availability of modules could provide a pedagogical inroad at the intermediate level to allow students to contribute to more engaging projects e drawing together existing modules, and developing the one or two that need to be written from scratch. This is an important training introduction to the collaborative model development process that will surely be an increasingly important skill among modelers in future.
5. Publishing AMPs and LUMPs The lynchpin to make the sharing of LUMPs/AMPs work is researcher incentive in the form of citation. We propose that a LUMP/AMP library be developed, similar to or as a part of the website OpenABM.org (which provides peer review for complete models, and with whom we have been in contact through the writing of this paper) with modules submitted for peer-review to include the following: 1) A clear description of module inputs and outputs 2) A complete pseudocode description of the algorithm 3) One well-commented implementation of the algorithm, in any language/platform 4) Sufficient data, and any necessary supplementary scripts, to test the algorithm 5) A list of key algorithm benchmarks and expected results, for testing purposes
6) If desired or applicable, one or more peer-reviewed publications written by the development team that employ the LUMP/AMP and can serve as the central citation Submitted thusly, modules could be linked to OpenABM models of which they are components. As is the case for models on OpenABM, the process of peer review allows the module to be cited formally. We already observe a great number of forums on the Internet serving up scripts and functions, written by helpful and altruistic programmers, to accomplish a range of common tasks (e.g., Stack Overflow, http://stackoverflow.com; ArcScripts, http://arcscripts. esri.com/; Pastie, http://apstie.org/pastes; GitHub Gist, https:// gist.github.com). The R Project (http://www.r-project.org/) and the user-contributed Matlab exchange (http://www.mathworks. com/matlabcentral/fileexchange/) are excellent examples of community developed packages that can be used to accomplish a wide range of computational, data manipulation, and visualization tasks common to researchers in different disciplines. Placing our earlier groupings of tools (Languages, Platforms, Frameworks, and Models) on spectrum, from the perspective of programming burden, such scripts sit far to the left, a simpler construction task than complete models (Fig. 6). We observe as well sites like OpenABM.org that
Fig. 6. LUMPs within the tool spectrum.
A.R. Bell et al. / Environmental Modelling & Software 73 (2015) 189e200
serve up complete models, free for us to use but often not well suited to the questions we have in mind. What we are proposing here is to work harder at filling the gap between these two scales, and make the innovative knowledge products that are the various modules within our finished tools, better available for our peers. ABM module sharing via CoMSES Net is currently a manual process where the module is curated and added to a git repository, with module metadata maintained in plaintext files in the repository (e.g., README.md, AUTHORS.md, DEPENDENCIES.md). Version control systems are the de facto standard for storing and tracking changes to source code. CoMSES Net is moving towards storing all uploaded ABMs in Git repositories and providing a publishing workflow that will mirror them on GitHub if so desired (e.g., https://github.com/comses-abm-modules). GitHub provides numerous benefits as mirrored infrastructure as well as convenient integration with third party services such as Zenodo that provide permanent, citable DOIs for module releases (for an example, see http://dx.doi.org/10.5281/zenodo.21967). CoMSES Net has plans in the near future to develop additional tooling and support for webbased submission of modules that automate the creation of git repositories and DOIs for ABM modules and models.
195
The five examples we include here do a better job of illustrating the range of tools we are talking about than of forming a coherent set. Drawn from recent coding efforts of the authors, they include: 1. A tool for estimating the Simpson's diversity index for a particular allocation of land covers at a location; 2. A genetic program AMP for estimating a ‘best’ function y(X), from observed results y and random variables; 3. A genetic algorithm AMP for estimating a ‘best’ portfolio of land and water allocations to crop rotations; and 4. A tool for estimating soil loss in a particular landscape via the RUSLE 5. A tool for solving water clearing and withdrawal through a simple irrigation system model Complete descriptions, code, and testing materials in the form suggested above are provided for these examples as appendices to this study. It is our hope in putting them forward that as seeds of a public repository, they will i) be of direct use in model applications, or ii) be of educational or inspirational value in developing new modules and applications, which in turn will add to and iii) encourage further additions to this new repository.
6. Examples 6.1. Example 1 e crop diversity index (CDI) To illustrate the range of tools we believe could be better utilized as AMPs or LUMPs in a repository, we provide a few examples developed as seeds for this effort. There are more potential categories of useful AMPs/LUMPs than we can reasonably provide examples for in this study, so for the purposes of illustration we restrict ourselves to relating our examples via two dimensions: i) an ‘ecological-social’ dimension, reflecting that modules may deal explicitly with physical, environmental, or ecological processes; or exclusively with decision processes; or some such combination; and ii) a simple-complex dimension, reflecting (as in Fig. 7) that AMPs and LUMPs as we have defined them occupy a band along a spectrum of programming burden, with very simple contributions having place alongside the very involved.
The number and frequency of crop types applied within a cropping rotation impact a range of soil and biotic characteristics within a given farm field or parcel of land in addition to other rberi and Lo ecological processes such as weed infestation (Ba Cascio, 2001), biodiversity (McLaughlin and Mineau, 1995), and carbon storage (West and Post, 2002). Knowing that crop management (e.g., till or no-till) and the length of a single crop left unharvested can have a large ecological benefit, it can be argued that a greater number and evenness of different crops within a rotation is more ecologically beneficial relative to a monoculture approach. To calculate a crop diversity index (CDI) we modify the Simpson's Diversity Index (Simpson, 1949) that is based on the spatial evaluation of species richness and evenness as done by McGarigal et al. (2002). To calculate CDI we use the following equation:
CDI ¼ 1
n X i¼1
Fig. 7. Relating sample AMPs; numbers in circles refer to the numbered examples in this study.
P 2i
where n is the number of crops applied within a given time period and P is the proportion of the length of time the land cover occupies within the regime. Time could be incorporated into this function, however, for simplicity we leave time exogenous and note that CDI values should only be compared among crop rotations that have the same duration. The range of CDI values is [0,1] such that a value of 0 indicates no diversity (i.e. a single crop) while a value approaching 1 indicates that the number of crops increases and the proportional composition of the crops within the regime are becoming more equitable. The CDI can be constructed as a LUMP in a number of ways. The simplest approach is to have a single CDI class that comprises a single CDI method (Appendix 1). The method takes a single array with a length equal to the number of unique crops comprising the rotation and the value of the elements in the array representing the duration of time that unique crop exists as part of that rotation. Alternative versions of this LUMP could take a number of approaches. For example, a two-dimensional array (or dictionarystyle data type) holding the crop type as one element and the length of time it is farmed in a corresponding element could be
196
A.R. Bell et al. / Environmental Modelling & Software 73 (2015) 189e200
used. The CDI method could then take as inputs rotations as they are used in a land use model (e.g., Maize, 6; Fallow 6; Maize 6; Winter Wheat 6) and consolidate that information (e.g., 12, 6, 6) for the calculation of CDI. In this example the numbers are representing months, but any time unit can be used. 6.2. Example 2 e genetic program This algorithm was originally written as part of a farming agent decision process in a model of technology diffusion. Agents needed to choose between a known technology or the new one, and looked to the experiences of those in their network to judge what potential returns existed for each. The genetic program here provides a boundedly-rational means for the agent to estimate an expected return based on observed characteristics of agents in the network (X) and their outcomes (yobs). The algorithm and parameterization is written based on the description given in Manson (2005): a population of candidate functions [yest(X)]i is generated randomly using a node-tree structure, in which a node is assigned to be either an operator [þ, , *, /] with some probability p, or a terminal node (either a constant or a variable xj) with probability (1 p). Operator nodes each have two child nodes, which in turn are assigned to be operators or terminal nodes with the same probabilities. Generated in this way, the function candidates are assigned a fitness score e here, the minimum residual (yest yobs)2 e with the likelihood of a candidate contributing to the next generation of candidates (via mutation, crossover, or direct reproduction) being proportional to this fitness score. A comprehensive discussion of the algorithm and its application in Manson's SYPRIA model are in (Manson and Evans, 2007; Manson, 2005). This module provides a boundedly rational approach to estimating a function y(X) based on observed data, with direct usability in any decision context where an agent has this task. This is a large and involved module, with most likely application to represent boundedly rational decision-making (complex, social in Fig. 7). Appendix 2 includes an implementation of this algorithm in MATLAB, including all necessary routines and a script for testing and evaluating the algorithm performance. 6.3. Example 3 e genetic algorithm for land-use allocation This example draws on the same concepts (and much of the same code) as the genetic program in Example 1, but rather than build and test programs (such as models of y(X) in Example 1) this algorithm seeks out ‘best’ land-use allocations based on a set of available crops and known water history. This module was repurposed from Example 1 for a model of irrigators making choices for their plots based on their expectation of how much water they would receive. In place of code to build functions y(X), it has code to build crop rotations and fit them into land allocations across a plot. In place of a minimum residual, it has an expected utility function to estimate the possible value to the farmer of that set of allocations over crop rotations. Finally, it has a set of algorithms for mutating, crossing over, and reproducing land-use allocations that is specific to this application's interpretation of what a ‘trait’ in the individual is, and how it should be modified. It embeds some agriculturespecific crop functionality, making it more of a mixed socioecological module than Example 1. Appendix 2 includes an implementation of this algorithm in MATLAB, including all necessary routines and a script for testing and evaluating the algorithm performance. Like any genetic algorithm, this example application requires specific definitions of what is meant by fitness, mutation, and crossover. In the case of Example 1, these definitions led to an algorithm that is quite general and widely useful; in the case of this
Example 2, much of this code is very particular to the application at hand. It is probably quite commonly true that AMPs and LUMPs will require some application-specific code in order to be complete and testable, but this does not limit the contribution that they make. Code sequences that are specific to the application at hand (and will likely need to be modified) can be clearly marked as such in comments (as they are in Appendix 3), and the task of repurposing modules to serve new application-specific goals (as Example 2 was repurposed in Example 3) is made possible. 6.4. Example 4 e revised universal soil loss equation The Revised Universal Soil Loss Equation (RUSLE) provides a second example of an ecological LUMP; however, unlike the CDI, implementing and using a RUSLE LUMP is much more complex. The RUSLE comprises several factors that contribute to soil erosion
A ¼ R$K$L$S$C$P where A is the average annual soil loss in metric tons per ha, R is a rainfall runoff erosivity factor, K is a soil erodibility factor, L is a slope length factor, S is a slope steepness factor, C is a cover management factor, and P is a supporting practices factor (Renard et al., 1991). The RUSLE is ideal for integration with land use models and others that couple human and natural systems because it is composed of environmental factors that are a function of climate (R and K) and landform (L and S) as well as human factors that are a function of land management practices (C and P). The calculation of each of the 6 factors comprising RUSLE can be challenging. However, a short description of the required inputs and their relation to individual RUSLE factors is needed. Average monthly precipitation values for the duration of a model run are the primary input for the R factor and have been shown to provide accurate outcomes (Renard and Freimund, 1994). Soil characteristics (e.g., texture, depth, organic matter, and permeability) are required for the calculation of the K factor (Wall et al., 2002). Using a digital elevation model, the slope length and steepness factors L and S can be calculated (Desmet and Govers, 1996). The RUSLE LUMP provided with this paper enables the user to provide all factors as input raster files and outputs an estimate of erosion per ha for each grid cell. In addition, three different methods for calculating the R factor (using average annual precipitation mm raster as input) are provided one each for locations in Canada, United States, and Hawaii. In most land-use models climate and landform are stationary over time. Under this assumption, the RUSLE LUMP could calculate R, K, L, and S factors at model initiation, or once and save and reload the data, leaving the C and P factors to be modified dynamically by agents. In an agricultural agent-based model, the land management practices of farming agents involve the selection of a crop rotation. Given this crop rotation and tracking of previous rotations over time, the components of the C factor (i.e., prior land use, percent canopy cover, percent surface cover, surface roughness, and soil moisture) can be 1) calculated, 2) extracted from a general lookup table provided as part of the LUMP, or 3) input as a site specific lookup table. Likewise, P describes the type of structural changes to crop farming that affect erosion (e.g., cross slope farming and strip cropping). As agents make decisions about these supporting practices, values can be extracted from lookup tables that have been empirically estimated and provided as defaults (e.g., Wall et al., 2002) or given as inputs. The RUSLE LUMP differs from the previous examples that are related specifically to the individual decision-making of an agent. It is likely that RUSLE would be primarily applied across the entire landscape and aggregated to a global model output, but it may also
A.R. Bell et al. / Environmental Modelling & Software 73 (2015) 189e200
be used as an agent-decision-making indicator of environmental degradation. The construction and availability of this LUMP is an ongoing project. 6.5. Example 5 e a module for water flow and withdrawal in an irrigation system In many cases a stylized representation of a resource system is appropriate for ABM purposes. For irrigation systems, when research questions relate to longer-term or seasonal provision of water, short-term flow processes such as draining and filling may be irrelevant and a node-based approximation to water distribution may be sufficient. This module represents an irrigated landscape by a system of link channels and nodes in a 2-D landscape. Farms withdraw water at nodes according to a specified demand; water not withdrawn at nodes is distributed across all outlet links from the node, proportionally according to their design flow. In this way the model approximates the water distribution behavior of a gravity-fed irrigation system. The farm objects in this module are placeholders, present only to demand and receive water. As written, this module could be utilized to connect any landscape of existing household agents, and substituted in or out of existing models for simpler or more sophisticated modules for water flow and provision. 7. From contributing to sharing In some cases, AMPS and LUMPS may be readily substitutable among each other, allowing ‘plug-and-play’ code. More commonly, we expect the task of repurposing AMPs and LUMPs to involve some revision and amendment, in turn producing valuable further contributions to the repository. Once again, the goal of promoting AMPs and LUMPs is not necessarily to provide a repository of coding solutions, but rather to make modeling assumptions (and their operationalization) more accessible than they commonly are now, embedded in larger modeling frameworks. We expect AMPs and LUMPs to be contributed in a range of languages and platforms (the implemented examples in this paper are split between Matlab and Java), with the repurposing of an AMP or LUMP in a new platform again constituting a valuable contribution to the repository. Much as the structure of object-oriented programming allows child objects to extend or modify the purpose of parent objects, so the repository will allow links among AMPs and LUMPs that translate or amend prior contributions. In the longer term it is our hope that opportunities for further encapsulation may emerge. Contributions addressing alternative approaches to a common task e calculating utility, or landscape suitability, for example e may accumulate that employ a common platform, draw on a common set of data inputs and produce a common data output. Because such a set would represent a convergent outcome of the sharing process, we argue that this would be the basis for developing a broader modeling framework, with greater potential for use across modeling groups and institutions. 8. What's already available? We are not the first to suggest alternatives to publishing model frameworks in the ABM community. Readers of earlier versions of this manuscript drew attention to a number of different approaches tackling the problem of ABM sharing and dissemination, several of which are worth highlighting here to clarify the space we believe our suggested mode would fill. The Modelling4All project (http://m.modelling4all.org/)
197
provides a web-based toolkit for the development of ABM using NetLogo that can be run either over the web or locally on a NetLogo installation. A central contribution of the Modelling4All project is the Behaviour Composer and its companion repository, a tool tailored specifically to the development and sharing of agent behaviors. With the Behaviour Composer, Modelling4All demonstrates the value of sharing model components in one space, and providing developers with an easy means of comparing alternative designs and assumptions within their own models. The choice of the NetLogo platform provides an easy entry point for new or novice modelers, and aids the Modelling4All objective of making the ABM approach more broadly accessible across research in different fields. However, this same feature limits the utility of the project across the community of ABM developers our efforts are intended to reach. As we argued above, the challenge with any current ABM framework or platform is that it is unlikely to embed sufficient functionality to satisfy any majority of ABM developers. NetLogo is perhaps not the most natural environment to develop computationally intensive decision modules such as genetic programs, for example. Parker et al. (2003) provides a step toward a common framework for sharing more complex modeling tools, specifically for the case of land-use/land-cover change (LULCC) models, with the MR POTATOHEAD (MPH) framework. The MPH framework offers both a template for describing and designing LULCC models, and an environment for developing them based on that template in RePast Java (Livermore, 2010). Perhaps the biggest contribution of the MPH and other protocols for ABM documentation (e.g., the Overview-Design Concepts-Details (ODD) protocol; Grimm et al., 2010) is that they also contribute to the borrowing of design elements or conceptual ideas. However, we extend our earlier argument to emphasize that a forum for sharing modules that is built around any particular platform or framework will exclude any existing modules unless they are already coded in that platform or the developer is willing to rethink them in that platform. This is the kind of transaction cost that might discourage sharing, and is precisely the kind of barrier we are hoping to chisel away at with the approach we propose in this study. Stepping out from ABM-specific efforts, Voinov and Shugart (2013) briefly review efforts across modeling fields at modular construction and sharing dating back to the mid-1990s. Along this history the OpenMI Initiative (Moore et al., 2010; www.openmi. org) is worth highlighting. OpenMI is a modeling standard whose goal is to streamline the exchange of data among models at runtime, allowing truly integrated modeling environments. OpenMIcompliant models have been written to provide a standard OpenMI interface that shares necessary model definition and configuration details and provides a means to run the model as well as input/output data at runtime. Motivated initially by the need to couple a range of biophysical and decision models within a water catchment modeling context, the standard is intended to be general across models and has been applied to a range of coupled modeling efforts (e.g., Knapen et al., 2013; Royse et al., 2014). The task of coupling ABMs to other models is itself something of a ‘gene’ with model developers writing different ‘traits’ to address the task; OpenMI might in time be the clear standard upon which ABM developers converge as a means to link components. As one feature of OpenMI is the relatively low effort required to revise models to be OpenMI compliant, it may be a key tool in enhancing the value of the type of repository we propose in the current study. The contrast we hope to highlight in this section is that while several researchers have attempted to tackle the sharing problem by prescribing a standard e a common platform for development, or a common template for model structure e we hope to contribute by better enabling a standard to emerge. Our intent is to reduce the cost of sharing existing tools (possibly enabled in part by standards,
198
A.R. Bell et al. / Environmental Modelling & Software 73 (2015) 189e200
such as OpenMI), such that preferred platforms or structures might emerge from contributions to the repository. Our proposed approach is intended as a catalyst to making research efforts such as Modelling4All or MPH more effective. 9. What could go wrong? We are proposing a shift in the way models are packaged and shared, with the goal of increasing the overall level of sharing. Implicit in this goal is an increase in the use of agent-based modeling content by those who did not produce it, and subsequently a possible increase in the potential misuse and misunderstanding of model inputs, outputs, and their built-in assumptions. Issues arising from an imperfect understanding of model inputs and outputs affect data interoperability and are often the result of ‘semantic heterogeneity’ (e.g., Hull, 1997), a domain of data sciences that emerged decades ago as the task of integrating datasets from different sources became more central to operations in commerce, research, and elsewhere. Semantic heterogeneity issues can arise when using an AMP or throughout the modeling process when piecing together many AMPs, in terms of language (e.g., character encoding, variations in parsing), concepts (e.g., how data are aggregated, abbreviated), domain (e.g., whether groups of attributes are treated as same or distinct, the precision of data, the scale or units of data), or with the data structure itself (e.g., ordering, treatment of missing values, case matching), following the taxonomy of Bergman (2014). The potential issue of semantic heterogeneity between an AMP's inputs and outputs and the expectation of the user is common to many computational products (e.g., scripts, functions, or full models) used by those who did not develop them. One could argue that semantic heterogeneity is a more tractable problem among modeling tools than datasets and likewise we believe the issue is more tractable with smaller modeling components like AMPs than with larger models. While the increased use of smaller modeling components may increase the probability of a semanticheterogeneity issue arising, the responsibility to avoid this issue lies with both the user and producer. The producer of the tool holds some responsibility to communicate the structure and assumptions embedded in input or output data, whilst the user bears the burden of verifying that the tool she is using actually meets her needs with respect to the data they have, or the data they need to produce. Unlike datasets, a welldocumented AMP (or modeling product at any scale) may often be easily modified to overcome semantic heterogeneity in inputs or outputs through manipulation of code e possibly in turn creating a new and valuable contribution. A complicating factor is that by design, AMPs and LUMPs are meant to be integrated parts of a whole, such that mismatches between one AMP's output and the data needs of the next AMP's input might be internal to the complete model and hidden from the user. Voinov and Shugart (2013) suggest the consideration of datasets used by models as being models themselves, perhaps helpful in maintaining their visibility and reinforcing datasets' capacity to keep models well grounded. Where even the most careful treatment of model datasets, inputs and outputs fail to address issues in how modules couple, we come to our discussion of misunderstanding model assumptions. Issues of mismatch or misunderstanding across model assumptions e where model structure is improperly communicated, or where nomenclature communicates different concepts to different users e is potentially a more pernicious problem arising from the sharing of models than issues with data. When model assumptions are miscommunicated or misunderstood, tools get used in ways for which they were not designed, or are purported to demonstrate effects that they may in fact not. Again here, we note
that such issues are general to modeling products at any scale e even a complete and calibrated, internally consistent modeling tool runs the risk of having its underpinning assumptions misunderstood (this is in fact one of our motivations for this study). A central argument of our paper has been that AMPs and LUMPs embed smaller functional blocks that are more legible to the user. Thus, it is reasonable to think that the level of misunderstanding of AMP function, structure, and data inputs and outputs should be less than that encountered when using a larger modeling structure. Voinov and Shugart (2013) argue that the feasibility of module integration (and the re-use of code) decreases with modules that are more reliant on data and have higher burdens of calibration. We look forward to observing whether these outcomes emerge from the repository we propose here, where sharing and (appropriate) re-use is expected to be higher with the components of simpler, exploratory models than of more complicated structures. 10. Summary In this study we examined agent-based modeling (ABM) in the context of natural resource management (NRM). We highlighted the importance in ABM (as in modeling more broadly) of choosing processes appropriate to the research question, noting that the agreement around what the set of important processes is (for modeling decisions, e.g.) is still relatively weak. Coupled with the programming complexity of such processes in ABM, this has hampered the spread of widely used modeling frameworks that exist in other fields (such as the CLUE and GEOMOD frameworks of use in the land-use and land-cover change research communities). Even the most widely used ABM frameworks in NRM do not seem to be used outside of their core development groups, and many researchers still choose to build models from scratch rather than work from the constraints of existing platforms or frameworks. A possible saving grace for agent-based models in this context is the modular way in which they can be constructed. Reviewers of agent-based models commonly land on a few dimensions of models in particular e such as the environment, network, and decision structures e that may almost be described as ever-present ‘genes’ in an ABM ‘genome’. Following this analogy, particular approaches to modeling environments, networks, or decisions are ‘traits,’ and implemented carefully, there may be much opportunity to share these traits more widely within the ABM community. We propose here a means of packaging individual modules e ‘agentbased modeling primitives (AMPs)’ or ‘land-use modeling primitives (LUMPs)’ e and a space for their dissemination, with the hopes that they can enhance our ability as an ABM community to share research, teach new modelers, and move toward a shared agreement on the key processes (and their operationalizations) that govern our research domain. Acknowledgments This work was funded by the Biosight project, which falls under the PIM (Policies, Institutions, and Markets) research program of the Consultative Group on International Agricultural Research (CGIAR). Support was also provided under the National Science and Engineering Research Council (NSERC) Discovery Grant program of Canada. We are grateful to Michael Barton, Marco Janssen, and Allen Lee for discussions that helped to shape the manuscript, and additionally to Allen Lee for testing ways for modules to fit within an OpenABM platform. Additional thanks go to Ian Evans. Appendix A. Supplementary data Supplementary data related to this article can be found at http://
A.R. Bell et al. / Environmental Modelling & Software 73 (2015) 189e200
dx.doi.org/10.1016/j.envsoft.2015.07.016. References An, L., 2012. Modeling human decisions in coupled human and natural systems: review of agent-based models. Ecol. Model. 229, 25e36. http://dx.doi.org/ 10.1016/j.ecolmodel.2011.07.010. Athanasiadis, I.N., Mitkas, P.A., Tzima, F., 2007. Agent-based modelling and simulation in the irrigation management sector: applications and potential. In: Lamaddalena, N., Bogliotti, C., Todorovic, M., Scardigno, A. (Eds.), Water Saving in Mediterranean Agriculture and Future Research Needs, pp. 273e286. Axelrod, R., Cohen, M.D., 2000. Harnessing Complexity: Organizational Implications of a Scientific Frontier. Basic Books, New York, NY. Bajracharya, K., Duboz, R., 2013. Comparison of three agent-based platforms on the basis of a simple epidemiological model (WIP). In: Proceedings of the Symposium on Theory of Modeling & Simulation e DEVS Integrative M&S Symposium, p. 6. San Diego, California. Retrieved from. http://dl.acm.org/citation.cfm? id¼2499641. Bankes, S.C., 2002. Agent-based modeling: a revolution? Proc. Natl. Acad. Sci. U. S. A. 99, 7199e7200. rberi, P., Cascio, B.L., 2001. Long-term tillage and crop rotation effects on weed Ba seedbank size and composition. Weed Res. 41 (4), 325e340. http://dx.doi.org/ 10.1046/j.1365-3180.2001.00241.x. Becu, N., Perez, P., Walker, a, Barreteau, O., Page, C.L., 2003. Agent based simulation of a small catchment water management in northern Thailand. Ecol. Model. 170 (2e3), 319e331. http://dx.doi.org/10.1016/S0304-3800(03)00236-9. Bell, A.R., 2011. Environmental licensing and land aggregation: an agent-based ^ nia. Ecol. approach to understanding ranching and land use in Rural Rondo Soc. 16 (1), 52. Berger, T., 2001. Agent-based spatial models applied to agriculture: a simulation tool for technology diffusion, resource use changes and policy analysis. Agric. Econ. 25 (2e3), 245e260. http://dx.doi.org/10.1111/j.1574-0862.2001.tb00205.x. Berger, T., Ringler, C., 2002. Trade-offs, efficiency gains and technical change e modeling water management and land use within a multiple-agent framework authors. Q. J. Int. Agric. 41, 119e144. Bergman, M., 2014. Big Structure and Data Interoperability: a Critical Fit with the Semantic Web and AI. Retrieved February 25, 2015, from. http://www. mkbergman.com/wp-content/uploads/kalins-pdf/singles/big-structure-anddata-interoperability.pdf. , G., Rovere, S., North, M., Mene ndez, A., Laciana, C., , et al.Sydelko, P., Bert, F., Podesta 2010. Agent-based modeling of a rental market for agricultural land in the Argentine Pampas. Management (c). Bousquet, F., Le Page, C., 2004. Multi-agent simulations and ecosystem management: a review. Ecol. Model. 176 (3e4), 313e332. http://dx.doi.org/10.1016/ j.ecolmodel.2004.01.011. Brown, D.G., Robinson, D.T., 2006. Effects of heterogeneity in residential preferences on an agent-based model of urban sprawl. Ecol. Soc. 11 (1), 46. [online] http:// www.ecologyandsociety.org/vol11/iss1/art46/. Brown, D.G., Robinson, D.T., Nassauer, J.I., An, L., Page, S.E., Low, B., Rand, W., Zellner, M., Riolo, R., 2008. Exurbia from the bottom-up: agent-based modeling and empirical requirements. Geoforum 39, 805e818. ~ a, A., Liu, J., 2012. Agent-based modeling of the Chen, X., Lupi, F., An, L., Sheely, R., Vin effects of social norms on enrollment in payments for ecosystem services. Ecol. Model. 229, 16e24. http://dx.doi.org/10.1016/j.ecolmodel.2011.06.007. Desmet, P., Govers, G., 1996. A GIS procedure for automatically calculating the USLE LS factor on topographically complex landscape units. J. Soil Water Conserv 51 (5), 427e433. Evans, T., Robinson, D.T., Schmitt-Harsh, M., 2013. Limitations, challenges, and solutions to integrating carbon dynamics with land-use models. In: Brown, D.G., Robinson, D.T., French, N.H.F., Reed, B.C. (Eds.), Land Use and the Carbon Cycle: Advances in Integrated Science, Management, and Policy. Cambridge University Press, pp. 178e208. Gilbert, N., Troitzsch, Klaus G., 1999. Simulation for the Social Scientist. Open University Press, Philadelphia, PA. Grimm, V., Revilla, E., Berger, U., Jeltsch, F., Mooij, W.M., Railsback, S.F., Thulke, H.-H., Weiner, J., Wiegand, T., DeAngelis, D.L., 2005. Pattern-oriented modeling of agent-based complex systems: lessons from ecology. Science 310, 987e991. Grimm, V., Berger, U., DeAngelis, D.L., Polhill, J.G., Giske, J., Railsback, S.F., 2010. The ODD protocol: a review and first update. Ecol. Model. 221 (23), 2760e2768. http://dx.doi.org/10.1016/j.ecolmodel.2010.08.019. Hall, C., Tian, H., Qi, Y., Pontius, G., Cornell, J., 1995. Modeling spatial and temporal patterns of tropical land use change. J. Biogeogr. 22, 753e757. Happe, K., Kellermann, K., Balmann, A., 2006. Agent-based analysis of agricultural policies: an illustration of the agricultural policy simulator AgriPoliS, its adaptation and behavior. Ecol. Soc. 11 (1). Hare, M., Deadman, P., 2004. State of the art further towards a taxonomy of agentbased simulation models in environmental management. Math. Comput. Simul. 64, 25e40. Heckbert, S., 2011. Agent-based modelling of emissions trading for coastal landscapes in transition. J. Land Use Sci. 6 (2-3), 137e150. Holland, J.H., 1995. Hidden Order: How Adaptation Builds Complexity. AddisonWesley, Reading, MA. Hull, R., 1997. Managing semantic heterogeneity in databases: a theoretical perspective. In: Proceedings of the Sixteenth ACM SIGACT-SIGMOD-SIGART
199
Symposium on Principles of Database Systems. ACM, New York, USA, pp. 51e61. Knapen, R., Janssen, S., Roosenschoon, O., Verweij, P., Winter, W., De, Uiterwijk, M., Wien, J., 2013. Evaluating OpenMI as a model integration platform across disciplines. Environ. Model. Softw. 39, 274e282. http://dx.doi.org/10.1016/ j.envsoft.2012.06.011. Kohler, T.A., Gumerman, G.J., 2000. Dynamics in Human and Primate Societies: Agent-based Modeling of Social and Spatial Processes. Oxford University Press, New York, NY. Kremmydas, D., 2012. Agent Based Modeling for Agricultural Policy Evaluation: a Review (No. 2012-3). Athens. Le Page, C., Becu, N., Bommel, P., Bousquet, F., 2012. Participatory agent-based simulation for renewable resource management: the role of the Cormas simulation platform to nurture a community of practice. J. Artif. Soc. Soc. Simul. 15 (1), 10. Le, Q.B., Park, S.J., Vlek, P.L.G., Cremers, A.B., 2008. Land-use dynamic simulator (LUDAS): a multi-agent system model for simulating spatio-temporal dynamics of coupled humanelandscape system. I. Structure and theoretical specification. Ecol. Inf. 3 (2), 135e153. http://dx.doi.org/10.1016/j.ecoinf.2008.04.003. Livermore, M., 2010. Mr Potatohead framework: a software tool for collaborative land-use change modeling. International Congress on Environmental Modelling and Software: Modelling for Environment's Sake. Fifth Biennial Meeting. In: Swayne, D.A., Yang, W., Voinov, A.A., Rizzoli, A., Filatova, T. (Eds.), International Environmental Modelling and Software Society (iEMSs), Ottawa, Canada. Magliocca, N.R., Brown, D.G., Ellis, E.C., 2013. Exploring agricultural livelihood transitions with an agent-based virtual laboratory: global forces to local decision-making. PloS One 8 (9), e73241. http://dx.doi.org/10.1371/ journal.pone.0073241. Manson, S.M., 2005. Agent-based modeling and genetic programming for modeling n Peninsular Region of Mexico. Agric. Ecoland change in the Southern Yucata syst. Environ. 111 (1e4), 47e62. http://dx.doi.org/10.1016/j.agee.2005.04.024. Manson, S.M., Evans, T., 2007. Agent-based modeling of deforestation in southern Yucatan, Mexico, and reforestation in the Midwest United States. Proc. Natl. Acad. Sci. U. S. A. 104 (52), 20678e20683. http://dx.doi.org/10.1073/ pnas.0705802104. Matthews, R.B., Gilbert, N.G., Roach, A., Polhill, J.G., Gotts, N.M., 2007. Agent-based land-use models: a review of applications. Landsc. Ecol. 22 (10), 1447e1459. http://dx.doi.org/10.1007/s10980-007-9135-1. McLaughlin, A., Mineau, P., 1995. The impact of agricultural practices on biodiversity. Agric. Ecosyst. Environ. 55 (3), 201e212. McGarigal, K., Cushman, S.A., Neel, M.C., Ene, E., 2002. FRAGSTATS: Spatial Pattern Analysis Program for Categorical Maps. Computer software program produced by the authors at the University of Massachusetts. Amherst. Available from http://www.umass.edu/landeco/research/fragstats/fragstats.html. Moore, R., Gijsbers, P., Fortune, D., Gregersen, J., Blind, M., Grooss, J., Vanecek, S., 2010. Scope for the OpenMI (Version 2.0). OpenMI Document Series, Wallingford, UK. Murray-Rust, D., Brown, C., van Vliet, J., Alam, S.J., Robinson, D.T., Verburg, P.H., Rounsevell, M., 2014a. Combining agent functional types, capitals and services to model land use dynamics. Environ. Model. Softw. 59, 187e201. Murray-Rust, D., Robinson, D.T., Guillem, E., Karali, E., Rounsevell, M., 2014b. Aporia: an open framework for agent based modeling of land use change. Environ. Model. Softw. 61, 19e38. buil, G., Gajaseni, N., 2010. Participatory agent-based Naivinit, W., Le Page, C., Tre modeling and simulation of rice production and labor migrations in Northeast Thailand. Environ. Model. Softw. 25 (11), 1345e1358. http://dx.doi.org/ 10.1016/j.envsoft.2010.01.012. National Research Council, 2013. Advancing Land Change Modeling: Opportunities and Research Requirements. National Academies Press, Washington, DC, p. 146. Parker, D.C., Manson, S.M., Janssen, M.A., Hoffmann, M.J., Deadman, P., 2003. Multiagent systems for the simulation of land-use and land-cover change: a review. Ann. Assoc. Am. Geogr. 93 (2), 314e337. Parunak, H.V.D., Savit, R., Riolo, R.L., 1998. Agent-based modeling vs. equation-based modeling: a case study and Users' guide, Proceedings of Multi-agent systems and Agent-based Simulation (MABS'98). Springer, pp. 10e25. LNAI 1534. Polhill, J.G., Gotts, N.M., Law, A.N.R., 2001. Imitative versus non-imitative strategies in a land-use simulation. Cybern. Syst. 32, 285e307. Railsback, S.F., Lytinen, S.L., Jackson, S.K., 2006. Agent-based simulation platforms: review and development recommendations. Simulation 82 (9), 609e623. http://dx.doi.org/10.1177/0037549706073695. Renard, K.G., Foster, G.R., Weesies, G.A., Porter, J.P., 1991. RUSLE: revised universal soil loss equation. J. Soil Water Conserv. 46 (1), 30e33. Renard, K.G., Freimund, J.R., 1994. Using montly precipitation data to estimate the R-factor in the revised USLE. J. Hydrol. 157, 287e306. Robinson, D.T., Brown, D.G., 2009. Evaluating the effects of land-use development policies on ex-urban forest cover: an integrated agent-based GIS approach. Int. J. Geogr. Inf. Sci. 23 (9), 1211e1232. http://dx.doi.org/10.1080/ 13658810802344101. Robinson, D.T., Brown, D.G., Parker, D.C., Schreinemachers, P., Janssen, M.A., Huigen, M., , et al.Barnaud, C., 2007. Comparison of empirical methods for building agent-based models in land use science. J. Land Use Sci. 2 (1), 31e55. http://dx.doi.org/10.1080/17474230701201349. Robinson, D.T., Murray-Rust, D., Rieser, V., Milicic, V., Rounsevell, M., 2012. Modelling the impacts of land system dynamics on human well-being: using an agent-based approach to cope with data limitations in Koper, Slovenia. Comp., Environ., Urban Sys. 36 (2), 164e176.
200
A.R. Bell et al. / Environmental Modelling & Software 73 (2015) 189e200
Rounsevell, M., Robinson, D.T., Murray-Rust, D., 2012. From actors to agents in socio-ecological systems models. Philos. Trans. R. Soc. B. 367, 259e269. http:// dx.doi.org/10.1098/rstb.2011.0187. Royse, K.R., Hillier, J.K., Wang, L., Lee, T.F., Niel, J.O., Kingdon, A., Hughes, A., 2014. The application of componentised modelling techniques to catastrophe model generation. Environ. Model. Softw. 61, 65e77. http://dx.doi.org/10.1016/ j.envsoft.2014.07.005. Sun, Z., Müller, D., 2013. A framework for modeling payments for ecosystem services with agent-based models, Bayesian belief networks and opinion dynamics models. Environ. Model. Softw. 45, 15e28. http://dx.doi.org/10.1016/ j.envsoft.2012.06.007. Simpson, E.H., 1949. Measurement of diversity. Nature 163, 688. Valbuena, D., Verburg, P.H., Bregt, A.K., Ligtenberg, A., 2009. An agent-based
approach to model land-use change at a regional scale. Landsc. Ecol. 25 (2), 185e199. http://dx.doi.org/10.1007/s10980-009-9380-6. Veldkamp, A., Fresco, L.O., 1996. CLUE: a conceptual model to study the conversion of land use and its effects. Ecol. Model. 85 (2e3), 253e270. Voinov, A., Shugart, H.H., 2013. “Integronsters”, integral and integrated modeling. Environ. Model. Softw. 39, 149e158. http://dx.doi.org/10.1016/ j.envsoft.2012.05.014. Wall, G.J., Coote, D.R., Pringle, E.A., Shelton, I.J., 2002. RUSLEFAC e Revised Universal Soil Loss Equation for Application in Canada: a Handbook for Estimating Soil Loss from Water Erosion in Canada. Research Branch. Agriculture and Agri-Food Canada, Ottawa. West, T.O., Post, W.M., 2002. Soil carbon sequestration by tillage and crop rotation: a global data analysis. Soil Sci. Soc. Am. J. 66, 1930e1946.