An agent based simulation engine should be able to provide a fair playing field for its agents. This paper analyzes fairness in the sequencing of agent thread execution within a Java framework that implements a multithreaded, time stepping, agent based simulation engine. The results illustrate why a multithreaded agent based simulation framework using the Java Virtual Machine for concurrency must supplement standard Java thread scheduling with techniques that enable fairness in agent execution order. The "uniform specific notification" pattern is introduced as one technique for producing fairer, uniformly distributed order for initial execution of Java agent threads at each simulation step.
Farinelli, A., Grisetti, G., Iocchi, L., Lo Cascio, S., and Nardi, D., 2003, "Design and Evaluation of Multi Agent Systems for Rescue Operations," Proceedings of the 2003 IEEE/RSJ International Conference on Intelligent Robots and Systems, (IROS 2003) .
Park, J. H., Kim, H., Whang, H., Park, J., and Lee, D., 2005, "Development of an Agent-Based Behavior Module for Evacuation Models–Focused on the Behaviors in the Dark," "Pedestrian and Evacuation Dynamics", Springer-Verlag, Berlin, pp. 347–356.
Zhang, C., and Hammad, A., 2007, "Agent-Based Simulation for Collaborative Cranes," Proceedings of the 2007 Winter Simulation Conference , Washington, D.C., pp. 2051–2056.
Ilachiniski, A., 2004, "Artificial War: Multiagent-Based Simulation of Combat", World Scientific, Singapore.
Emergency Response and Crisis Management (ERCM) Technical Assistance Center, 2006, "Integrating Students With Special Needs and Disabilities Into Emergency Response and Crisis Management Planning", U.S. Department of Education, ERCMExpress, Vol. 2 (1).
Andrews, G. R., 2000, "Foundations of Multithreaded, Parallel, and Distributed Programming", Addison-Wesley, Reading, MA.
Oaks, S., and Wong, H., 2004, "Java Threads", 3rd ed., O'Reilly Media, Inc, Sebastopol, CA.
Haldar, A., and Mahadevan, S., 2000, "Probability, Reliability and Statistical Methods in Engineering Design", Wiley, New York.
DongFang, S., and Roger, J. B., 2007, "The Range of Predictions for Calibrated Agent-Based Simulation Models," Proceedings of the 39th conference on Winter simulation: 40 Years! The Best Is Yet to Come , Washington, DC.
Barry, P., Koehler, M., Jacyna, G., Bergen-Hill, T., and Tierney, M., 2008, "Using Generative Analysis for Homeland Security: Modeling the Possibilities and the Probabilities," Proceedings of the 2008 IEEE International Conference on Technologies for Homeland Security , Boston, MA, pp. 480–485.
Tisue, S., and Wilensky, U., 2004, "Netlogo: Design and Implementation of a Multi-Agent Modeling Environment", paper presented at the Swarmfest, May 9–11, Ann Arbor, MI.
Sonnessa, M., 2004, "JAS Library User's Guide, Version 1.0", http://jaslibrary.Sourceforge.Net.
Murphy, J. T., "A RePast Tutorial," University of Arizona and Arizona State University.
Swarm Development Group, 2005, "Dblbuffer2d," Documentation Set for Swarm 2.2. Release 2.1.1.
Sanchez, S. M., and Lucas, T. W., 2002, "Exploring the World of Agent-Based Simulations: Simple Models, Complex Analyses," Proceedings of the 34th Conference on Winter Simulation , San Diego, CA, Vol. 1 , pp. 116–126.
Welch, L. D., and Ekwaro-Osire, S., 2008, "Seeking Shelter: Towards a Multi-Agent Based Simulation of a School Lockdown Scenario," Proceedings of the 2008 IEEE International Conference on Technologies for Homeland Security , Boston, MA.
Cargill, T. A., 1996, "Specific Notification for Java Thread Synchronization," Proceedings of the Pattern Languages of Programming Conference , Allerton Park, IL.
Welch LL, Ekwaro-Osire SS. Fairness in Agent Based Simulation Frameworks. ASME. J. Comput. Inf. Sci. Eng. 2010;10(1):011002-011002-6. doi:10.1115/1.3290764.