Abstract
Dynamic languages are computer languages that allow programs to substantially restructure themselves while they are running. Interest in these kinds of programming languages has dramatically increased in the last few years. This paper builds on previous work by exploring the use of a popular dynamic language, namely Groovy, within the Repast Simphony (Repast S) platform. This language is applied to modeling the endogenous emergence of coordination within a group of social agents. This paper introduces the Endogenous Emergence of Coordination (EndEC) model. It then highlights many of the features in Groovy that were found to be particularly helpful during model implementation. This demonstrates the powerful and flexible capabilities that a dynamic language can bring to the creation of agent-based models. What is particularly exciting is the potential for creating truly dynamic and evolving open-ended simulations, where the simulation fundamentally changes as it executes.
*The submitted manuscript has been created by UChicago Argonne, LLC, Operator of Argonne National Laboratory (“Argonne”). Argonne, a U.S. Department of Energy Office of Science laboratory, is operated under Contract No. DE-AC02-06CH11357. The U.S. Government retains for itself, and others acting on its behalf, a paid-up nonexclusive, irrevocable worldwide license in said article to reproduce, prepare derivative works, distribute copies to the public, and perform publicly and display publicly, by or on behalf of the Government.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
It is important to note that Repast S and its related tools are currently under development. This paper presents the most current information at the time it was written. However, changes may occur before the next release.
- 2.
A play on words, as an ‘endec’ in electrical systems terminology is a single integrated device which is both an encoder and a decoder for signals which, as will be shown, relates to the agent behaviors in the EndEC model.
- 3.
It is perhaps useful to point out that, from a computer science point of view, the ability to endogenously modify code is not a new concept. LISP (one of the first high-level languages) incorporated this ability and was used widely in AI research. Here we present how to apply such dynamic language capabilities to social simulation via agent-based modeling in Repast Simphony.
- 4.
Groovy implements closures using the curly brace syntax, where input parameters are separated from the body of the closure by the ‘->’ character. If input parameters are not specified and the ‘->’ character is omitted a one parameter closure is assumed, where the parameter is accessed via the it keyword.
- 5.
‘Currying’ is the process of assigning values to some or all of the free parameters of a closure.
- 6.
Groovy 1.6 introduced additional meta-programming capabilities, including the ExpandoMetaClass Domain Specific Language and per instance meta-classes for Java objects, making meta-programming even more powerful and convenient.
References
Apple (2007) The objective-C programming language
Groovy Website (2009) Available at: http://groovy.codehaus.org/
Ke J, Holland JH (2006) Language origin from an emergentist perspective. Appl Ling 27:691–716
König D, Glover A, King P, Laforge G, Skeet J (2007) Groovy in action. Manning Publications, Greenwich
Minar N, Burkhart R, Langton C, Askenazi M (1996) The swarm simulation system: a toolkit for building multi-agent simulations. In: Santa Fe Institute Working Paper 96-06-042
North MJ, Howe TR, Collier NT, Vos JR (2005) The repast simphony development environment. In: Macal CM, North MJ, Sallach DL (eds) Proceedings of the agent 2005 conference on generative social processes, models, and mechanisms, Chicago, IL, USA, 13–15 Oct 2005
North MJ, Howe TR, Collier NT, Vos JR (2005) The repast simphony runtime system. In: Macal CM, North MJ, Sallach DL (eds) Proceedings of the agent 2005 conference on generative social processes, models, and mechanisms, Chicago, IL, USA, 13–15 Oct 2005
Ozik J, North MJ (2008) Agent-based modeling with a dynamic language: platform support for modeling endogenous coordination. In: Proceedings of the second world congress on social simulation, George Mason University, Fairfax, VA USA
Ozik J, North MJ, Sallach DL, Panici JW (2007) ROAD map: transforming and extending repast with groovy. In: Macal CM, North MJ, Sallach DL (eds) Proceedings of the agent 2007 conference on complex interaction and social emergence, Evanston, IL, USA, 15–17 Nov 2007
ROAD, Repast, Repast Organization for Architecture and Design Home Page, Chicago, IL USA (2008). Available at: http://repast.sourceforge.net
Steckler PA, Wand M (1997) Lightweight closure conversion. ACM Trans Program Lang Syst 19(1):48–86
Swarm Development Group (2008) SDG home page. Available at: http://www.swarm.org/
Tao G, Minett JW, Jinyun K, Holland JH, Wang WSY (2005) Coevolution of lexicon and syntax from a simulation perspective: research articles. Complex 10:50–62
Acknowledgments
We would like to thank the anonymous reviewers who offered helpful comments and suggestions. UChicago Argonne, under US Department of Energy contract DE-AC-02- 06CH11357 supported this work.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2010 Springer
About this paper
Cite this paper
Ozik, J., North, M. (2010). Modeling Endogenous Coordination Using a Dynamic Language*. In: Takadama, K., Cioffi-Revilla, C., Deffuant, G. (eds) Simulating Interacting Agents and Social Phenomena. Agent-Based Social Systems, vol 7. Springer, Tokyo. https://doi.org/10.1007/978-4-431-99781-8_19
Download citation
DOI: https://doi.org/10.1007/978-4-431-99781-8_19
Publisher Name: Springer, Tokyo
Print ISBN: 978-4-431-99780-1
Online ISBN: 978-4-431-99781-8
eBook Packages: Computer ScienceComputer Science (R0)