Skip to main content

Simulation of Large Scale Computational Ecosystems with Alchemist: A Tutorial

  • Conference paper
  • First Online:
Distributed Applications and Interoperable Systems (DAIS 2021)

Part of the book series: Lecture Notes in Computer Science ((LNCCN,volume 12718))

Abstract

Many interesting systems in several disciplines can be modeled as networks of nodes that can store and exchange data: pervasive systems, edge computing scenarios, and even biological and bio-inspired systems. These systems feature inherent complexity, and often simulation is the preferred (and sometimes the only) way of investigating their behavior; this is true both in the design phase and in the verification and testing phase. In this tutorial paper, we provide a guide to the simulation of such systems by leveraging Alchemist, an existing research tool used in several works in the literature. We introduce its meta-model and its extensible architecture; we discuss reference examples of increasing complexity; and we finally show how to configure the tool to automatically execute multiple repetitions of simulations with different controlled variables, achieving reliable and reproducible results.

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 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.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://alchemistsimulator.github.io.

  2. 2.

    A video is available at https://www.youtube.com/watch?v=QkWDynuELuo.

  3. 3.

    A video is available at https://www.youtube.com/watch?v=606ObQwQuaE.

  4. 4.

    A video is available at https://www.youtube.com/watch?v=MOwS6vQnubY.

  5. 5.

    https://github.com/DanySK/DisCoTec-2021-Tutorial.

  6. 6.

    https://alchemistsimulator.github.io/.

  7. 7.

    https://yaml.org/spec/1.2/spec.html.

  8. 8.

    https://www.graphhopper.com/.

  9. 9.

    https://bit.ly/3cCfdnj.

  10. 10.

    https://www.jcp.org/en/jsr/detail?id=223.

