A simulation model requires understanding and simplifying a system in a computer model. This requires defining what kinds of actors that simulations have, what those actors do in the simulations and in what kind of environment. Furthermore, simulations are often used to understand implications of interactions between different agents, rules and the environment. What kinds of loops that push the phenomena further take place in the system? In the case of Schelling (1971), one actor moving to another location frees the space for another actor to move in and reserves space somewhere else. This leads to reinforcing the loop as actors are moving within the system, thus leading to stronger segregation. As we showed above, for computational simulations all of these need to be formalised via code, which then can be executed. Therefore, the following questions help to think of the problem as a simulation.
Answering these questions gives an idea about the phenomena. There are many ways to do simulations depending on the level of complexity (Gilbert and Troitzsch, 2005, 1-13). If we focus more on individual activity, like the Schelling (1971) example, our model must include several units. If instead our focus is on the wider system, the focus is not on any individual actor but on wider systems and will have fewer units of analysis. We would also define relationships between these units and choose parameter values that define what kinds of relationships emerge.
Computationally, a simulation process is simple. We let the `time flow' in the simulation, execute the various rules and update the various variables related to those rules. This is known as stepping the time, which is most easily understood through the lens of a population simulation. For example, we may have a rule that on each time step, the age of all persons increases by one. Therefore, if the age was 25 at the initial time (often marked as ), after one step it would be 26 () and after 100 steps - if we did not limit the age of people - it would be 125. However, the complexity emerges from somewhat complex variable computations or interactions. For example, we could estimate that women between 15 and 40 have a chance to give birth (in more advanced simulations, this could be different for different age groups). This would include an additional step in the time flow. If the person we are analysing is between those ages, they may give birth, or create a new person to our model. To further complicate these, this change could relate to the number of appropriate-aged men in the same town where the women are, thus illustrating a potential mismatch between these. Simulation models use two main inputs when computing new values for variables at this step: the values computed at previous steps and the rules governing how variables behave and what relationships exist between them. These calculations are repeated and continue to move the simulation forward, or `runs' the simulation.