Multi-Agent Modeling for Complex Systems