Simulating Large-scale Aggregate MASs with Alchemist and Scala
Mirko Viroli, Roberto Casadei, Danilo Pianini
DOI: http://dx.doi.org/10.15439/2016F407
Citation: Proceedings of the 2016 Federated Conference on Computer Science and Information Systems, M. Ganzha, L. Maciaszek, M. Paprzycki (eds). ACSIS, Vol. 8, pages 1495–1504 (2016)
Abstract. Recent works in the context of large-scale adaptive systems, such as those based on opportunistic IoT-based applications, promote aggregate programming, a development approach for distributed systems in which the collectivity of devices is directly targeted, instead of individual ones. This makes the resulting behaviour highly insensitive to network size, density, and topology, and as such, intrinsically robust to failures and changes to working conditions (e.g., location of computational load, communication technology, and computational infrastructure). Most specifically, we argue that aggregate programming is particularly suitable for building models and simulations of complex large-scale reactive MASs. Accordingly, in this paper we describe Scafi (Scala Fields), a Scala-based API and DSL for aggregate programming, and its integration with the Alchemist simulator, and usage scenarios in the context of smart mobility.
References
- J. Beal, D. Pianini, and M. Viroli, “Aggregate programming for the Internet of Things,” IEEE Computer, 2015.
- J. Beal and M. Viroli, “Space–time programming,” Philosophical Transactions of the Royal Society of London A: Mathematical, Physical and Engineering Sciences, vol. 373, no. 2046, 2015. http://dx.doi.org/10.1098/rsta.2014.0220. [Online]. Available: http://rsta.royalsocietypublishing.org/content/373/2046/20140220
- F. Damiani, M. Viroli, and J. Beal, “A type-sound calculus of computational fields,” Science of Computer Programming, vol. 117, pp. 17 – 44, 2016. http://dx.doi.org/http://dx.doi.org/10.1016/j.scico.2015.11.005. [Online]. Available: http://www.sciencedirect.com/science/article/pii/S0167642315003573
- M. Viroli, J. Beal, F. Damiani, and D. Pianini, “Efficient engineering of complex self-organising systems by self-stabilising fields,” in IEEE Self-Adaptive and Self-Organizing Systems 2015. IEEE, Sept 2015. http://dx.doi.org/10.1109/SASO.2015.16 pp. 81–90.
- M. Viroli, D. Pianini, A. Ricci, P. Brunetti, and A. Croatti, “Multi-agent systems meet aggregate programming: Towards a notion of aggregate plan,” in PRIMA 2015: Principles and Practice of Multi-Agent Systems, ser. Lecture Notes in Computer Science, Q. Chen, P. Torroni, S. Villata, J. Hsu, and A. Omicini, Eds. Springer International Publishing, 2015, vol. 9387, pp. 49–64. ISBN 978-3-319-25523-1. [Online]. Available: http://dx.doi.org/10.1007/978-3-319-25524-8_4
- D. Pianini, S. Montagna, and M. Viroli, “Chemical-oriented simulation of computational systems with Alchemist,” Journal of Simulation, 2013. http://dx.doi.org/10.1057/jos.2012.27. [Online]. Available: http://www.palgrave-journals.com/jos/journal/vaop/full/jos201227a.html
- R. Casadei and M. Viroli, “Towards aggregate programming in scala,” in First Workshop on Programming Models and Languages for Distributed Computing. ACM, 2016, p. 5.
- M. Mamei and F. Zambonelli, “Programming pervasive and mobile computing applications: The TOTA approach,” ACM Trans. on Software Engineering Methodologies, vol. 18, no. 4, pp. 1–56, 2009. http://dx.doi.org/http://doi.acm.org/10.1145/1538942.1538945
- M. Viroli, D. Pianini, S. Montagna, and G. Stevenson, “Pervasive ecosystems: a coordination model based on semantic chemistry,” in 27th Annual ACM Symposium on Applied Computing (SAC 2012), S. Ossowski, P. Lecca, C.-C. Hung, and J. Hong, Eds. Riva del Garda, TN, Italy: ACM, 26-30 March 2012. ISBN 978-1-4503-0857-1 pp. 295–302.
- J. L. Fernandez-Marquez, G. D. M. Serugendo, S. Montagna, M. Viroli, and J. L. Arcos, “Description and composition of bio-inspired design patterns: a complete overview,” Natural Computing, vol. 12, no. 1, pp. 43–67, 2013. http://dx.doi.org/10.1007/s11047-012-9324-y
- M. Odersky, P. Altherr, V. Cremet, B. Emir, S. Maneth, S. Micheloud, N. Mihaylov, M. Schinz, E. Stenman, and M. Zenger, “An overview of the scala programming language,” Tech. Rep., 2004.
- J. Beal and J. Bachrach, “Infrastructure for engineered emergence in sensor/actuator networks,” IEEE Intelligent Systems, vol. 21, pp. 10–19, March/April 2006.
- M. Viroli and F. Damiani, “A calculus of self-stabilising computational fields,” in Coordination Languages and Models, ser. LNCS, eva Kühn and R. Pugliese, Eds. Springer-Verlag, Jun. 2014, vol. 8459, pp. 163–178, proceedings of the 16th Conference on Coordination Models and Languages (Coordination 2014), Berlin (Germany), 3-5 June. Best Paper of Discotec 2014 Federated conference.
- D. Pianini, M. Viroli, and J. Beal, “Protelis: Practical aggregate programming,” in Proceedings of ACM SAC 2015. Salamanca, Spain: ACM, 2015, pp. 1846–1853.
- F. Damiani, M. Viroli, D. Pianini, and J. Beal, “Code mobility meets self-organisation: A higher-order calculus of computational fields,” ser. Lecture Notes in Computer Science. Springer International Publishing, 2015, vol. 9039, pp. 113–128. ISBN 978-3-319-19194-2. [Online]. Available: http://dx.doi.org/10.1007/978-3-319-19195-9_8
- J. Fruin, Pedestrian and Planning Design. Metropolitan Association of Urban Designers and Environmental Planners, 1971.
- B. Anzengruber, D. Pianini, J. Nieminen, and A. Ferscha, “Predicting social density in mass events to prevent crowd disasters,” in Social Informatics, ser. Lecture Notes in Computer Science, A. Jatowt, E.-P. Lim, Y. Ding, A. Miura, T. Tezuka, G. Dias, K. Tanaka, A. Flanagin, and B. Dai, Eds. Springer International Publishing, 2013, vol. 8238, pp. 206–215. ISBN 978-3-319-03259-7. [Online]. Available: http://dx.doi.org/10.1007/978-3-319-03260-3_18
- D. Pianini, M. Viroli, F. Zambonelli, and A. Ferscha, “HPC from a selforganisation perspective: The case of crowd steering at the urban scale,” in High Performance Computing Simulation (HPCS), 2014 International Conference on, July 2014. http://dx.doi.org/10.1109/HPCSim.2014.6903721 pp. 460–467.
- R. Gummadi, O. Gnawali, and R. Govindan, “Macro-programming wireless sensor networks using kairos.” in Distributed Computing in Sensor Systems (DCOSS), 2005, pp. 126–140.
- M. P. Ashley-Rollman, S. C. Goldstein, P. Lee, T. C. Mowry, and P. Pillai, “Meld: A declarative approach to programming ensembles,” in IEEE International Conference on Intelligent Robots and Systems (IROS ’07), 2007, pp. 2794–2800.
- J. Dean and S. Ghemawat, “MapReduce: simplified data processing on large clusters,” Communications of the ACM, vol. 51, no. 1, pp. 107–113, 2008.
- S. R. Madden, R. Szewczyk, M. J. Franklin, and D. Culler, “Supporting aggregate queries over ad-hoc wireless sensor networks,” in Workshop on Mobile Computing and Systems Applications, 2002.
- R. D. Nicola, M. Loreti, R. Pugliese, and F. Tiezzi, “A formal approach to autonomic systems programming: The SCEL language,” ACM Trans. Auton. Adapt. Syst., vol. 9, no. 2, pp. 7:1–7:29, Jul. 2014. http://dx.doi.org/10.1145/2619998. [Online]. Available: http://doi.acm.org/10.1145/2619998
- J. Beal, S. Dulman, K. Usbeck, M. Viroli, and N. Correll, “Organizing the aggregate: Languages for spatial computing,” in Formal and Practical Aspects of Domain-Specific Languages: Recent Developments, M. Mernik, Ed. IGI Global, 2013, ch. 16, pp. 436–501. ISBN 978-1-4666-2092-6 A longer version available at: http://arxiv.org/abs/1202.5509.
- M. Viroli, A. Omicini, and A. Ricci, “Engineering MAS environment with artifacts,” in 2nd International Workshop “Environments for Multi-Agent Systems” (E4MAS 2005), D. Weyns, H. V. D. Parunak, and F. Michel, Eds., AAMAS 2005, Utrecht, The Netherlands, 26 Jul. 2005.
- A. K. Kalia and M. P. Singh, “Muon: designing multiagent communication protocols from interaction scenarios,” Autonomous Agents and Multi-Agent Systems, vol. 29, no. 4, pp. 621–657, 2015. http://dx.doi.org/10.1007/s10458-014-9264-2.
- A. Artikis, M. J. Sergot, and J. V. Pitt, “Specifying normgoverned computational societies,” ACM Trans. Comput. Log., vol. 10, no. 1, 2009. http://dx.doi.org/10.1145/1459010.1459011. [Online]. Available: http://doi.acm.org/10.1145/1459010.1459011
- A. U. Mallya and M. P. Singh, “An algebra for commitment protocols,” Autonomous Agents and Multi-Agent Systems, vol. 14, no. 2, pp. 143–163, 2007. http://dx.doi.org/10.1007/s10458-006-7232-1. [Online]. Available: http://dx.doi.org/10.1007/s10458-006-7232-1
- H. V. D. Parunak, S. Brueckner, R. S. Matthews, and J. A. Sauter, “Pheromone learning for self-organizing agents,” IEEE Transactions on Systems, Man, and Cybernetics, Part A, vol. 35, no. 3, pp. 316–326, 2005. http://dx.doi.org/10.1109/TSMCA.2005.846408. [Online]. Available: http://dx.doi.org/10.1109/TSMCA.2005.846408
- S. Bandini, S. Manzoni, and G. Vizzari, “Agent based modeling and simulation: An informatics perspective,” Journal of Artificial Societies and Social Simulation, vol. 12, p. 4, 2009. [Online]. Available: http://EconPapers.repec.org/RePEc:jas:jasssj:2009-69-1
- M. Schumacher, L. Grangier, and R. Jurca, “Governing environments for agent-based traffic simulations,” in Proceedings of the 5th international Central and Eastern European conference on Multi-Agent Systems and Applications V, ser. CEEMAS ’07. Berlin, Heidelberg: Springer-Verlag, 2007. http://dx.doi.org/10.1007/978-3-540-75254-7_17. ISBN 978-3-540-75253-0 pp. 163–172.
- S. Bandini, S. Manzoni, and G. Vizzari, “Crowd Behavior Modeling: From Cellular Automata to Multi-Agent Systems,” in Multi-Agent Systems: Simulation and Applications, ser. Computational Analysis, Synthesis, and Design of Dynamic Systems, A. M. Uhrmacher and D. Weyns, Eds. CRC Press, Jun. 2009, ch. 13, pp. 389–418. ISBN 978-1-4200-7023-1. [Online]. Available: http://crcpress.com/product/isbn/9781420070231
- M. J. North, T. R. Howe, N. T. Collier, and J. R. Vos, “A declarative model assembly infrastructure for verification and validation,” in Advancing Social Simulation: The First World Congress, S. Takahashi, D. Sallach, and J. Rouchier, Eds. Springer Japan, 2007, pp. 129–140.
- E. Sklar, “Netlogo, a multi-agent simulation environment,” Artificial life, vol. 13, no. 3, pp. 303–311, 2007.
- C. Priami, “Stochastic pi-calculus,” The Computer Journal, vol. 38, no. 7, pp. 578–589, 1995.
- T. Murata, “Petri nets: Properties, analysis and applications,” Proceedings of the IEEE, vol. 77, no. 4, pp. 541–580, Apr. 1989. http://dx.doi.org/10.1109/5.24143
- A. M. Uhrmacher and C. Priami, “Discrete event systems specification in systems biology - a discussion of stochastic pi calculus and devs,” in Proceedings of the 37th conference on Winter simulation, ser. WSC ’05. Winter Simulation Conference, 2005. ISBN 0-7803-9519-0 pp. 317–326. [Online]. Available: http://dl.acm.org/citation.cfm?id=1162708.1162767
- R. Ewald, C. Maus, A. Rolfs, and A. M. Uhrmacher, “Discrete event modeling and simulation in systems biology,” Journal of Simulation, vol. 1, no. 2, pp. 81–96, 2007. [Online]. Available: http://dx.doi.org/10.1057/palgrave.jos.4250018
- B. P. Zeigler, Theory of Modeling and Simulation. John Wiley, 1976.
- B. Zeigler, Multifaceted modelling and Discrete Event Simulation. Academic Press, 1984.
- D. Harel, “Statecharts: A visual formalism for complex systems,” Sci. Comput. Program., vol. 8, no. 3, pp. 231–274, Jun. 1987. http://dx.doi.org/10.1016/0167-6423(87)90035-9.