Skip to main content

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

  • Chapter
  • First Online:
Simulating Social Complexity

Part of the book series: Understanding Complex Systems ((UCS))

Abstract

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Institutional subscriptions

Notes

  1. 1.

    Sommerville (2016) relates software engineering also to computer science. The latter is focusing more on theory and fundamentals, while software engineering is more practically oriented towards developing and delivering useful software. He also sees software engineering as a part of systems engineering which aims at systems integrating hardware, software and process engineering.

  2. 2.

    www.visual-paradigm.com. A free for non-commercial use community version exists.

  3. 3.

    products.office.com/en/visio/.

  4. 4.

    www.visualstudio.com.

  5. 5.

    eclipse.org.

  6. 6.

    https://en.wikipedia.org/wiki/Comparison_of_agent-based_modeling_software,accessed 07/05/2016.

References

  • 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.

    Article  Google Scholar 

  • 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.

    Article  Google Scholar 

  • Beck, K. (2004). Extreme programming explained: Embrace change (2nd ed.). Boston, MA: Addison Wesley.

    Google Scholar 

  • 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.

    Article  Google Scholar 

  • Bergenti, F., Gleizes, M.-P., & Zambonelli, F. (Eds.). (2004). Methodologies and software engineering for agent systems: The agent-oriented software engineering handbook. Boston: Kluwer.

    MATH  Google Scholar 

  • Bersini, H. (2012). UML for ABM. Journal of Artificial Societies and Social Simulation, 15(1), 9. http://jasss.soc.surrey.ac.uk/15/1/9.html

  • 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. http://jasss.soc.surrey.ac.uk/8/4/6.html

  • 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 

  • 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 

  • 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 

  • d’Inverno, M., & Luck, M. (2001). Understanding agent systems. Berlin, Heidelberg, Germany: Springer-Verlag.

    Book  MATH  Google Scholar 

  • 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 

  • 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 

  • 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 

  • 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 

  • 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 

  • Fasli, M. (2004). Formal systems ∧ agent-based social simulation = ⊥? Journal of Artificial Societies and Social. Simulation, 7(4), 7.

    Google Scholar 

  • Fehr, E., Fischbacher, U., & Gächter, S. (2002). Strong reciprocity, human cooperation, and the enforcement of social norms. Human Nature, 13(1), 1–25.

    Article  Google Scholar 

  • Fowler, M. (2003). UML distilled: A brief guide to the standard object modeling language (3rd ed.). Boston, MA: Pearson Education.

    Google Scholar 

  • 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 

  • Gamma, E., Helm, R., Johnson, R., & Vlissides, J. (1994). Design pattern: Elements of reusable object-oriented software. Boston, MA: Addison-Wesley.

    Google Scholar 

  • 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 

  • 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.

    Article  Google Scholar 

  • Gilbert, N., & Troitzsch, K. G. (2005). Simulation for the social scientist (2nd ed.). Maidenhead, UK: Open University Press.

    Google Scholar 

  • 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.

    Article  Google Scholar 

  • 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.

    Article  Google Scholar 

  • 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.

    Article  Google Scholar 

  • Gomez-Sanz, J. J., & Fuentes-Fernandez, R. (2015). Understanding agent-oriented software engineering methodologies. The Knowledge Engineering Review, 30(4), 375–393.

    Article  Google Scholar 

  • Grimm, V., Polhill, G., & Touza, J. (2017). Documenting social simulation models: The ODD protocol as standard. doi:https://doi.org/10.1007/978-3-319-66948-9_15.

  • 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.

    Article  Google Scholar 

  • 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.

    Article  Google Scholar 

  • 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.

    Article  Google Scholar 

  • 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 

  • 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 

  • 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.

    Chapter  Google Scholar 

  • 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 

  • 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.

    Chapter  Google Scholar 

  • Kravari, K., & Bassiliades, N. (2015). A Survey of Agent Platforms. Journal of Artificial Societies and Social Simulation, 18(1), 11. http://jasss.soc.surrey.ac.uk/18/1/11.html

  • 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 

  • 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 

  • 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. http://jasss.soc.surrey.ac.uk/10/1/3.html

  • 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.

    Article  Google Scholar 

  • Laird, J. E., Newell, A., & Rosenbloom, P. S. (1987). Soar: An architecture for general intelligence. Artificial Intelligence, 33, 1–64.

    Article  Google Scholar 

  • Law, A. M. (2007). Simulation modeling & analysis (4th ed.). New York: McGraw-Hill.

    Google Scholar 

  • 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 

  • 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.

    Article  MathSciNet  MATH  Google Scholar 

  • 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.

    Chapter  Google Scholar 

  • 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 

  • 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. http://jasss.soc.surrey.ac.uk/18/3/10.html

  • 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. http://jasss.soc.surrey.ac.uk/12/2/2.html

  • 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 

  • Norling, E., Edmonds, B., & Meyer, R. (2017). Informal approaches to developing simulation models. doi:https://doi.org/10.1007/978-3-319-66948-9_5.

  • 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 

  • 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 

  • Ostrom, E. (2005). Understanding institutional diversity. Princeton, NJ: Princeton University Press.

    Google Scholar 

  • 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. http://jasss.soc.surrey.ac.uk/18/3/11.html

  • Pyritz, B. (2003). Craftsmanship versus engineering: Computer programming — An art or a science? Bell Labs Technical Journal, 8, 101–104.

    Article  Google Scholar 

  • Railsback, S. F., & Lytinen, S. L. (2006). Agent-based simulation platforms: review and development recommendations. SIMULATION, 82, 609–623.

    Article  Google Scholar 

  • 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. http://jasss.soc.surrey.ac.uk/9/1/15.html

  • Robinson, S. (2004). Simulation: The practice of model development and use. Chichester: Wiley.

    Google Scholar 

  • Rossiter, S. (2015). Simulation design: Trans-paradigm best-practice from software engineering. Journal of Artificial Societies and Social Simulation, 18(3), 9. http://jasss.soc.surrey.ac.uk/18/3/9.html

  • 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. http://jasss.soc.surrey.ac.uk/18/3/14.html

  • 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 

  • 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. http://jasss.soc.surrey.ac.uk/18/3/13.html

  • 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. http://jasss.soc.surrey.ac.uk/14/2/2.html

  • 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 

  • 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 

  • Sommerville, I. (2016). Software engineering (10th ed.). Pearson, Boston, MA.

    Google Scholar 

  • Stahl, T., Voelter, M., & Czarnecki, K. (2006). Model-driven software development: Technology, engineering, management. Hoboken, NJ: Wiley.

    Google Scholar 

  • 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 

  • 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 

  • Weiss, G. (Ed.). (2013). Multiagent systems (2nd ed.). Cambridge: MIT Press.

    Google Scholar 

  • Weyns, D., & Holvoet, T. (2004). A formal model for situated multi-agent systems. Fundamenta Informaticae, 63(2–3), 125–158.

    MathSciNet  MATH  Google Scholar 

  • 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 

  • Wooldridge, M. (2009). An introduction to multiagent systems. Hoboken, NJ: Wiley.

    Google Scholar 

  • 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 

  • 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.

    Chapter  Google Scholar 

  • Zeigler, B. P. (1990). Object oriented simulation with hierarchical modular models: Intelligent agents and endomorphic systems. Boston, MA: Academic Press.

    MATH  Google Scholar 

  • 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.

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Peer-Olaf Siebers .

Editor information

Editors and Affiliations

Further Reading

Further Reading

There is a host of literature on the topic of software engineering. A book that provides a comprehensive yet easy to understand entry to most of the software engineering topics discussed in this book chapter is Lethbridge and Laganiere (2005). If you are mainly interested in learning more about UML, then Fowler (2003) is sufficient. A lot of ideas for ABSS stem from the computer science field of artificial intelligence and herein particular multi-agent systems. A good overview on the wide area of topics (including AOSE) is Weiss (2013). Finally, the JASSS special issue “Engineering ABSS” (Siebers and Davidsson 2015) provides lots of information and case studies. The approach contrasts with that described in Chap. 5 in this volume.

Rights and permissions

Reprints and permissions

Copyright information

© 2017 Springer International Publishing AG

About this chapter

Check for updates. Verify currency and authenticity via CrossMark

Cite this chapter

Siebers, PO., Klügl, F. (2017). What Software Engineering Has to Offer to Agent-Based Social Simulation. In: Edmonds, B., Meyer, R. (eds) Simulating Social Complexity. Understanding Complex Systems. Springer, Cham. https://doi.org/10.1007/978-3-319-66948-9_6

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-66948-9_6

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-66947-2

  • Online ISBN: 978-3-319-66948-9

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics