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.
Similar content being viewed by others
Notes
- 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.
www.visual-paradigm.com. A free for non-commercial use community version exists.
- 3.
- 4.
- 5.
- 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.
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.
Beck, K. (2004). Extreme programming explained: Embrace change (2nd ed.). Boston, MA: Addison Wesley.
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.
Bergenti, F., Gleizes, M.-P., & Zambonelli, F. (Eds.). (2004). Methodologies and software engineering for agent systems: The agent-oriented software engineering handbook. Boston: Kluwer.
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.
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.
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.
d’Inverno, M., & Luck, M. (2001). Understanding agent systems. Berlin, Heidelberg, Germany: Springer-Verlag.
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.
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.
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.
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.
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.
Fasli, M. (2004). Formal systems ∧ agent-based social simulation = ⊥? Journal of Artificial Societies and Social. Simulation, 7(4), 7.
Fehr, E., Fischbacher, U., & Gächter, S. (2002). Strong reciprocity, human cooperation, and the enforcement of social norms. Human Nature, 13(1), 1–25.
Fowler, M. (2003). UML distilled: A brief guide to the standard object modeling language (3rd ed.). Boston, MA: Pearson Education.
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.
Gamma, E., Helm, R., Johnson, R., & Vlissides, J. (1994). Design pattern: Elements of reusable object-oriented software. Boston, MA: Addison-Wesley.
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.
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.
Gilbert, N., & Troitzsch, K. G. (2005). Simulation for the social scientist (2nd ed.). Maidenhead, UK: Open University Press.
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.
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.
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.
Gomez-Sanz, J. J., & Fuentes-Fernandez, R. (2015). Understanding agent-oriented software engineering methodologies. The Knowledge Engineering Review, 30(4), 375–393.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Knublauch, H. (2002, July 15–19). Extreme programming of multi-agent systems. Proceedings of AAMAS 2002, Bologna (pp. 704–711). New York: ACM.
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.
Laird, J. E., Newell, A., & Rosenbloom, P. S. (1987). Soar: An architecture for general intelligence. Artificial Intelligence, 33, 1–64.
Law, A. M. (2007). Simulation modeling & analysis (4th ed.). New York: McGraw-Hill.
Lethbridge, T. C., & Laganiere, R. (2005). Object-oriented software engineering: Practical software development using UML and Java: Practical software development. New York: McGraw Hill.
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.
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.
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.
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.
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).
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).
Ostrom, E. (2005). Understanding institutional diversity. Princeton, NJ: Princeton University Press.
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.
Railsback, S. F., & Lytinen, S. L. (2006). Agent-based simulation platforms: review and development recommendations. SIMULATION, 82, 609–623.
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.
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).
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).
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.
Sommerville, I. (2016). Software engineering (10th ed.). Pearson, Boston, MA.
Stahl, T., Voelter, M., & Czarnecki, K. (2006). Model-driven software development: Technology, engineering, management. Hoboken, NJ: Wiley.
Susanty, M. (2015). Adding psychological factors to the model of electricity consumption in office buildings. MSc Dissertation, Nottingham University, School of Computer Science.
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.
Weiss, G. (Ed.). (2013). Multiagent systems (2nd ed.). Cambridge: MIT Press.
Weyns, D., & Holvoet, T. (2004). A formal model for situated multi-agent systems. Fundamenta Informaticae, 63(2–3), 125–158.
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.
Wooldridge, M. (2009). An introduction to multiagent systems. Hoboken, NJ: Wiley.
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.
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.
Zeigler, B. P. (1990). Object oriented simulation with hierarchical modular models: Intelligent agents and endomorphic systems. Boston, MA: Academic Press.
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.
Author information
Authors and Affiliations
Corresponding author
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
Copyright information
© 2017 Springer International Publishing AG
About this chapter
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)