HLogo: A Parallel Haskell Variant of NetLogo
Nikolaos Bezirgiannis, I. S. W. B. Prasetya, Ilias Sakellariou
2016
Abstract
Agent-based Modeling (ABM) has become quite popular to the simulation community for its usability and wide area of applicability. However, speed is not usually a trait that ABM tools are characterized of attaining. This paper presents HLogo, a parallel variant of the NetLogo ABM framework, that seeks to increase the performance of ABM by utilizing Software Transactional Memory and multi-core CPUs, all the while maintaining the user friendliness of NetLogo. HLogo is implemented as a Domain Specific Language embedded in the functional language Haskell, which means that it also inherits Haskell’s features, such as its static typing.
References
- Bjesse, P., Claessen, K., Sheeran, M., and Singh, S. (1998). Lava: Hardware design in haskell. In Proceedings of the Third ACM SIGPLAN International Conference on Functional Programming, ICFP 7898, pages 174-184, New York, NY, USA. ACM.
- Castle, C. J. E. and Crooks, A. T. (2006). Principles and concepts of agent-based modelling for developing geospatial simulations.
- Claessen, K. and Palka, M. H. (2013). Splittable pseudorandom number generators using cryptographic hashing. In ACM SIGPLAN Notices, volume 48, pages 47-58. ACM.
- Deissenberg, C., van der Hoog, S., and Dawid, H. (2008). EURACE: a massively parallel agent-based model of the european economy. Applied Mathematics and Computation, 204(2):541-552.
- Discolo, A., Harris, T., Marlow, S., Peyton, and Singh, S. (2006). Lock -free data structures using STMs in haskell.
- D'Souza, R. M., Lysenko, M., and Rahmani, K. (2007). SugarScape on steroids: simulating over a million agents at interactive rates.
- Elliott, C. (2003). Functional images. In The Fun of Programming, “Cornerstones of Computing” series. Palgrave.
- Epstein, J., Black, A. P., and Peyton-Jones, S. (2011). Towards Haskell in the cloud. In ACM SIGPLAN Notices, volume 46, pages 118-129. ACM.
- Epstein, J. M. and Axtell, R. (1996). Growing Artificial Societies: Social Science from the Bottom Up. Brookings Institution Press.
- Grimm, V., Revilla, E., Berger, U., Jeltsch, F., Mooij, W. M., Railsback, S. F., Thulke, H.-H., Weiner, J., Wiegand, T., and DeAngelis, D. L. (2005). Patternoriented modeling of agent-based complex systems: Lessons from ecology. Science, 310(5750):987-991.
- Hybinette, M., Kraemer, E., Xiong, Y., Matthews, G., and Ahmed, J. (2006). SASSY: a design for a scalable agent-based simulation system using a distributed discrete event infrastructure. page 926933.
- Kiran, M., Richmond, P., Holcombe, M., Chin, L. S., Worth, D., and Greenough, C. (2010). FLAME: Simulating Large Populations of Agents on Parallel Hardware Architectures. AAMAS 7810, pages 1633- 1636, Richland, SC. International Foundation for Autonomous Agents and Multiagent Systems.
- Kiselyov, O., Lmmel, R., and Schupke, K. (2004). Strongly Typed Heterogeneous Collections. In Proceedings of the 2004 ACM SIGPLAN Workshop on Haskell, Haskell 7804, pages 96-107, New York, NY, USA. ACM.
- Knight, T. (1986). An architecture for mostly functional languages. LFP 7886, page 105112, New York, NY, USA. ACM.
- Koehler, M., Tivnan, B., and Upton, S. (2005). Clustered computing with netlogo and repast j: Beyond chewing gum and duct tape.
- Kupke, F. K. (2010). Robust Distributed Software Transactions for Haskell. PhD thesis, Christian-Albrechts Universitt Kiel.
- Logan, B. and Theodoropoulos, G. (2001). The distributed simulation of multiagent systems. 89(2):174185.
- Massaioli, F., Castiglione, F., and Bernaschi, M. (2005). OpenMP parallelization of agent-based models. 31(10):10661081.
- Milner, R. (1978). A theory of type polymorphism in programming. Journal of Computer and System Sciences, 17(3):348-375.
- North, M. J., Collier, N. T., Ozik, J., Tatara, E. R., Macal, C. M., Bragen, M., and Sydelko, P. (2013). Complex adaptive systems modeling with repast simphony. Complex adaptive systems modeling, 1(1):1-26.
- Perfumo, C., Snmez, N., Stipic, S., Unsal, O., Cristal, A., Harris, T., and Valero, M. (2008). The limits of software transactional memory (STM): dissecting haskell STM applications on a many-core environment. CF 7808, page 6778, New York, NY, USA. ACM.
- Peterson, J. and Hager, G. (1999). Monadic robotics. In Proceedings of the 2Nd Conference on Domainspecific Languages, DSL 7899, pages 95-108, New York, NY, USA. ACM.
- Peyton Jones, S. L. and Wadler, P. (1993). Imperative functional programming. In Proceedings of the 20th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL 7893, pages 71-84. ACM.
- Pogson, M., Smallwood, R., Qwarnstrom, E., and Holcombe, M. (2006). Formal agent-based modelling of intracellular chemical interactions. 85(1):3745.
- Railsback, S. F., Lytinen, S. L., and Jackson, S. K. (2006). Agent-based simulation platforms: review and development recommendations. Simulation, 82(9):609- 623.
- Riley, P. F. and Riley, G. F. (2003). Next generation modeling III - agents: Spades a distributed agent simulation environment with software-in-the-loop execution. WSC 7803, page 817825. Winter Simulation Conference.
- Sakellariou, I., Kefalas, P., and Stamatopoulou, I. (2008). Enhancing NetLogo to simulate BDI communicating agents. In Darzentas, J., Vouros, G. A., Vosinakis, S., and Arnellos, A., editors, Artificial Intelligence: Theories, Models and Applications, number 5138 in Lecture Notes in Computer Science, pages 263-275. Springer Berlin Heidelberg.
- Salamon, T. (2011). Design of agent-based models. Eva & Tomas Bruckner Publishing.
- Shavit, N. and Touitou, D. (1995). Software transactional memory. PODC 7895, page 204213, New York, NY, USA. ACM.
- Sheard, T. and Jones, S. P. (2002). Template meta-programming for haskell. SIGPLAN Notice, 37(12):60-75.
- Tobias, R. and Hofmann, C. (2004). Evaluation of free javalibraries for social-scientific agent based simulation.
- Vazou, N., Seidel, E. L., and Jhala, R. (2014). Liquidhaskell: Experience with refinement types in the real world. In Proceedings of the 2014 ACM SIGPLAN Symposium on Haskell, Haskell 7814, pages 39-51, New York, NY, USA. ACM.
- Wilensky, U. (1999). NetLogo.
- Wilensky, U. (2003). Statistical mechanics for secondary school: The GasLab multi-agent modeling toolkit. 8(1):141.
- Wilkerson-Jerde, M. and Wilensky, U. (2010). Restructuring change, interpreting changes: The deltatick modeling and analysis toolkit.
Paper Citation
in Harvard Style
Bezirgiannis N., Prasetya I. and Sakellariou I. (2016). HLogo: A Parallel Haskell Variant of NetLogo . In Proceedings of the 6th International Conference on Simulation and Modeling Methodologies, Technologies and Applications - Volume 1: SIMULTECH, ISBN 978-989-758-199-1, pages 119-128. DOI: 10.5220/0005983501190128
in Bibtex Style
@conference{simultech16,
author={Nikolaos Bezirgiannis and I. S. W. B. Prasetya and Ilias Sakellariou},
title={HLogo: A Parallel Haskell Variant of NetLogo},
booktitle={Proceedings of the 6th International Conference on Simulation and Modeling Methodologies, Technologies and Applications - Volume 1: SIMULTECH,},
year={2016},
pages={119-128},
publisher={SciTePress},
organization={INSTICC},
doi={10.5220/0005983501190128},
isbn={978-989-758-199-1},
}
in EndNote Style
TY - CONF
JO - Proceedings of the 6th International Conference on Simulation and Modeling Methodologies, Technologies and Applications - Volume 1: SIMULTECH,
TI - HLogo: A Parallel Haskell Variant of NetLogo
SN - 978-989-758-199-1
AU - Bezirgiannis N.
AU - Prasetya I.
AU - Sakellariou I.
PY - 2016
SP - 119
EP - 128
DO - 10.5220/0005983501190128