An agent-based model consists of four features: a set of agents defined by the user; a set of agent relationships, also defined by the user; an environment in which the agents live, such as infrastructure and roads; and a framework for simulating all these agent behaviors and interactions.