Abstract
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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
Notes
- 1.
- 2.
The anonymous (2000) refrain, “99 little bugs in the code; 99 little bugs; take one down, patch it around; 127 little bugs in the code,” is memorable in this regard.
- 3.
Waterfall development is a family of classic structured, multistage, software development methodologies that emphasize minimizing the amount of rework on the theory that costs rise exponentially as a mistake in a given stage propagates to later stages (Project Management Institute 2008). Agile development methodologies reject this theory (Beck et al. 2001; Software Craftsmanship Manifesto Signatories 2009; Collier and Ozik 2013) and instead focus on rapid refocusing based on feedback from real code.
- 4.
It should be an indispensible part of any theoretical agent-based modeling project as well!.
- 5.
This quote is a tagline from the long-running American television program Family Feud.
References
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)
Anonymous: 99 Little Bugs in the Code (2000). http://www.gdargaud.net/Humor/QuotesProgramming.html
Beck et al.: Manifesto for Agile Software Development (2001). http://agilemanifesto.org/. Accessed on 20 Mar 2018
Bersini, H.: UML for ABM. J. Artif. Soc. Soc. Simul. 15(1), 9 (2012)
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)
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)
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 2004
Brooks, F.: The Mythical Man-Month. Addison-Wesley, Boston (1975)
Chlipala, A.: Certified Programming with Dependent Types. MIT Press, Cambridge (2017)
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)
Collier, N.T., North, M.J.: Parallel agent-based programming with repast for high performance computing. Simulation 89, 1215–1235 (2012)
Denz, N.: Process-oriented analysis and validation of multi-agent-based simulations: concepts and case studies. Dissertation, University of Hamburg (2013)
Edwards, C.: Automating proofs. Commun. ACM 59(4), 13–15 (2016)
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)
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)
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)
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 2017
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)
Jennings, N.R.: On agent-based software engineering. Artif. Intell. 117, 277–296 (2000)
Jennings, N.R.: An agent-based approach for building complex software systems. Commun. ACM 44(4), 35–41 (2001)
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)
Juarez, F.W.C.: Agent-based modeling techniques for development economics. SSRN Electro. J., 1–16 (2014)
Kelly, K.: Master planner: fred Brooks shows how to design anything. Wired, July 2010. https://www.wired.com/2010/07/ff-fred-brooks/
Kiran, M.: Using FLAME toolkit for agent-based simulation: case study sugarscape model. Computing Research Repository https://arxiv.org/abs/1408.3441 (2014)
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)
Kravari, K., Bassiliades, N.: A survey of agent platforms. J. Artif. Soc. Soc. Simul. 18(1), 11 (2015)
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. http://programme.exordo.com/isie2017/delegates/presentation/382/. Accessed 17 Mar 2018
Nature Editorial: A model approach. Nature 460, 667 (2009)
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)
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 2009
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 2011
North, M.J.: A theoretical formalism for analyzing agent-based models. Complex Adapt. Sys. Model. 2(1), 3 (2014)
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)
North, M.J., Macal, C.M.: Managing Business Complexity: Discovering Strategic Solutions with Agent-Based Modeling and Simulation. Oxford University Press, New York (2007)
North, M.J., Macal, C.M.: Product and process patterns for agent-based modeling and simulation. J. Simul. 8, 25–36 (2013)
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 2011
Project Management Institute: Project Management Body of Knowledge, 4th edn. Project Management Institute, Newtown Square (2008)
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)
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)
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)
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. http://www.cs.nott.ac.uk/~pszps/bemoossig/slides/BEMooSSIG-Siebers2013-09-13v3.pdf. Accessed 17 Mar 2018
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 2009
Software Craftsmanship Manifesto Signatories: Manifesto for software craftsmanship (2009). http://manifesto.softwarecraftsmanship.org/. Accessed 20 Mar 2018
Wooldridge, M.: Agent-based software engineering. IEE Proc. – Softw. 144(1), 26–37 (1997)
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)
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)
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)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2018 Springer International Publishing AG, part of Springer Nature
About this paper
Cite this paper
North, M.J. (2018). Hammer or Tongs: How Best to Build Agent-Based Models?. In: Demazeau, Y., An, B., Bajo, J., Fernández-Caballero, A. (eds) Advances in Practical Applications of Agents, Multi-Agent Systems, and Complexity: The PAAMS Collection. PAAMS 2018. Lecture Notes in Computer Science(), vol 10978. Springer, Cham. https://doi.org/10.1007/978-3-319-94580-4_1
Download citation
DOI: https://doi.org/10.1007/978-3-319-94580-4_1
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-94579-8
Online ISBN: 978-3-319-94580-4
eBook Packages: Computer ScienceComputer Science (R0)