Skip to main content

Extensible 3D Simulation of Aggregated Systems with FCPP

  • Conference paper
  • First Online:
Coordination Models and Languages (COORDINATION 2022)

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 99.00
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 129.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    https://www.youtube.com/watch?v=zWsNqJMVxKs.

  2. 2.

    https://github.com/fcpp/fcpp-exercises#readme.

  3. 3.

    Accessible starting from: https://fcpp.github.io.

  4. 4.

    Acronym for Same Instruction, Multiple Data.

  5. 5.

    Acronym for Frames Per Second.

  6. 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. 7.

    The framebuffer is a buffer storing frames to be rendered, and swapping such buffer basically means to display its content on screen.

  8. 8.

    MacBook Pro, 2.4GHz intel Core i9 8-core, 32GB RAM, Intel UHD Graphics 630.

  9. 9.

    https://github.com/fcpp/fcpp-sample-project, non-retractable version evaluated with this paper: https://doi.org/10.5281/zenodo.6480037.

References

  1. Abrahams, D., Gurtovoy, A.: C++ Template Metaprogramming: Concepts, Tools, and Techniques from Boost and Beyond (C++ in Depth Series). Addison-Wesley Professional, Boston (2004)

    Google Scholar 

  2. 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

  3. 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

  4. 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

  5. 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

  6. 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

    Article  Google Scholar 

  7. 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

  8. 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

  9. 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)

    Google Scholar 

  10. 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

    Article  Google Scholar 

  11. 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

  12. 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

  13. Cannon, H.I.: Flavors: A non-hierarchical approach to object-oriented programming. Technical Report, Artificial Intelligence Laboratory, MIT, USA (1979)

    Google Scholar 

  14. 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

    Article  Google Scholar 

  15. 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

    Article  Google Scholar 

  16. 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

    Article  Google Scholar 

  17. 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

    Google Scholar 

  18. 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)

    Google Scholar 

  19. Lasser, C., Massar, J., Miney, J., Dayton, L.: Starlisp Reference Manual. Thinking Machines Corporation (1988)

    Google Scholar 

  20. 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

  21. McIlroy, M.D., Buxton, J., Naur, P., Randell, B.: Mass-produced software components. In: 1st International Conference on Software Engineering, pp. 88–98 (1968)

    Google Scholar 

  22. 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

    Article  Google Scholar 

  23. 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

  24. Pinciroli, C., et al.: ARGoS: a modular, parallel, multi-engine simulator for multi-robot systems. Swarm Intell. 6(4), 271–295 (2012)

    Article  Google Scholar 

  25. 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

  26. 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

  27. 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

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Giorgio Audrito .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2022 IFIP International Federation for Information Processing

About this paper

Check for updates. Verify currency and authenticity via CrossMark

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)

Publish with us

Policies and ethics