Agent-based modeling: Methods and techniques for simulating human systems | Synapse