Abstract
Agent-based modelling and simulation (ABMS) had an increasing attention during the last decade. However, the weak validation and verification of agent-based simulation models makes ABMS hard to trust. There is no comprehensive tool set for verification and validation of agent-based simulation models, which demonstrates that inaccuracies exist and/or reveals the existing errors in the model. Moreover, on the practical side, many ABMS frameworks are in use. In this sense, we designed and developed a generic testing framework for agent-based simulation models to conduct validation and verification of models. This paper presents our testing framework in detail and demonstrates its effectiveness by showing its applicability on a realistic agent-based simulation case study.
Similar content being viewed by others
Notes
The term level and the term scale are often used interchangeably. Here, the term level is chosen since it situates the described system considering its size, its characteristic evolution time or an inclusion relation with other systems or subsystems. However, the term scale refers to a dimension of analysis in which the system of interest can be measured.
This algorithm arranges data points into clusters and it locates a centroid in each cluster This centroid is the point at which the distance from the rest of the points of the clusters is on average minimum.
Law (2007) defines a simulation as a numerical technique that takes input data and creates output data based upon a model of a system.
For example, Wolfram (1994) defines four classifications into which different Cellular Automata systems can be placed based on their long-term behaviours. The first one is evolving to a homogeneous state, which means that changes to the initial state have no impact on the final state.
Burnstein (2003) refers data generators as load generators since load generators are aimed at being used in system-level tests. However, we use the term data generator since it can be used in all levels.
The Unified Modeling Language (UML) is a standard that can be used ‘for analysis, design, and implementation of software-based systems as well as for modeling business and similar processes’. Thus, the UML is a visual language that can be used to create software architectures.
We do not address implementation issues on how to apply these concepts in practice, as this is highly dependent upon the simulation framework used and the objective of the simulation study.
Since many agent-based simulators use a global scheduler, such information can be retrieved from the scheduler of the simulation infrastructure.
http://repast.sourceforge.net/, latest accessed 13 July 2012.
http://cs.gmu.edu/eclab/projects/mason/, latest accessed 13 July 2012.
JUnit, http://www.junit.org/
A Dialog window (in Java) is an independent subwindow meant to carry temporary notice apart from the main Swing Application Window. Most Dialogs present an error message or warning to a user, but Dialogs can present images, directory trees, or just about anything compatible with the main Swing Application that manages them.
Motor units are composed of one or more motoneurons and all of the muscle fibres they innervate.
A reflex pathway is a type of neural pathway involved in the mediation of a reflex. Reflexes are involuntary reactions that occur in response to stimuli. They often bypass the brain altogether, allowing them to occur very quickly, although the brain receives information about the reflex as it happens.
The soleus is a powerful muscle in the back part of the lower leg (the calf). It runs from just below the knee to the heel, and is involved in standing and walking.
Ege University Center for Brain Research, http://www.eubam.ege.edu.tr/.
The time for the end of the scenario execution may change at each execution, according to the values given by the developer for ScenarioExecuter. See Algorithm 8.
In this article, testing methods and techniques with respect to the MAS properties they are able to address are extensively reviewed. But none of the reviewed studies focus on ABMS.
The meso-level testing example given in this paper (Section 4.2) is a good example of white-box testing. In this test, the behaviour of a sub-society in order to handle a problem in certain conditions is tested by controlling its internal organization. The same sub-society, in another condition, may behave differently to handle the same problem. For example, rather than creating a new synapse, the sub-society may create a new neuron agent. This kind of solution may also satisfy this sub-society and make it produce the same output. However, the internal organization will be totally different. Therefore, only testing inputs and outputs in order to control uncertainty is not enough.
References
Balci O (1994). Validation, verification, and testing techniques throughout the life cycle of a simulation study. In: Proceedings of the 26th Conference on Winter simulation, WSC’94, Society for Computer Simulation International: San Diego, CA, pp 215–220.
Balci O (1995). Principles and techniques of simulation validation, verification, and testing. In: Proceedings of the 27th Conference on Winter simulation, WSC’ 95, IEEE Comp. Soc.: Arlington, VA, pp 147–154.
Bankes SC (2002). Agent-based modeling: A revolution? Proceedings of the National Academy of Sciences of the United States of America 99 (3): 7199–7200.
Beck K (2003). Test-driven Development: By Example. Addison-Wesley: Boston.
Burnstein I (2003). Practical Software Testing. Springer: New York.
Calvin W and Schwindt P (1972). Steps in production of motoneuron spikes during rhytmic firing. Journal of Neurophysiology 35 (3): 297–310.
Capera D, Georgé J, Gleizes M and Glize P (2003). The AMAS theory for complex problem solving based on self-organizing cooperative agents. In: WETICE ’03: Proceedings of the Twelfth International Workshop on Enabling Technologies, IEEE Computer Society: Washington, DC, p 383.
Coelho R, Kulesza U, von Staa A and Lucena C (2006). Unit testing in multi-agent systems using mock agents and aspects. In: Proceedings of the 2006 Int. Workshop on Software eng. for large-scale multi-agent systems, SELMAS’06, ACM: New York, NY, pp 83–90.
Cooley P and Solano E (2011). Agent-based model (ABM) validation considerations. In: Proceedings of the Third International Conference on Advances in System Simulation (SIMUL 2011), IARIA, Barcelona, Spain, pp 134–139.
Dosi G, Fagiolo G and Roventini A (2006). An evolutionary model of endogenous business cycles. Computational Economics 27 (1): 3–34.
Epstein JM (2007). Agent-based computational models and generative social science. In: Generative Social Science Studies in Agent-based Computational Modeling, Introductory Chapters. Princeton University Press, Santa Fe, NM.
Feathers M (2004). Working Effectively with Legacy Code. Prentice Hall PTR: Upper Saddle River, NJ.
Ghosh S (1986). On the concept of dynamic multi-level simulation. In: Proceedings of the 19th annual symposium on Simulation, ANSS ‘86, IEEE Computer Society Press: Los Alamitos, CA, pp 201–205.
Grimm V et al (2005). Pattern-oriented modeling of agent-based complex systems: Lessons from ecology. Science 310 (5750): 987–991.
Gürcan Ö et al (2012). Simulating human single motor units using self-organizing agents. In: Sixth International IEEE Conference on Self-Adaptive and Self-Organizing Systems (SASO’2012), IEEE Computer Society: Lyon, France, pp 11–20.
Gürcan Ö, Dikenelli O and Türker KS (2010). Agent-based exploration of wiring of biological neural networks: Position paper. In: Trumph R (ed). 20th European Meeting on Cybernetics and Systems Research (EMCSR 2010. Austrian Society for Cybernetic Studies: Vienna, Austria, EU, pp 509–514.
Helleboogh A, Vizzari G, Uhrmacher A and Michel F (2007). Modeling dynamic environments in multi-agent simulation. Autonomous Agents and Multi-agent Systems 14 (1): 87–116.
House R, Rousseau DM and Thomas-Hunt M (1995). The meso paradigm: A framework for the integration of micro and macro organizational behavior. Review of Organization Behavior 17: 71–114.
Kaddoum E, Gleizes M-P, Georgé J-P and Picard G (2009). Characterizing and evaluating problem solving self-*systems (regular paper). (regular paper) In: The First Inter. Conference on Adaptive and Self-adaptive Systems and Applications (ADAPTIVE 2009), Athens, Greece, 15–20 November, CPS Production—IEEE Computer Society, page (electronic medium).
Klügl F (2008). A validation methodology for agent-based simulations. In: Proceedings of the 2008 ACM symposium on Applied computing, SAC¡¯08, ACM: New York, NY, pp 39–43.
Klügl F (2009). Multiagent simulation model design strategies. In: MAS&S @ MALLOW’09, Turin, Vol. 494, CEUR Workshop Proceedings, page (online).
Klügl F, Fehler M and Herrler R (2005). About the role of the environment in multi-agent simulations. In: Weyns D, Van Dyke Parunak H and Michel F (eds). Environments for Multi-agent Systems, Vol. 3374 of LNCS. Springer: Berlin/Heidelberg, pp 127–149.
Lamport L (1978). Time, clocks, and the ordering of events in a distributed system. Communications of the ACM 21 (7): 558–565.
Larman C (2004). Applying UML and Patterns: An Introduction to Object-oriented Analysis and Design and Iterative Development, 3rd edn. Prentice Hall PTR: Upper Saddle River, NJ.
Law AM (2007). Simulation, Modeling and Analysis, 4th edn. McGraw Hill: New York.
Luke S et al (2005). MASON: A multiagent simulation environment. Simulation 81 (7): 517–527.
MacQueen JB (1967). Some methods for classification and analysis of multivariate observations. In: Cam LML and Neyman J (eds). Proceedinges of the Fifth Berkeley Symposium on Mathematical Statistics and Probability, Vol 1. University of California Press, Berkeley, CA, pp 281–297.
Malerba F, Nelson R, Orsenigo L and Winter S (1999). ‘History-friendly’ models of industry evolution: The computer industry. Industrial and Corporate Change 8 (1): 3–40.
Montanola-Sales C, Onggo BSS and Casanovas-Garcia J (2011). Agent-based simulation validation: A case study in demographic simulation. In: Proceedings of the Third International Conference on Advances in System Simulation (SIMUL 2011), Barcelona, Spain, pp 109–115.
Nguyen C et al (2011). Testing in multi-agent systems. In: Gleizes M-P and Gomez-Sanz J (eds). Agent-oriented Software Engineering X Vol. 6038 of Lecture Notes in Computer Science. Springer: Berlin/Heidelberg, pp 180–190.
Niazi MA, Hussain A and Kolberg M (2009). Verification and validation of agent-based simulation using the VOMAS approach. In: MAS&S @MALLOW’09, Turin, Vol. 494, CEUR Workshop Proceedings, page (on line).
Nikolai C and Madey G (2009). Tools of the trade: A survey of various agent based modeling platforms. Journal of Artificial Societies and Social Simulation 12 (2): 2.
North M, Collier N and Vos J (2006). Experiences creating three implementations of the repast agent modeling toolkit. ACM Transactions on Modeling and Computer Simulation 16 (1): 1–25.
Pengfei X, Lees M Nan H and Viswanthatn TV (2011). Validation of agent-based simulation through human computation: An example of crowd simulation. In: Multi-agent-based Simulation XI pp 1–13.
Pidd M (2004). Computer Simulation in Management Science. John Wiles & Sons Inc, Indianapolis, IN.
Polack FAC et al (2010). Reflections on the simulation of complex systems for science. In: Proceedings of International Conference on Computational Science (ICCS’2010), Oxford, UK, 22–26 March, pp 276–285 .
Raibulet C and Masciadri L (2009). Towards evaluation mechanisms for runtime adaptivity: From case studies to metrics. In: Proceedings of the 2009 Computation World: Future Computing, Service Computation, Cognitive, Adaptive, Content, Patterns, ComputationWorld’09, IEEE Comp. Soc: Washington, DC, pp 146–152.
Railsback SF and Grimm V (2011). Agent-based and Individual-based Modeling: A Practical Introduction. Princeton University Press, Princeton, NJ.
Robinson S (1997). Simulation model verification and validation: Increasing the users’ confidence. In: Proceedings of the 29th Conference on Winter Simulation, WSC ‘97, IEEE Computer Society: Washington, DC, pp 53–59.
Sansores C and Pavon J (2005). Agent-based simulation replication: A model-driven architecture approach. In: 4th Mexican International Conference on Artificial Intelligence (MICAI’2005), Mexico, pp 244–253.
Sargent RG (2005). Verification and validation of simulation models. In: Proceedings of the 37th Conference on Winter simulation, WSC’05, Winter Simulation Conference, Orlando, FL, USA, 4–7 December, pp 130–143.
Schwindt P and Crill W (1982). Factors influencing motoneuron rhytmic firing: Results from a voltage-clamp study. Journal of Neurophysiology 48 (4): 875–890.
Serrano E and Botia JA (2009). Programming multiagent systems. Chapter Infrastructure for Forensic Analysis of Multi-agent Systems, pp 168–183. Springer-Verlag: Berlin, Heidelberg.
Serrano E, Gómez-Sanz JJ, Botía JA and Pavón J (2009). Intelligent data analysis applied to debug complex software systems. Neurocomputing 72 (13–15): 2785–2795.
Sklar E (2007). Netlogo, a multi-agent simulation environment. Artificial Life 13 (3): 303–311.
Taillandier P, Drogoul A, Vo D and Amouroux E (2012). Gama: A simulation platform that integrates geographical information data, agent-based modeling and multi-scale control. In: Desai N, Liu A and Winikoff M (eds). The 13th International Conference on Principles and Practices of Multi-agent Systems (PRIMA). Kolkata, India, 12–15 November, Lecture Notes in Computer Science, Vol.7057, Springer: Berling Heidelberg, pp 242–258.
Terano T (2007). Exploring the vast parameter space of multi-agent based simulation. In: Antunes L and Takadama K (eds). Multi-agent Based Simulation VII. Lecture Notes in Computer Science, Vol. 4442, Springer: Berlin Heidelberg, pp 1–14.
Troitzsch KG (1996). Multilevel simulation. In: Klaus G et al (eds). Social Science Microsimulation: Berlin: Springer-Verlag, pp 107–122.
Türker KS and Miles TS (1991). Threshold depolarization measurements in resting human motoneurons. Journal of Neuroscience Methods 39 (1): 103–107.
Türker KS and Powers RK (2005). Black box revisited: A technique for estimating postsynaptic potentials in neurons. Trends in Neurosciences 28 (7): 379–386.
Uhrmacher A and Swartout W (2003). Agent-oriented Simulation. Kluwer Academic Publishers: Norwell, MA, pp 215–239.
Utting M and Legeard B (2007). Practical Model-based Testing: A Tools Approach. Morgan Kaufmann Publishers Inc.: San Francisco, CA.
Werker C and Brenner T (2004). Empirical calibration of simulation models. Papers on Economics and Evolution 2004-2010, Max Planck Institute of Economics, Evolutionary Economics Group.
Wilensky U and Rand W (2007). Making models match: Replicating an agent-based model. Journal of Artificial Societies and Social Simulation 10 (4): 2.
Windrum P, Fagiolo G and Moneta A (2007). Empirical validation of agent-based models: Alternatives and prospects. Journal of Artificial Societies and Social Simulation 10 (2): 8.
Wolfram S (1994). Cellular Automata and Complexity: Collected Papers Advanced Book Program Addison-Wesley Pub. Co: Indianapolis, IN.
Acknowledgements
The authors thank Kemal S. Türker and S. Utku Yavuz from Ege University Center for Brain Research for supplying scientific data about the activity of motoneurons. The work described here was partially supported by Ege University under the BAP 10-MUH-004 project. Önder Gürcan is supported by the Turkish Scientific and Technical Research Council (TUBITAK) through a domestic PhD scholarship program (BAYG-2211) and by the French Government through the co-tutelle scholarship program.
Author information
Authors and Affiliations
Rights and permissions
About this article
Cite this article
Gürcan, Ö., Dikenelli, O. & Bernon, C. A generic testing framework for agent-based simulation models. J Simulation 7, 183–201 (2013). https://doi.org/10.1057/jos.2012.26
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1057/jos.2012.26