Abstract
Programming massively distributed systems in unreliable environments poses several non-trivial challenges. Such systems need to be able to adapt and self-organise, and special algorithms need to be developed for this purpose. In particular, simulators provide an irreplaceable tool for the development process.
Among other tools for programming self-organizing systems, the FieldCalc++ (FCPP, implementing the field calculus in C++) library stands out for its efficiency, portability and extensibility, and its support for aggregate programs. On the other hand, the simulator’s output was limited up to now to numeric statistical information, reducing the user’s ability to understand and interact with the system under simulation.
In this paper, we present a novel graphical user interface for FCPP, allowing for a real-time, interactive and three-dimensional visualization of the simulated system. Through this interface, the user can control the simulation flow, visualize summary information of the network at a single glance, and inspect detailed information via auxiliary windows. The interface is designed to require minimal effort from the end user for its setup, and can be further extended for increased interaction.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
- 2.
- 3.
Accessible starting from: https://fcpp.github.io.
- 4.
Acronym for Same Instruction, Multiple Data.
- 5.
Acronym for Frames Per Second.
- 6.
For instance, while simulating the flying patterns of a group of drones, a top-view of a city could be applied on the grid plane in order to compare the positions of the drones with the city blocks.
- 7.
The framebuffer is a buffer storing frames to be rendered, and swapping such buffer basically means to display its content on screen.
- 8.
MacBook Pro, 2.4GHz intel Core i9 8-core, 32GB RAM, Intel UHD Graphics 630.
- 9.
https://github.com/fcpp/fcpp-sample-project, non-retractable version evaluated with this paper: https://doi.org/10.5281/zenodo.6480037.
References
Abrahams, D., Gurtovoy, A.: C++ Template Metaprogramming: Concepts, Tools, and Techniques from Boost and Beyond (C++ in Depth Series). Addison-Wesley Professional, Boston (2004)
Audrito, G.: FCPP: an efficient and extensible field calculus framework. In: IEEE International Conference on Autonomic Computing and Self-Organizing Systems, ACSOS 2020, Washington, DC, USA, 17–21 August 2020, pp. 153–159. IEEE (2020). https://doi.org/10.1109/ACSOS49614.2020.00037
Audrito, G., Casadei, R., Torta, G.: Fostering resilient execution of multi-agent plans through self-organisation. In: IEEE International Conference on Autonomic Computing and Self-Organizing Systems, ACSOS 2021, Companion Volume, Washington, DC, USA, September 27 - October 1 2021, pp. 81–86. IEEE (2021). https://doi.org/10.1109/ACSOS-C52956.2021.00076
Audrito, G., Casadei, R., Torta, G.: Towards integration of multi-agent planning with self-organising collective processes. In: IEEE International Conference on Autonomic Computing and Self-Organizing Systems, ACSOS 2021, Companion Volume, Washington, DC, USA, September 27 - October 1 2021, pp. 297–298. IEEE (2021). https://doi.org/10.1109/ACSOS-C52956.2021.00042
Audrito, G., et al.: RM for users’ safety and security in the built environment. In: VORTEX 2021: Proceedings of the 5th ACM International Workshop on Verification and mOnitoring at Runtime EXecution, Virtual Event, Denmark, 12 July 2021, pp. 13–16. ACM (2021). https://doi.org/10.1145/3464974.3468445
Audrito, G., Damiani, F., Stolz, V., Torta, G., Viroli, M.: Distributed runtime verification by past-ctl and the field calculus. J. Syst. Softw. 187, 111251 (2022). https://doi.org/10.1016/j.jss.2022.111251
Audrito, G., Torta, G.: Towards aggregate monitoring of spatio-temporal properties. In: VORTEX 2021: Proceedings of the 5th ACM International Workshop on Verification and mOnitoring at Runtime EXecution, Virtual Event, Denmark, 12 July 2021, pp. 26–29. ACM (2021). https://doi.org/10.1145/3464974.3468448
Audrito, G., Viroli, M., Damiani, F., Pianini, D., Beal, J.: A higher-order calculus of computational fields. ACM Trans. Comput. Log. 20(1), 5:1–5:55 (2019). https://doi.org/10.1145/3285956
Beal, J., Dulman, S., Usbeck, K., Viroli, M., Correll, N.: Organizing the aggregate: Languages for spatial computing. In: Formal and Practical Aspects of Domain-Specific Languages: Recent Developments, pp. 436–501. IGI Global (2013)
Beal, J., Pianini, D., Viroli, M.: Aggregate programming for the internet of things. IEEE Comput. 48(9), 22–30 (2015). https://doi.org/10.1109/MC.2015.261
Beal, J., Viroli, M., Pianini, D., Damiani, F.: Self-adaptation to device distribution in the internet of things. ACM Trans. Autonom. Adapt. Syst. 12(3), 12:1–12:29 (2017). https://doi.org/10.1145/3105758
Bracha, G., Cook, W.R.: Mixin-based inheritance. In: International Conference on Object-Oriented Programming Systems, Languages, and Applications (OOPSLA) / European Conference on Object-Oriented Programming (ECOOP), pp. 303–311. ACM (1990). https://doi.org/10.1145/97945.97982
Cannon, H.I.: Flavors: A non-hierarchical approach to object-oriented programming. Technical Report, Artificial Intelligence Laboratory, MIT, USA (1979)
Casadei, R., Viroli, M., Audrito, G., Pianini, D., Damiani, F.: Engineering collective intelligence at the edge with aggregate processes. Eng. Appl. Artif. Intell. 97, 104081 (2021). https://doi.org/10.1016/j.engappai.2020.104081
Curino, C., Giani, M., Giorgetta, M., Giusti, A., Murphy, A.L., Picco, G.P.: Mobile data collection in sensor networks: the tinyLime. Pervasive Mobile Comput. 1(4), 446–469 (2005). https://doi.org/10.1016/j.pmcj.2005.08.003
Dean, J., Ghemawat, S.: Mapreduce: simplified data processing on large clusters. Commun. ACM 51(1), 107–113 (2008). https://doi.org/10.1145/1327452.1327492
Koenig, N., Howard, A.: Design and use paradigms for gazebo, an open-source multi-robot simulator. In: IEEE/RSJ International Conference on Intelligent Robots and Systems, pp. 2149–2154. Sendai, Japan, September 2004
Kondacs, A.: Biologically-inspired self-assembly of two-dimensional shapes using global-to-local compilation. In: 18th International Joint Conference on Artificial Intelligence (IJCAI), pp. 633–638. Morgan Kaufmann (2003)
Lasser, C., Massar, J., Miney, J., Dayton, L.: Starlisp Reference Manual. Thinking Machines Corporation (1988)
Mamei, M., Zambonelli, F.: Programming pervasive and mobile computing applications: the TOTA approach. ACM Trans. Softw. Eng. Methodol. 18(4), 15:1–15:56 (2009). https://doi.org/10.1145/1538942.1538945
McIlroy, M.D., Buxton, J., Naur, P., Randell, B.: Mass-produced software components. In: 1st International Conference on Software Engineering, pp. 88–98 (1968)
Pianini, D., Montagna, S., Viroli, M.: Chemical-oriented simulation of computational systems with ALCHEMIST. J. Simul. 7(3), 202–215 (2013). https://doi.org/10.1057/jos.2012.27
Pianini, D., Viroli, M., Beal, J.: Protelis: practical aggregate programming. In: 30th ACM Symposium on Applied Computing (SAC), pp. 1846–1853. ACM (2015). https://doi.org/10.1145/2695664.2695913
Pinciroli, C., et al.: ARGoS: a modular, parallel, multi-engine simulator for multi-robot systems. Swarm Intell. 6(4), 271–295 (2012)
Viroli, M., Audrito, G., Beal, J., Damiani, F., Pianini, D.: Engineering resilient collective adaptive systems by self-stabilisation. ACM Trans. Model. Comput. Simul. 28(2), 16:1–16:28 (2018). https://doi.org/10.1145/3177774
Viroli, M., Casadei, R., Pianini, D.: Simulating large-scale aggregate mass with alchemist and scala. In: Federated Conference on Computer Science and Information Systems (FedCSIS). Annals of Computer Science and Information Systems, vol. 8, pp. 1495–1504. IEEE (2016). https://doi.org/10.15439/2016F407
Zainab, H., Audrito, G., Dasgupta, S., Beal, J.: Effect of monotonic filtering on graph collection dynamics. In: IEEE International Conference on Autonomic Computing and Self-Organizing Systems, ACSOS 2021, Companion Volume, Washington, DC, USA, September 27 - October 1 2021, pp. 68–73. IEEE (2021). https://doi.org/10.1109/ACSOS-C52956.2021.00036
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2022 IFIP International Federation for Information Processing
About this paper
Cite this paper
Audrito, G., Rapetta, L., Torta, G. (2022). Extensible 3D Simulation of Aggregated Systems with FCPP. In: ter Beek, M.H., Sirjani, M. (eds) Coordination Models and Languages. COORDINATION 2022. IFIP Advances in Information and Communication Technology, vol 13271. Springer, Cham. https://doi.org/10.1007/978-3-031-08143-9_4
Download citation
DOI: https://doi.org/10.1007/978-3-031-08143-9_4
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-031-08145-3
Online ISBN: 978-3-031-08143-9
eBook Packages: Computer ScienceComputer Science (R0)