References

  1. Audrito, G., Damiani, F., Viroli, M.: Optimal single-path information propagation in gradient-based algorithms. Sci. Comput. Program. 166, 146–166 (2018). https://doi.org/10.1016/j.scico.2018.06.002

    Article  Google Scholar 

  2. Audrito, G., Pianini, D., Damiani, F., Viroli, M.: Aggregate centrality measures for IoT-based coordination. Sci. Comput. Program. 203, 102584 (2021). https://doi.org/10.1016/j.scico.2020.102584

    Article  Google Scholar 

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

  4. Casadei, R., Tsigkanos, C., Viroli, M., Dustdar, S.: Engineering resilient collaborative edge-enabled IoT. In: 2019 IEEE International Conference on Services Computing (SCC). IEEE (2019). https://doi.org/10.1109/scc.2019.00019

  5. Casadei, R., Viroli, M., Audrito, G., Pianini, D., Damiani, F.: Engineering collective intelligence at the edge with aggregate processes. Eng. Appl. Artifi. Intelli. 97 (2021). https://doi.org/10.1016/j.engappai.2020.104081. http://www.sciencedirect.com/science/article/pii/S0952197620303389

  6. David, V.: JSON: Main Principals. CreateSpace Independent Publishing Platform, North Charleston (2016)

    Google Scholar 

  7. Devreotes, P., Janetopoulos, C.: Eukaryotic chemotaxis: distinctions between directional sensing and polarization. J. Biol. Chem. 278(23), 20445–20448 (2003). https://doi.org/10.1074/jbc.r300010200

    Article  Google Scholar 

  8. Fernandez-Marquez, J.L., Serugendo, G.D.M., Montagna, S., Viroli, M., Arcos, J.L.: Description and composition of bio-inspired design patterns: a complete overview. Nat. Comput. 12(1), 43–67 (2013). https://doi.org/10.1007/s11047-012-9324-y

    Article  MathSciNet  Google Scholar 

  9. Francia, M., Pianini, D., Beal, J., Viroli, M.: Towards a foundational API for resilient distributed systems design. In: 2nd IEEE International Workshops on Foundations and Applications of Self* Systems, FAS*W@SASO/ICCAC 2017, Tucson, AZ, USA, 18–22 September 2017, pp. 27–32 (2017). https://doi.org/10.1109/FAS-W.2017.116

  10. Gelernter, D.: Generative communication in Linda. ACM Trans. Program. Lang. Syst. 7(1), 80–112 (1985). https://doi.org/10.1145/2363.2433

    Article  MATH  Google Scholar 

  11. Gibson, M.A., Bruck, J.: Efficient exact stochastic simulation of chemical systems with many species and many channels. J. Phys. Chem. A 104(9), 1876–1889 (2000). https://doi.org/10.1021/jp993732q

    Article  Google Scholar 

  12. Hidalgo, C.A., Barabási, A.: Scale-free networks. Scholarpedia 3(1), 1716 (2008). https://doi.org/10.4249/scholarpedia.1716

    Article  Google Scholar 

  13. Matsumoto, M., Nishimura, T.: Mersenne twister: a 623-dimensionally equidistributed uniform pseudo-random number generator. ACM Trans. Model. Comput. Simul. 8(1), 3–30 (1998). https://doi.org/10.1145/272991.272995

    Article  MATH  Google Scholar 

  14. Montagna, S., Pianini, D., Viroli, M.: Gradient-based self-organisation patterns of anticipative adaptation. In: Sixth IEEE International Conference on Self-Adaptive and Self-Organizing Systems, SASO 2012, Lyon, France, 10–14 September 2012, pp. 169–174 (2012). https://doi.org/10.1109/SASO.2012.25

  15. Montagna, S., Pianini, D., Viroli, M.: A model for drosophila melanogaster development from a single cell to stripe pattern formation. In: Proceedings of the ACM Symposium on Applied Computing, SAC 2012, Riva, Trento, Italy, 26–30 March 2012, pp. 1406–1412 (2012). https://doi.org/10.1145/2245276.2231999. http://doi.acm.org/10.1145/2245276.2231999

  16. Montagna, S., Viroli, M., Risoldi, M., Pianini, D., Di Marzo Serugendo, G.: Self-organising pervasive ecosystems: a crowd evacuation example. In: Troubitsyna, E.A. (ed.) SERENE 2011. LNCS, vol. 6968, pp. 115–129. Springer, Heidelberg (2011). https://doi.org/10.1007/978-3-642-24124-6_12

    Chapter  Google Scholar 

  17. Morgan, D.: All lobsters with perfect matchings are graceful. Electron. Notes Discret. Math. 11, 503–508 (2002). https://doi.org/10.1016/S1571-0653(04)00095-2

    Article  MathSciNet  MATH  Google Scholar 

  18. Pianini, D.: Danysk/discotec-2021-tutorial: 0.1.0 (2021). https://doi.org/10.5281/ZENODO.4701062. https://zenodo.org/record/4701062

  19. Pianini, D., Casadei, R., Viroli, M., Natali, A.: Partitioned integration and coordination via the self-organising coordination regions pattern. Future Gener. Comput. Syste. 114, 44–68 (2021). https://doi.org/10.1016/j.future.2020.07.032. http://www.sciencedirect.com/science/article/pii/S0167739X20304775

  20. Pianini, D., Dobson, S., Viroli, M.: Self-stabilising target counting in wireless sensor networks using Euler integration. In: 11th IEEE International Conference on Self-Adaptive and Self-Organizing Systems, SASO 2017, Tucson, AZ, USA, 18–22 September 2017, pp. 11–20 (2017). https://doi.org/10.1109/SASO.2017.10

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

  22. Pianini, D., Viroli, M., Beal, J.: Protelis: practical aggregate programming. In: Proceedings of the 30th Annual ACM Symposium on Applied Computing, Salamanca, Spain, 13–17 April 2015, pp. 1846–1853 (2015). https://doi.org/10.1145/2695664.2695913. http://doi.acm.org/10.1145/2695664.2695913

  23. Pigné, Y., Dutot, A., Guinand, F., Olivier, D.: Graphstream: a tool for bridging the gap between complex systems and dynamic graphs. CoRR abs/0803.2093 (2008). http://arxiv.org/abs/0803.2093

  24. Rhee, I., Shin, M., Hong, S., Lee, K., Kim, S.J., Chong, S.: On the levy-walk nature of human mobility. IEEE/ACM Trans. Netw. 19(3), 630–643 (2011). https://doi.org/10.1109/tnet.2011.2120618

    Article  Google Scholar 

  25. Slepoy, A., Thompson, A.P., Plimpton, S.J.: A constant-time kinetic Monte Carlo algorithm for simulation of large biochemical reaction networks. J. Chem. Phys. 128(20), 05B618 (2008). https://doi.org/10.1063/1.2919546

    Article  Google Scholar 

  26. Sonmez, C., Ozgovde, A., Ersoy, C.: EdgeCloudSim: an environment for performance evaluation of edge computing systems. Trans. Emerg. Telecommun. Technol. 29(11), e3493 (2018). https://doi.org/10.1002/ett.3493

    Article  Google Scholar 

  27. Stevenson, G., Ye, J., Dobson, S., Pianini, D., Montagna, S., Viroli, M.: Combining self-organisation, context-awareness and semantic reasoning: the case of resource discovery in opportunistic networks. In: Proceedings of the 28th Annual ACM Symposium on Applied Computing, SAC 2013, Coimbra, Portugal, 18–22 March 2013, pp. 1369–1376 (2013). https://doi.org/10.1145/2480362.2480619. http://doi.acm.org/10.1145/2480362.2480619

  28. Swaminathan, V., Jeyanthi, P.: Super edge-magic strength of fire crackers, banana trees and unicyclic graphs. Discret. Math. 306(14), 1624–1636 (2006). https://doi.org/10.1016/j.disc.2005.06.038

    Article  MathSciNet  MATH  Google Scholar 

  29. 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), 1–28 (2018). https://doi.org/10.1145/3177774

    Article  MathSciNet  Google Scholar 

  30. Viroli, M., Bucchiarone, A., Pianini, D., Beal, J.: Combining self-organisation and autonomic computing in CASs with aggregate-MAPE. In: 2016 IEEE 1st International Workshops on Foundations and Applications of Self* Systems (FAS*W). IEEE (2016). https://doi.org/10.1109/fas-w.2016.49

  31. Viroli, M., Casadei, R., Pianini, D.: Simulating large-scale aggregate mass with alchemist and scala. In: Proceedings of the 2016 Federated Conference on Computer Science and Information Systems, FedCSIS 2016, Gdańsk, Poland, 11–14 September 2016, pp. 1495–1504 (2016). https://doi.org/10.15439/2016F407

  32. Zaburdaev, V., Denisov, S., Klafter, J.: Lévy walks. Rev. Mod. Phys. 87(2), 483–530 (2015). https://doi.org/10.1103/revmodphys.87.483

    Article  Google Scholar 

  33. Zambonelli, F., et al.: Developing pervasive multi-agent systems with nature-inspired coordination. Pervasive Mobile Comput. 17, 236–252 (2015). https://doi.org/10.1016/j.pmcj.2014.12.002

    Article  Google Scholar 

Download references

Acknowledgements

This work has been supported by the MIUR PRIN Project N. 2017KRC7KT “Fluidware”.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Danilo Pianini .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2021 IFIP International Federation for Information Processing

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Pianini, D. (2021). Simulation of Large Scale Computational Ecosystems with Alchemist: A Tutorial. In: Matos, M., Greve, F. (eds) Distributed Applications and Interoperable Systems. DAIS 2021. Lecture Notes in Computer Science(), vol 12718. Springer, Cham. https://doi.org/10.1007/978-3-030-78198-9_10

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-78198-9_10

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-78197-2

  • Online ISBN: 978-3-030-78198-9

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics