Encyclopedia of Complexity and Systems Science

Living Edition
| Editors: Robert A. Meyers

Agent-Based Modeling and Computer Languages

  • Michael J. NorthEmail author
  • Charles M. Macal
Living reference work entry
DOI: https://doi.org/10.1007/978-3-642-27737-5_8-5

Definition: Agent-Based Modeling and Computer Languages

Agent-based modeling is a bottom-up approach to representing and investigating complex systems. Agent-based models can be implemented either computationally (e.g., through computer simulation) or non-computationally (e.g., with participatory simulation). The close match between the capabilities of available software and the requirements of agent-based modeling make these options a natural choice for many agent-based models. Of course, realizing the potential benefits of this natural match necessitates the use of computer languages to express the designs of agent-based models. A wide range of computer design and programming languages can play this role including both domain-specific and general-purpose languages. The domain-specific languages include business-oriented languages (e.g., spreadsheet programming tools), science and engineering languages (e.g., Mathematica), and dedicated agent-based modeling languages (e.g., NetLogo)....


Agent-based mode Agent-based simulation Computer language Complex adaptive systems modeling 
This is a preview of subscription content, log in to check access.


  1. Alexander C (1979) The timeless way of building. Oxford University Press, OxfordGoogle Scholar
  2. Alexander C, Ishikawa S, Silverstein M (1977) A pattern language. Oxford University Press, OxfordGoogle Scholar
  3. Archer T (2001) Inside C#. Microsoft Press, RedmondGoogle Scholar
  4. Backus J, Bauer F, Green J, Katz C, McCarthy J, Naur P, Perlis A, Rutishauser H, Samuelson K, Vauquois B, Wegstein J, van Wijngaarden A, Woodger M (1963) Revised report on the algorithmic language ALGOL 60. In: Naur P (ed) Communications of the association for computing machinery (ACM), vol 6. ACM, New York, pp 1–17Google Scholar
  5. Bhavnani R (2003) Adaptive agents, political institutions and civic traditions in modern Italy. JASSS 6(4). Available at http://jasss.soc.surrey.ac.uk/6/4/1.html
  6. Bonabeau E (2001) Agent-based modeling: methods and techniques for simulating human systems. Proc Natl Acad Sci 99(3):7280–7287ADSGoogle Scholar
  7. Casti J (1997) Would-be worlds: how simulation is changing the world of science. Wiley, New YorkzbMATHGoogle Scholar
  8. Coplien J (2001) Software patterns home page. Available at http://hillside.net/patterns/
  9. Dahl O-J, Nygaard K (1966) SIMULA – an ALGOL-based simulation language. Commun ACM 9:671–678zbMATHCrossRefGoogle Scholar
  10. Dahl O-J, Nygaard K (2001) How object-oriented programming started. Available at http://heim.ifi.uio.no/~kristen/FORSKNINGSDOK_MAPPE/F_OO_start.html
  11. Daniels M (1999) Integrating simulation technologies with swarm. In: Proceedings of the agent 1999 workshop on agent simulation: applications, models, and tools. Argonne National Laboratory, ArgonneGoogle Scholar
  12. Dijkstra E (1968) Go to statement considered harmful. Commun ACM 11(3):147–148MathSciNetCrossRefGoogle Scholar
  13. Eclipse (2013) Eclipse home page. Available at http://www.eclipse.org/
  14. Foxwell H (1999) Java 2 software development kit. Linux JGoogle Scholar
  15. Gamma E, Helm R, Johnson R, Vlissides J (1995) Design patterns: elements of reusable object-oriented software. Addison-Wesley, WokinghamGoogle Scholar
  16. Gaylord R, D’Andria L (1998) Simulating society: a Mathematica toolkit for modeling socioeconomic behavior. Springer/TELOS, New YorkzbMATHCrossRefGoogle Scholar
  17. Gaylord R, Davis J (1999) Modeling nonspatial social interactions. Math Educ Res 8(2):1–4Google Scholar
  18. Gaylord R, Nishidate K (1994) Modeling nature: cellular automata simulations with Mathematica. Springer, New YorkGoogle Scholar
  19. Gaylord R, Wellin P (1995) Computer simulations with Mathematica: explorations in complex physical and biological systems. Springer/TELOS, New YorkzbMATHGoogle Scholar
  20. Grimm V et al (2006) A standard protocol for describing individual-based and agent-based models. Ecol Model 198(1–2):115–126CrossRefGoogle Scholar
  21. Guetzkow H, Kotler P, Schultz R (eds) (1972) Simulation in social and administrative science. Prentice Hall, Englewood CliffsGoogle Scholar
  22. Harvey B (1997) Computer science logo style. MIT Press, BostonGoogle Scholar
  23. Heath J (2005) Methodological individualism. In: Zalta E (ed) Stanford encyclopedia of philosophy. Stanford University, Stanford. Available at http://plato.standford.edu/
  24. Jennings N (2000) On agent-based software engineering. Artif Intel 117:277–296CrossRefGoogle Scholar
  25. Koenig D, Glover A, King P, Laforge G, Skeet J (2007) Groovy in action. Manning Publications, GreenwichGoogle Scholar
  26. Lahtinen E, Ala-Mutka K, Jarvinen H-M (2005) A study of the difficulties of novice programmers. In: Proceedings of the 10th annual SIGCSE conference on innovation and technology in computer science education. ACM, CaparicaGoogle Scholar
  27. Macal C (2004) Agent-based modeling and social simulation with mathematica and MATLAB. In: Macal C, Sallach D, North M (eds) Proceedings of the agent 2004 conference on social dynamics: interaction, reflexivity and emergence. Argonne National Laboratory, ArgonneGoogle Scholar
  28. Macal C, Howe T (2005) Linking repast to computational mathematics systems: Mathematica and MATLAB. In: Macal C, Sallach D, North M (eds) Proceedings of the agent 2005 conference on generative social processes, models, and mechanisms. Argonne National Laboratory, ArgonneGoogle Scholar
  29. Macal C, North M (2007) Agent-based modeling and simulation: desktop ABMS. In: Henderson SG, Biller B, Hsieh M-H, Shortle J, Tew JD, Barton RR (eds) Proceedings of the 2007 winter simulation conference. IEEE/ACM, Washington, DCGoogle Scholar
  30. McCarthy J (1960) Recursive functions of symbolic expressions and their computation by machine I. J ACM 3:184–195, ACM, New York, NY, USAzbMATHCrossRefGoogle Scholar
  31. Minar N, Burkhart R, Langton C, Askenazi M (1996) The swarm simulation system: a toolkit for building multi-agent simulations. Available at http://alumni.media.mit.edu/~nelson/research/swarm/
  32. North M, Macal C (2007) Managing business complexity: discovering strategic solutions with agent-based modeling and simulation. Oxford University Press: New York, NY, USAGoogle Scholar
  33. North M, Macal C (2011) Product design patterns for agent-based modeling. In: Jain S, Creasey R, Himmelspach J (eds) Proceedings of the 2011 winter simulation conference. IEEE/ACM, PhoenixGoogle Scholar
  34. North M, Macal C (2013) Product and process patterns for agent-based modeling and simulation. J Simulat 8:25–36Google Scholar
  35. North M, Collier N, Vos R (2006) Experiences creating three implementations of the repast agent modeling toolkit. In: ACM transactions on modeling and computer simulation, vol 16, Issue 1. ACM, New York, pp 1–25Google Scholar
  36. North M, Collier N, Ozik J, Tatara E, Altaweel M, Macal M, Bragen M, Sydelko P (2013) Complex adaptive systems modeling with repast simphony. In: Complex adaptive systems modeling. Springer, HeidelbergGoogle Scholar
  37. Object Management Group (2001) OMG unified modeling language specification version 1.5. Object Management Group, NeedhamGoogle Scholar
  38. Object Management Group (2013) Object management group UML home page. Object Management Group, NeedhamGoogle Scholar
  39. Pearson D, Boudarel M-R (2001) Pair interactions: real and perceived attitudes. JASSS 4(4). Available at http://www.soc.surrey.ac.uk/JASSS/4/4/4.html
  40. Reynolds J (1998) Definitional interpreters for higher-order programming. In: Higher-order and symbolic computation. Kluwer, Dordrecht, pp 363–397Google Scholar
  41. ROAD (2013) Repast home page. Available at http://repast.sourceforge.net/
  42. Sedgewick R (1988) Algorithms, 2nd edn. Addison-Wesley, Reading, p 657Google Scholar
  43. Springer G, Freeman D (1989) Scheme and the art of programming. McGraw-Hill, New YorkGoogle Scholar
  44. Stevens W, Meyers G, Constantine L (1974) Structured design. IBM Syst J 13(2):115CrossRefGoogle Scholar
  45. Stroustrup B (2008) Bjarne Stroustrup’s FAQ. Available at http://www.research.att.com/~bs/bs_faq.html#invention
  46. Swarm Development Group home page (2013) Available at http://www.swarm.org/
  47. Thorngate W (2000) Teaching social simulation with MATLAB. JASSS 3(1). Available at http://www.soc.surrey.ac.uk/JASSS/3/1/forum/1.html
  48. Thoyer S, Morardet S, Rio P, Simon L, Goodhue R, Rausser G (2001) A bargaining model to simulate negotiations between water users. JASSS 4(2). Available at http://www.soc.surrey.ac.uk/JASSS/4/2/6.html
  49. Van Roy P, Haridi S (2004) Concepts, techniques, and models of computer programming. MIT Press, CambridgeGoogle Scholar
  50. Wang Z, Thorngate W (2003) Sentiment and social mitosis: implications of Heider’s balance theory. JASSS 6(3) Available at http://jasss.soc.surrey.ac.uk/6/3/2.html
  51. Watson D (1989) High-level languages and their compilers. Addison-Wesley, WokinghamzbMATHGoogle Scholar
  52. Wilensky U (1999) NetLogo http://ccl.northwestern.edu/netlogo/. Center for connected learning and computer-based modeling, Northwestern University, Evanston
  53. Wolfram Research (2013) Mathematica home page. Available at http://www.wolfram.com/

Copyright information

© Springer Science Business Media New York (outside the USA) 2014

Authors and Affiliations

  1. 1.Argonne National LaboratoryGlobal Security Sciences DivisionArgonneUSA