What Software Engineering Has to Offer to Agent-Based Social Simulation

  • Peer-Olaf Siebers
  • Franziska Klügl
Part of the Understanding Complex Systems book series (UCS)


In simulation projects, it is generally beneficial to have a toolset that allows following a more formal approach to system analysis, model design and model implementation. Such formal methods are developed to support a systematic approach by making different steps explicit as well as providing a precise language to express the results of those steps, documenting not just the final model but also intermediate steps. This chapter consists of two parts: the first gives an overview of which tools developed in software engineering can be and have been adapted to agent-based social simulation; the second part demonstrates with the help of an informative example how some of these tools can be combined into an overall structured approach to model development.


Agent-Based Social Simulation Software Engineering Social Simulation Computer Science Extreme Programming Agent-Oriented Software Engineering Object Oriented Software Engineering Pair Programming Artificial Intelligence Cognitive Science Business Management Psychology 


  1. Anderson, J. R., Bothell, D., Byrne, M. D., Douglass, S., Lebiere, C., & Qin, Y. (2004). An integrated theory of the mind. Psychological Review, 111(4), 1036–1060.CrossRefGoogle Scholar
  2. Bauer, B., & Odell, J. (2005). UML 2.0 and agents: How to build agent-based systems with the new UML standard. Journal of Engineering Applications of Artificial Intelligence, 18(2), 141–157.CrossRefGoogle Scholar
  3. Beck, K. (2004). Extreme programming explained: Embrace change (2nd ed.). Boston, MA: Addison Wesley.Google Scholar
  4. Bedwell, B., Leygue, C., Goulden, M., McAuley, D., Colley, J., Ferguson, E., et al. (2014). Apportioning energy consumption in the workplace: A review of issues in using metering data to motivate staff to save energy. Technology Analysis & Strategic Management, 26(10), 1196–1211.CrossRefGoogle Scholar
  5. Bergenti, F., Gleizes, M.-P., & Zambonelli, F. (Eds.). (2004). Methodologies and software engineering for agent systems: The agent-oriented software engineering handbook. Boston: Kluwer.zbMATHGoogle Scholar
  6. Bersini, H. (2012). UML for ABM. Journal of Artificial Societies and Social Simulation, 15(1), 9.
  7. Boero, R., & Squazzoni, F. (2005). Does empirical embeddedness matter? Methodological issues on agent-based models for analytical social science. Journal of Artificial Societies and Social Simulation, 8(4), 6.
  8. Bosse, T., Jonker, C. M., van der Meij, L., & Treur, J. (2005). LEADSTO: A language and environment for analysis of dynamics by simulation. In T. Eymann, F. Klügl, W. Lamersdorf, M. Klusch, & M. N. Huhns (Eds.), Proc. of the 3rd German Conference on Multi-Agent System Technologies, MATES’05. LNAI 3550 (pp. 165–178). Springer, Berlin, Heidelberg, Germany.Google Scholar
  9. Bommel, P., & Müller, J. P. (2007). An introduction to UML for modelling in the human and social sciences. In D. Phan & F. Amblard (Eds.), Multi-agent modelling and simulation in the social and human sciences, GEMAS studies in social analysis, Chapter 12. Bardwell Press, Oxford, United Kingdom.Google Scholar
  10. Caillou, P., Gaudou, B., Grignard, A., Truong, C. Q., & Taillandier, P. (2015, Sep 2015). A simple-to-use BDI architecture for agent-based modeling and simulation. The Eleventh Conference of the European Social Simulation Association (ESSA 2015), Groningen, Netherlands.Google Scholar
  11. d’Inverno, M., & Luck, M. (2001). Understanding agent systems. Berlin, Heidelberg, Germany: Springer-Verlag.CrossRefzbMATHGoogle Scholar
  12. Drogoul, A., Vanbergue, A., & Meurisse, T. (2003). Multi-agent Based Simulation: Where are the agents? Multi-agent Based Simulation II, LNCS 2581 (pp. 1–15). Springer, Berlin, Heidelberg, Germany.Google Scholar
  13. Drogoul, A., & Ferber, J. (1994). Multi-agent simulation as a tool for modelling societies: Application to social differentiation in ant colonies. In C. Chastelfranchi & E. Werner (Eds.), Artificial social systems -4th European workshop on modelling autonomous agents in a multi-agent world, MAAMAW’92 (pp. 3–23). Heidelberg, Germany: Springer.Google Scholar
  14. Duboz T., Versmisse D., Quesnel G., Muzy A., & Ramat E. (2006, April 2–6). Specification of dynamic structure discrete event multiagent systems. In Agent-directed simulation (ADS 2006), Huntsville, AL, USA.Google Scholar
  15. Edmonds, B. (2004). How formal logic can fail to be useful for modelling or designing MAS. In G. Lindeman et al. (Eds.), RASTA 2002, LNAI 2934 (pp. 1–15). Berlin, Heidelberg, Germany: Springer-Verlag.Google Scholar
  16. Edmonds, B., & Moss, S. (2004). From KISS to KIDS — an ‘anti-simplistic’ modelling approach. In P. Davidson et al. (Eds.), Multi-agent based simulation, LNAI 3415 (pp. 130–144). New York: Springer.Google Scholar
  17. Fasli, M. (2004). Formal systems ∧ agent-based social simulation = ⊥? Journal of Artificial Societies and Social. Simulation, 7(4), 7.Google Scholar
  18. Fehr, E., Fischbacher, U., & Gächter, S. (2002). Strong reciprocity, human cooperation, and the enforcement of social norms. Human Nature, 13(1), 1–25.CrossRefGoogle Scholar
  19. Fowler, M. (2003). UML distilled: A brief guide to the standard object modeling language (3rd ed.). Boston, MA: Pearson Education.Google Scholar
  20. Franchi, E. (2012). A domain specific language approach for agent-based social network modeling. 2012 IEEE/ACM International Conference on Advances in Social Networks Analysis and Mining (ASONAM 2012), Istanbul, Turkey.Google Scholar
  21. Gamma, E., Helm, R., Johnson, R., & Vlissides, J. (1994). Design pattern: Elements of reusable object-oriented software. Boston, MA: Addison-Wesley.Google Scholar
  22. Garro, A., Parisi, F., & Russo, W. (2013). A process based on the model-driven architecture to enable the definition of platform-independent simulation models. In N. Pina, J. Pacpryzk, & J. Filipe (Eds.), Simulation and modeling methodologies, technologies and applications SIMULTECH 2011 Noordwijkerhout, The Netherlands, July 2011 revised selected papers (pp. 113–129). Berlin: Springer.Google Scholar
  23. Garro, A., & Russo, W. (2010). easyABMS: A domain-expert oriented methodology for agent-based modeling and simulation. Simulation Modelling Practice and Theory, 18, 1453–1467.CrossRefGoogle Scholar
  24. Gilbert, N., & Troitzsch, K. G. (2005). Simulation for the social scientist (2nd ed.). Maidenhead, UK: Open University Press.Google Scholar
  25. Ghorbani, A., Bots, P., Dignum, V., & Dijkema, G. (2013). MAIA: a framework for developing agent-based social simulations. Journal of Artificial Societies and Social Simulation, 16(2), 9.CrossRefGoogle Scholar
  26. Ghorbani, A., Bots, P., Alderwereld, H., Dignum, V., & Dijkema, G. (2014). Model-driven agent-based simulation: procedural semantics of a MAIA model. Simulation Modelling Practice and Theory, 49, 27–40.CrossRefGoogle Scholar
  27. Gomez-Sanz, J. J., Fernandez, C. R., & Arroyo, J. (2010). Model driven development and simulations with the INGENIAS agent framework. Simulation Modelling and Practice, 18(10), 1468–1482.CrossRefGoogle Scholar
  28. Gomez-Sanz, J. J., & Fuentes-Fernandez, R. (2015). Understanding agent-oriented software engineering methodologies. The Knowledge Engineering Review, 30(4), 375–393.CrossRefGoogle Scholar
  29. Grimm, V., Polhill, G., & Touza, J. (2017). Documenting social simulation models: The ODD protocol as standard. doi:
  30. Grimm, V., Revilla, E., Berger, U., Jeltsch, F., Mooij, W. M., Railsback, S. F., et al. (2005). Pattern-oriented modeling of agent-based complex systems: lessons from ecology. Science, 310(5750), 987–991.CrossRefGoogle Scholar
  31. Helleboogh, A., Vizzari, G., Uhrmacher, A. M., & Michel, F. (2007). Modeling dynamic environments in multi-agent simulation. Autonomous Agents and Multi-Agent Systems, 14(1), 87–116.CrossRefGoogle Scholar
  32. Himmelspach, J., Röhl, M., & Uhrmacher, A. M. (2010). Component-based models and simulations for supporting valid multi-agent system simulations. Applied Artificial Intelligence, 24(5), 414–442.CrossRefGoogle Scholar
  33. Hocaoglu, M. F., Firat, C., & Farjoughian, H. S. (2002). DEVS/RAP: Agent-based simulation. Proceedings of the 2002 AI, Simulation and Planning in Highly Autonomous Systems conference, Lisbon, Portugal: IEEE.Google Scholar
  34. Jones, R. M. (2005). An introduction to cognitive architectures for modeling and simulation. Proceedings of the Interservice/Industry Training/Simulation and Education Conference 2005, Orlando, FL.Google Scholar
  35. Joo, J. (2013). Perception and BDI reasoning based agent model for human behavior simulation in complex system. In M. Kurosu (Ed.), Human-computer interaction. Towards intelligent and implicit interaction: 15th Int. Conf., HCI international 2013, Las Vegas, NV, USA, July, 2013, Proc, Part V (pp. 62–71). Berlin/Heidelberg: Springer.CrossRefGoogle Scholar
  36. Juziuk, J., Weyns, D., & Holvoet, T. (2014). Design pattern for multi-agent systems: A systematic literature review. In O. Shehory & A. Sturm (Eds.), Agent-oriented software engineering: Reflections on architectures, methodologies, languages and frameworks, chapter 5 (pp. 79–99). Berlin, Germany: Springer.Google Scholar
  37. Kasaie, P., & Kelton, W. D. (2015). Guidelines for design and analysis in agent-based simulation studies. In Proc. of the 2015 Winter Simulation Conference (WSC ‘15) (pp. 183–193). Piscataway, NJ: IEEE Press.CrossRefGoogle Scholar
  38. Kravari, K., & Bassiliades, N. (2015). A Survey of Agent Platforms. Journal of Artificial Societies and Social Simulation, 18(1), 11.
  39. Klügl, F., & Karlsson, L. (2009). Towards pattern-oriented design of agent-based simulation models. Proceedings of the 7th German conference on multiagent system technologies, Hamburg, Germany.Google Scholar
  40. Knublauch, H. (2002, July 15–19). Extreme programming of multi-agent systems. Proceedings of AAMAS 2002, Bologna (pp. 704–711). New York: ACM.Google Scholar
  41. Köhler, M., Langer, R., von Lüde, R., Moldt, D., Rölke, H., & Valk, R. (2007). Socionic multi-agent systems based on reflexive petri nets and theories of social self-organisation. Journal of Artificial Societies and Social Simulation, 10(1), 3.
  42. Kubera, Y., Mathieu, P., & Picault, S. (2011). IODA: An interaction-oriented approach for multiagent based simulations. Autonomous Agents and Multi-Agent Systems, 23(3), 303–343.CrossRefGoogle Scholar
  43. Laird, J. E., Newell, A., & Rosenbloom, P. S. (1987). Soar: An architecture for general intelligence. Artificial Intelligence, 33, 1–64.CrossRefGoogle Scholar
  44. Law, A. M. (2007). Simulation modeling & analysis (4th ed.). New York: McGraw-Hill.Google Scholar
  45. Lethbridge, T. C., & Laganiere, R. (2005). Object-oriented software engineering: Practical software development using UML and Java: Practical software development. New York: McGraw Hill.Google Scholar
  46. Mascardi, V., Martelli, M., & Sterling, L. (2004). Logic-based specification languages for intelligent software agents. Theory and Practice of Logic Programming, 4(4), 429–494.MathSciNetCrossRefzbMATHGoogle Scholar
  47. McGarty, G., Yzerbyt, V. Y., & Spears, R. (2002). Social, cultural and cognitive factors in stereotype formation. In G. McGarty, V. Y. Yzerbyt, & R. Spears (Eds.), Stereotypes as explanations (pp. 1–15). Port Chester, NY: Cambridge University Press.CrossRefGoogle Scholar
  48. Mitleton-Kelly, E. (2003). Complexity research - approaches and methods: The LSE complexity group integrated methodology. In A. Keskinen, M. Aaltonen, & E. Mitleton-Kelly (Eds.), Organisational complexity (pp. 56–77). Turku: Tutu Publications. Finland Futures Research Centre, Turku School of Economics and Business Administration.Google Scholar
  49. Moyo, D., Ally, A. K., Brennan, A., Norman, P., Purshouse, R. C., & Strong, M. (2015). Agile development of an attitude-behaviour driven simulation of alcohol consumption dynamics. Journal of Artificial Societies and Social Simulation, 18(3), 10.
  50. Nikolai, C., & Madey, G. (2008). Tools of the trade: A survey of various agent based modeling platforms. Journal of Artificial Societies and Social Simulation, 12(2), 2.
  51. Norling, E. (2003). Capturing the quake player: Using a BDI agent to model human behaviour. In J. S. Rosenschein, T. Sandholm, M. Wooldridge, & M. Yokoo, Proceedings of the 2nd international joint conference on autonomous agents and multiagent systems (AAMAS), Melbourne (pp. 1080–1081). New York: ACM.Google Scholar
  52. Norling, E., Edmonds, B., & Meyer, R. (2017). Informal approaches to developing simulation models. doi:
  53. North, M. J., Macal, C. M. (2011, December 11–14). Product design patterns for agent-based modeling. In S. Jain, R. Creasey, J. Himmelspach, K. P. White, M. C. Fu, Proc. of the Winter Simulation Conference (WSC ‘11) (pp. 3087–3098).Google Scholar
  54. Odell, J., Parunak, H. V. D., & Bauer, B. (2000). Extending UML for agents. In Y. Lesperance, E. Yu, Proc. of the agent-oriented information systems workshop at the 17th NCAI (pp. 3–17).Google Scholar
  55. Ostrom, E. (2005). Understanding institutional diversity. Princeton, NJ: Princeton University Press.Google Scholar
  56. Ozik, J., Collier, N., Combs, T., Macal, C. M., & North, M. (2015). Repast Simphony Statecharts. Journal of Artificial Societies and Social Simulation, 18(3), 11.
  57. Pyritz, B. (2003). Craftsmanship versus engineering: Computer programming — An art or a science? Bell Labs Technical Journal, 8, 101–104.CrossRefGoogle Scholar
  58. Railsback, S. F., & Lytinen, S. L. (2006). Agent-based simulation platforms: review and development recommendations. SIMULATION, 82, 609–623.CrossRefGoogle Scholar
  59. Richiardi, M., Leombruni, R., Saam, N. J., & Sonnessa, M. (2006). A common protocol for agent-based social simulation. Journal of Artificial Societies and Social Simulation, 9(1), 15.
  60. Robinson, S. (2004). Simulation: The practice of model development and use. Chichester: Wiley.Google Scholar
  61. Rossiter, S. (2015). Simulation design: Trans-paradigm best-practice from software engineering. Journal of Artificial Societies and Social Simulation, 18(3), 9.
  62. Scherer, S., Wimmer, M., Lotzmann, U., Moss, S., & Pinotti, D. (2015). Evidence based and conceptual model driven approach for agent-based policy modelling. Journal of Artificial Societies and Social Simulation, 18(3), 14.
  63. Shannon, R. E. (1998). Introduction to the art and science of simulation. D. J. Medeiros, E. F. Watson, J. S. Carson, M. S. Mannivannan, Proceedings of the 1998 Winter Simulation Conference (pp. 7–14).Google Scholar
  64. Siebers, P. O., & Davidsson, P. (2015). Engineering agent-based social simulations: An introduction (Special Issue Editorial). Journal of Artificial Societies and Social Simulation, 18(3), 13.
  65. Siebers, P. O., & Aickelin, U. (2011). A first approach on modelling staff proactiveness in retail simulation models. Journal of Artificial Societies and Social Simulation, 14(2), 2.
  66. Siebers, P. O., Onggo, B. S. S. (2014). Graphical representation of agent-based models in operational research and management science using UML. In Proc. Of the operational research society simulation workshop 2014 (SW14) (pp. 143–155).Google Scholar
  67. Siebers, P. O., Figueredo, G. P., Hirono, M., & Skatova, A. (2017). Developing agent-based simulation models for social systems engineering studies: A novel framework and its application to modelling peacebuilding activities. In C. Garcia-Diaz & C. Olaya Nieto (Eds.), Social systems engineering: The design of complexity. Hoboken, NJ: Wiley.Google Scholar
  68. Sommerville, I. (2016). Software engineering (10th ed.). Pearson, Boston, MA.Google Scholar
  69. Stahl, T., Voelter, M., & Czarnecki, K. (2006). Model-driven software development: Technology, engineering, management. Hoboken, NJ: Wiley.Google Scholar
  70. Susanty, M. (2015). Adding psychological factors to the model of electricity consumption in office buildings. MSc Dissertation, Nottingham University, School of Computer Science.Google Scholar
  71. Taatgen, N. A., Lebiere, C., & Anderson, J. R. (2006). Modeling paradigms in ACT-R. In R. Sun (Ed.), Cognition and multi-agent interaction: From cognitive modeling to social simulation (pp. 29–52). Cambridge: Cambridge University Press.Google Scholar
  72. Weiss, G. (Ed.). (2013). Multiagent systems (2nd ed.). Cambridge: MIT Press.Google Scholar
  73. Weyns, D., & Holvoet, T. (2004). A formal model for situated multi-agent systems. Fundamenta Informaticae, 63(2–3), 125–158.MathSciNetzbMATHGoogle Scholar
  74. Winikoff, M., & Padgham, L. (2013). Agent-oriented software engineering. In G. Weiss (Ed.), Multiagent systems, Chapter 15 (2nd ed., pp. 695–758). Cambridge: MIT Press.Google Scholar
  75. Wooldridge, M. (2009). An introduction to multiagent systems. Hoboken, NJ: Wiley.Google Scholar
  76. Wray, R. E., Laird, J. E., Nuxoll, A., Stokes, D., & Kerfoot, A. (2005). Synthetic adversaries for urban combat training. AI Magazine, 26(3), 82–92.Google Scholar
  77. Wray, R. E., & Jones, R. M. (2005). An introduction to Soar as an agent architecture. In R. Sun (Ed.), Cognition and multi-agent interaction: from cognitive modeling to social simulation (pp. 53–78). Cambridge: Cambridge University Press.CrossRefGoogle Scholar
  78. Zeigler, B. P. (1990). Object oriented simulation with hierarchical modular models: Intelligent agents and endomorphic systems. Boston, MA: Academic Press.zbMATHGoogle Scholar
  79. Zhang, T., Siebers, P. O., & Aickelin, U. (2011). Modelling electricity consumption in office buildings: An agent based approach. Energy and Buildings, 43(10), 2882–2892.CrossRefGoogle Scholar

Copyright information

© Springer International Publishing AG 2017

Authors and Affiliations

  1. 1.School of Computer ScienceNottingham UniversityNottinghamUK
  2. 2.School of Science and TechnologyÖrebro University ÖrebroSweden

Personalised recommendations