Hammer or Tongs: How Best to Build Agent-Based Models?

  • Michael J. North
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 10978)


Agent-based modeling has been widely applied to solve problems in contexts ranging from exploratory research studies to focused industrial practice. As the application of agent-based modeling has grown, developers have advocated a wide and diverse variety of development techniques. Some of these techniques inform elements of model creation, validation, or use. Others are comprehensive development methodologies. The popularity of agent-based modeling makes it impossible to include every development technique mentioned in the literature. Instead, this paper focuses on providing a representative sample that includes the techniques with the most practical utility along with those that are widely used or have received substantial attention. The sample reviewed in this paper includes techniques advocated specifically for agent-based modeling along with general software development approaches. Due to their importance, verification and validation techniques for agent-based modeling are specially highlighted. The paper concludes with a summary and recommendations on how best to build agent-based models.


Agent-based modeling Agent-based simulation Software development Development methodologies 


  1. Abar, S., Theodoropoulos, G.K., Lemarinier, P., O’Hare, G.M.P.: Agent based modelling and simulation tools: a review of the state-of-art software. Comput. Sci. Rev. 24, 13–33 (2017)CrossRefGoogle Scholar
  2. Anonymous: 99 Little Bugs in the Code (2000).
  3. Beck et al.: Manifesto for Agile Software Development (2001). Accessed on 20 Mar 2018
  4. Bersini, H.: UML for ABM. J. Artif. Soc. Soc. Simul. 15(1), 9 (2012)CrossRefGoogle Scholar
  5. Bert, F.E., Rovere, S.L., Macal, C.M., North, M.J., Podestá, G.P.: Lessons from a comprehensive validation of an agent-based model: the experience of the pampas model of argentinean agricultural systems. Ecol. Model. 274, 284–298 (2014)CrossRefGoogle Scholar
  6. Bonabeau, E.: Agent-based modeling: methods and techniques for simulating human systems. Proc. Nat. Acad. Sci. U.S.A. 99(Suppl. 3), 7280–7287 (2002)CrossRefGoogle Scholar
  7. Borshchev, A., Filippov, A.: From system dynamics and discrete event to practical agent based modeling: reasons, techniques, tools. In: 22nd International Conference of the System Dynamics Society, Oxford, 25–29 July 2004Google Scholar
  8. Brooks, F.: The Mythical Man-Month. Addison-Wesley, Boston (1975)CrossRefGoogle Scholar
  9. Chlipala, A.: Certified Programming with Dependent Types. MIT Press, Cambridge (2017)zbMATHGoogle Scholar
  10. Collier, N.T., Ozik, J.: Test-driven agent-based simulation development. In: Proceedings of the 2013 Winter Simulation Conference, 8–11 December 2013. IEEE Press, Washington, D.C. (2013)Google Scholar
  11. Collier, N.T., North, M.J.: Parallel agent-based programming with repast for high performance computing. Simulation 89, 1215–1235 (2012)CrossRefGoogle Scholar
  12. Denz, N.: Process-oriented analysis and validation of multi-agent-based simulations: concepts and case studies. Dissertation, University of Hamburg (2013)Google Scholar
  13. Edwards, C.: Automating proofs. Commun. ACM 59(4), 13–15 (2016)CrossRefGoogle Scholar
  14. Fortino, G., North, M.J.: Simulation-based development and validation of multi-agent systems: AOSE and ABMS approaches. J. Simul. 7(3), 137–143 (2013)CrossRefGoogle Scholar
  15. Ghorbani, A., Bots, P., Dignum, V., Dijkema, G.: MAIA: a framework for developing agent-based social simulations. J. Artif. Soc. Soc. Simul. 16(2), 9 (2013)CrossRefGoogle Scholar
  16. Giancarlo, F., Garro, A., Russo, W.: A Discrete-event simulation framework for the validation of agent-based and multi-agent systems. In: dagli Oggetti agli Agenti Simulazione e Analisi Formale di Sistemi Complessi, Camerino, 14–16 November 2005, pp. 75–84 (2005)Google Scholar
  17. Gkaras, G., Dimitrios, Y.: Teaching ‘emergence’ with netlogo in a high school project about complex systems and climate change. In: Proceedings of the 3rd International Conference for the Promotion of Educational Innovation, Larissa, October 2017Google Scholar
  18. Grimm, V., Revilla, E., Berger, U., Jeltsch, F., Mooij, W.M., Railsback, S.F., Thulke, H.-H., Weiner, J., Wiegand, T., DeAngelis, D.L.: Pattern-oriented modeling of agent-based complex systems: lessons from ecology. Science 310(5750), 987–991 (2005)CrossRefGoogle Scholar
  19. Jennings, N.R.: On agent-based software engineering. Artif. Intell. 117, 277–296 (2000)CrossRefGoogle Scholar
  20. Jennings, N.R.: An agent-based approach for building complex software systems. Commun. ACM 44(4), 35–41 (2001)CrossRefGoogle Scholar
  21. Jo, C.-H.: A seamless approach to the agent development. In: Proceedings of the 2001 ACM Symposium on Applied Computing, Las Vegas, pp. 641–647 (2001)Google Scholar
  22. Juarez, F.W.C.: Agent-based modeling techniques for development economics. SSRN Electro. J., 1–16 (2014)Google Scholar
  23. Kelly, K.: Master planner: fred Brooks shows how to design anything. Wired, July 2010.
  24. Kiran, M.: Using FLAME toolkit for agent-based simulation: case study sugarscape model. Computing Research Repository (2014)
  25. Klügl, F.: A validation methodology for agent-based simulations. In: Proceedings of the 2008 ACM Symposium on Applied Computing, Fortaleza, 16–20 March 2008, pp. 39–43 (2008)Google Scholar
  26. Kravari, K., Bassiliades, N.: A survey of agent platforms. J. Artif. Soc. Soc. Simul. 18(1), 11 (2015)CrossRefGoogle Scholar
  27. Lange, K., Oskam, I., Korevaar, G., Herder P.: Towards a design research methodology: agent-based model development through stakeholder participation in the case of decentralized urban vermicomposting facilities. In: 2017 International Symposium on Sustainable Systems and Technology, Chicago, 29 June 2017. Accessed 17 Mar 2018
  28. Nature Editorial: A model approach. Nature 460, 667 (2009)Google Scholar
  29. Niazi, M.: Towards a novel unified framework for developing formal, network and validated agent-based simulation models of complex adaptive systems. Dissertation, University of Stirling (2011)Google Scholar
  30. Niazi, M., Hussain, A., Kolberg, M.: Verification & validation of agent based simulations using the VOMAS (virtual overlay multi-agent system) approach. In: Proceedings of the Third Workshop on Multi-Agent Systems and Simulation, Torino, 7–11 September 2009Google Scholar
  31. Nikolic, I., Ghorbani, A.: A method for developing agent-based models of socio-technical systems. In: 2011 IEEE International Conference on Networking, Sensing and Control, Delft, 11–13 April 2011Google Scholar
  32. North, M.J.: A theoretical formalism for analyzing agent-based models. Complex Adapt. Sys. Model. 2(1), 3 (2014)CrossRefGoogle Scholar
  33. North, M.J., Collier, N.T., Vos, R.J.: Experiences creating three implementations of the repast agent modeling toolkit. ACM Trans. Model. Comput. Simul. 16(1), 1–25 (2006)CrossRefGoogle Scholar
  34. North, M.J., Macal, C.M.: Managing Business Complexity: Discovering Strategic Solutions with Agent-Based Modeling and Simulation. Oxford University Press, New York (2007)CrossRefGoogle Scholar
  35. North, M.J., Macal, C.M.: Product and process patterns for agent-based modeling and simulation. J. Simul. 8, 25–36 (2013)CrossRefGoogle Scholar
  36. Olson, I.C., Horn, M.S.: Modeling on the table: agent-based modeling in elementary school with NetTango. In: Proceedings of the 10th International Conference on Interaction Design and Children, Ann Arbor, 20–23 June 2011Google Scholar
  37. Project Management Institute: Project Management Body of Knowledge, 4th edn. Project Management Institute, Newtown Square (2008)Google Scholar
  38. Rovere, S.L., North, M.J., Podestá, G.P., Bert, F.E.: Practical points for the software development of an agent-based model of a coupled human-natural system. IEEE Access 4, 4282–4298 (2016)CrossRefGoogle Scholar
  39. Santos, F., Nunes, I., Bazzan, A.L.C.: Model-driven engineering in agent-based modeling and simulation: a case study in the traffic signal control domain (extended abstract). In: Das, S., Durfee, E., Larson, K., Winikoff, M. (eds.) Proceedings of the 16th International Conference on Autonomous Agents and Multiagent Systems, Sao Paulo, 8–12 May 2017, pp. 1725–1727 (2017)Google Scholar
  40. Sargent, R.G.: Verification and validation of simulation models. In: Johansson, B., Jain, S., Montoya-Torres, J., Hugan, J., Yücesan, E. (eds.) Proceedings of the 2010 Winter Simulation Conference, Baltimore, 5–8 December 2010, pp. 166–183 (2010)Google Scholar
  41. Siebers, P.O., Skatova, A., Vu, T., Aickelin, U.: A software engineering approach to designing agent-based models. University of Nottingham Presentation, 9 September 2013. Accessed 17 Mar 2018
  42. Siegfried, R., Lehmann, A., Khayari, R.E.A., Kiesling, T.: A reference model for agent-based modeling and simulation. In: Proceedings of the 2009 Spring Simulation Multiconference, San Diego, 22–27 March 2009Google Scholar
  43. Software Craftsmanship Manifesto Signatories: Manifesto for software craftsmanship (2009). Accessed 20 Mar 2018
  44. Wooldridge, M.: Agent-based software engineering. IEE Proc. – Softw. 144(1), 26–37 (1997)CrossRefGoogle Scholar
  45. Wooldridge, M., Jennings, N.R., Kinny, D.: The Gaia methodology for agent-oriented analysis and design. Auton. Agent. Multi-Agent Syst. 3(3), 285–312 (2010)CrossRefGoogle Scholar
  46. Xiang, X., Kennedy, R., Madey, G., Cabaniss S.: Verification and validation of agent-based scientific simulation models. In: Agent-Directed Simulation Conference, San Diego, April 2005, pp. 27–34 (2005)Google Scholar
  47. Yilmaz, L., Ören, T.I.: Agent-directed simulation systems engineering. In: Proceedings of the 2007 Summer Computer Simulation Conference, San Diego, 16–19 July 2007, pp. 897–904 (2007)Google Scholar

Copyright information

© Springer International Publishing AG, part of Springer Nature 2018

Authors and Affiliations

  • Michael J. North
    • 1
  1. 1.NapervilleUSA

Personalised recommendations