3. Methodology
3.7 Survey of modelling platforms
adopted and coded) using the toolkit. It is an added advantage if the code can also be shared among a common set of generic software libraries.
Flexibility: for all toolkits, there is always a trade-off between ease of use and flexibility. Many of the platforms that incorporate ‘English-like’ commands (beginner-friendly toolkits) are often more constrained in terms of what they can achieve and the degree to which they can be scaled. However, as the complexity of the system being modelled increases, the model may ideally require complicated scripting languages and more time- consuming coding processes. Therefore, it is for the researcher to find a balance between simulating the social system and computing capabilities.
Background support: as a relatively inexperienced programmer, the availability of support (manuals, tutorials and online communities) was important in successfully executing the model. Each model content is unique and so advice and solutions from other developers was an advantage in trouble-shooting challenging aspects of the code.
Potential for dissemination: this consideration is necessary for sharing the model and allowing other researchers to experiment with, and potentially extend the model in the long-term. In this space, it is very common for developers to build on existing models by changing the parameters and moving between platforms (mentioned above). This is harder with models that require specialised techniques.
3.7.1 Selection of Netlogo
Based on the above considerations, some potential toolkits were reviewed: Netlogo, RePast, Swarm and IntelliJ IDEA. These are popular platforms for building agent-based models and many papers have conducted surveys on them (Tobias and Hofmann, 2004; Abar et al., 2017). This section provides a general summary of the respective advantages and limitations to each of these platforms with regard to this research.
Although these open-source toolkits fulfil many of the criteria described above, Netlogo (Wilensky, 1999) was selected because it provided the best fit/blend of these criteria. Developed by researchers at Northwestern University in the United States, it utilises a simplified programming language and provides an intuitive graphical interface that allows users to build, observe and use agent-based models. It was specifically designed as a learning tool and as such, users do not need to have prior knowledge of the complex details of standard programming languages to use this
software. Netlogo also provides an extensive set of documentation and tutorial materials which meets the needs of a learner with limited programming experience.
In comparison, the other platforms also share a lot of similar features with Netlogo. The Swarm toolkit (Langton et al., 1999) was designed to be used in multiple disciplines with a basic architecture that allows the user to simulate collections of concurrently interacting agents (just like Netlogo). In terms of scalability of the simulation, it is highly ranked (Abar et al. (2017). However, in comparison to Netlogo, the programming language requirements makes it a complex/hard package to execute. Within the context of this research, it was thus considered too advanced to operationalise and was not selected. Next is the Recursive Porous Simulation Toolkit – RePast (Collier, 2001) which builds on a Swarm-like framework and utilises graphic user interface control panels, and similar data collection abilities. In addition, it has strong Geographical Information Systems (GIS) features to simulate actual terrain. While this can be a valuable feature, it was unimportant for this research and was consequently considered an added complexity in building the model. The fourth toolkit considered was IntelliJ IDEA, an integrated development environment for building computer software. It is a flexible tool that allows the programmer to work in an array of languages – this also means the model can be developed to high specification and can scale very well. However, it requires a number of plugins, as well as working knowledge of python computer language.
The major difference between Netlogo and the other toolkits (and a key deciding factor) was the coding language. To a large degree, the modelling capacity of each toolkit is closely tied to the language. Swarm and RePast are written in Java, and IntelliJ IDEA is in python. In contrast, Netlogo is written using Scala (a general-purpose programming language). It can be compiled into Java-byte code and is fully inter-operable with Java and other JVM codes. This scripting language is transferable but much easier to learn than Java. Because of this, it is categorised in the medium- high level scalability/strength, but requires less model development effort (Abar et al., 2017). However, this relatively easy coding language imposes constraints on how the model can be constructed i.e. simulations run on existing built in component pieces. In contrast, the other toolkits theoretically have no constraints on what can be modelled (it is purely dependent on the researchers programming abilities). This limitation was considered a reasonable trade-off; the fundamental needs of the model were met, and it scored highest on the primary criterion highlighted above. An added benefit of this selection is that successfully executing the model on a
relatively simple platform means this approach is a practically applicable strategy in long-term development planning.
In conclusion, this research aims to explore the use of simulations in studying complex social systems in general, and the ESSPIN case-study in particular. Hence, Chapter 3 goes through the research design process, linking the research objectives to methodologies best suited to answering the questions posed by this thesis. Because this research is partly an exploration of a methodology (agent-based modelling of complex social systems), this Chapter necessarily covers the overall structure of the research, as well as a briefer overview of specific structure of the modelling process.41 In this context, methods that facilitated immersion in the context were adopted (key
informant interviews and observation) to collection qualitative data (Stake, 1995; Yin, 2003; Baxter and Jack, 2008). Social and behavioural theories from Bennett (1976) and Bharwani (2004) were identified as providing a useful template to re-structure the collected data through a knowledge engineering process. In addition, quantitative information on the implementation of ESSPIN provides a useful resource to validate the model. Ethical issues regarding this research (and pertaining to data) was discussed with guidance from the literature Madge (2007), Sumner (2009) and Corbridge (2015). After a survey of a range of modelling platforms, Netlogo (developed by Wilensky (1999)) was selected based on a set of criteria presented in Section 3.7 – these criteria tie closely to the research objectives regarding the practical applicability of this approach in the development sphere.
By adopting a holistic approach to study ESSPIN, this research utilises a combination of methods which facilitate building agent-based models. This offers a practical means of analysing real world data and reducing disciplinary boundaries. One of the most unique features of such models is that it takes into account the emergent properties that arise from collective behaviours. Hence, with these models we can study how a system’s behaviour arises from and is linked to the characteristics and behaviours of its individual components. Agent-based models are particularly well suited to this analysis because they highlight decentralised decision making, self-organisation, local-global interactions and the effects of heterogeneity in the simulated system. The next chapter provides more information on ESSPIN as implemented in Lagos and Kaduna states.
41 More extensively discussed in Chapter 7.