Skip to main content

ScaFi-Web: A Web-Based Application for Field-Based Coordination Programming

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

Abstract

Field-based coordination is a model for expressing the coordination logic of large-scale adaptive systems, composing functional blocks from a global perspective. As for any coordination model, a proper toolchain must be developed to support its adoption across all development phases. Under this point of view, the ScaFi toolkit provides a coordination language (field calculus) as a DSL internal in the Scala language, a library of reusable building blocks, and an infrastructure for simulation of distributed deployments. In this work, we enrich such a toolchain by introducing ScaFi-Web, a web-based application allowing in-browser editing, execution, and visualisation of ScaFi programs. ScaFi-Web facilitates access to the ScaFi coordination technology by flattening the learning curve and simplifying configuration and requirements, thus promoting agile prototyping of field-based coordination specifications. In turn, this opens the door to easier demonstrations and experimentation, and also constitutes a stepping stone towards monitoring and control of simulated/deployed systems.

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://play.kotlinlang.org/koans.

  2. 2.

    https://scalafiddle.io/.

  3. 3.

    https://play.rust-lang.org/.

  4. 4.

    https://emscripten.org/.

  5. 5.

    https://bit.ly/3uRZYgp.

  6. 6.

    https://scafi.github.io.

  7. 7.

    https://scafi.github.io/web.

  8. 8.

    http://openjdk.java.net/jeps/289.

  9. 9.

    https://archive.is/SaV6B.

  10. 10.

    https://hub.docker.com/r/gianlucaaguzzi/scafi-web.

References

  1. Arbab, F.: A behavioral model for composition of software components. Obj. Logiciel Base données Réseaux 12(1), 33–76 (2006). https://doi.org/10.3166/objet.12.1.33-76

    Article  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., Damiani, F., Stolz, V., Viroli, M.: Adaptive distributed monitors of spatial properties for cyber–physical systems. J. Syst. Softw. 175, 110908 (2021). https://doi.org/10.1016/j.jss.2021.110908

  4. Audrito, G., Casadei, R., Damiani, F., Viroli, M.: Compositional blocks for optimal self-healing gradients. In: 11th IEEE SASO 2017, pp. 91–100. IEEE Computer Society (2017). https://doi.org/10.1109/SASO.2017.18

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

  6. Bachrach, J., Beal, J., McLurkin, J.: Composable continuous-space programs for robotic swarms. Neural Comput. Appl. 19(6), 825–847 (2010). https://doi.org/10.1007/s00521-010-0382-8

  7. Beal, J., Bachrach, J.: Infrastructure for engineered emergence on sensor/actuator networks. IEEE Intell. Syst. 21(2), 10–19 (2006). https://doi.org/10.1109/MIS.2006.29

    Article  Google Scholar 

  8. Beal, J., Pianini, D., Viroli, M.: Aggregate programming for the Internet of Things. Computer 48(9), 22–30 (2015). https://doi.org/10.1109/MC.2015.261

    Article  Google Scholar 

  9. Beal, J., Viroli, M., Pianini, D., Damiani, F.: Self-adaptation to device distribution in the Internet of Things. ACM Trans. Auton. Adapt. Syst. 12(3), 12:1–12:29 (2017). https://doi.org/10.1145/3105758

  10. van Binsbergen, L.T., Merino, M.V., Jeanjean, P., van der Storm, T., Combemale, B., Barais, O.: A principled approach to REPL interpreters. In: Proceedings of the 2020 ACM SIGPLAN International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software. ACM, November 2020. https://doi.org/10.1145/3426428.3426917

  11. du Boulay, B.: Some difficulties of learning to program. J. Educ. Comput. Res. 2(1), 57–73 (1986). https://doi.org/10.2190/3lfx-9rrf-67t8-uvk9

    Article  Google Scholar 

  12. du Boulay, B., O’Shea, T., Monk, J.: The black box inside the glass box: presenting computing concepts to novices. Int. J. Hum. Comput. Stud. 51(2), 265–277 (1999). https://doi.org/10.1006/ijhc.1981.0309

    Article  Google Scholar 

  13. Bures, T., Gerostathopoulos, I., Hnetynka, P., Keznikl, J., Kit, M., Plasil, F.: DEECO: an ensemble-based component system. In: CBSE 2013, pp. 81–90. ACM (2013). https://doi.org/10.1145/2465449.2465462

  14. Butzin, B., Golatowski, F., Timmermann, D.: Microservices approach for the Internet of Things. In: 21st IEEE ETFA 2016, pp. 1–6. IEEE (2016). https://doi.org/10.1109/ETFA.2016.7733707

  15. Casadei, R., Aldini, A., Viroli, M.: Towards attack-resistant aggregate computing using trust mechanisms. Sci. Comput. Program. (2018). https://doi.org/10.1016/j.scico.2018.07.006

    Article  Google Scholar 

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

  17. Casadei, R., Viroli, M.: Programming actor-based collective adaptive systems. In: Ricci, A., Haller, P. (eds.) Programming with Actors. LNCS, vol. 10789, pp. 94–122. Springer, Cham (2018). https://doi.org/10.1007/978-3-030-00302-9_4

    Chapter  Google Scholar 

  18. Casadei, R., Viroli, M., Audrito, G., Damiani, F.: FScaFi : a core calculus for collective adaptive systems programming. In: Margaria, T., Steffen, B. (eds.) ISoLA 2020. LNCS, vol. 12477, pp. 344–360. Springer, Cham (2020). https://doi.org/10.1007/978-3-030-61470-6_21

    Chapter  Google Scholar 

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

  20. Denti, E., Natali, A., Omicini, A.: Programmable coordination media. In: Garlan, D., Le Métayer, D. (eds.) COORDINATION 1997. LNCS, vol. 1282, pp. 274–288. Springer, Heidelberg (1997). https://doi.org/10.1007/3-540-63383-9_86

    Chapter  Google Scholar 

  21. Doeraene, S.: Cross-platform language design in scala.js (keynote). In: Erdweg, S., d. S. Oliveira, B.C. (eds.) Proceedings of the 9th ACM SIGPLAN International Symposium on Scala, SCALA@ICFP 2018, St. Louis, MO, USA, 28 September 2018, p. 1. ACM (2018). https://doi.org/10.1145/3241653.3266230

  22. 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, 43–67 (2013). https://doi.org/10.1007/s11047-012-9324-y

    Article  MathSciNet  Google Scholar 

  23. Frey, S., Diaconescu, A., Menga, D., Demeure, I.: A holonic control architecture for a heterogeneous multi-objective smart micro-grid. In: 2013 IEEE 7th International Conference on Self-Adaptive and Self-Organizing Systems. IEEE, September 2013. https://doi.org/10.1109/saso.2013.11

  24. Mamei, M., Zambonelli, F.: Programming pervasive and mobile computing applications with the TOTA middleware. In: PerCom 2004, pp. 263–276. IEEE Computer Society (2004). https://doi.org/10.1109/PERCOM.2004.1276864

  25. Mamei, M., Zambonelli, F., Leonardi, L.: Co-fields: towards a unifying approach to the engineering of swarm intelligent systems. In: Petta, P., Tolksdorf, R., Zambonelli, F. (eds.) ESAW 2002. LNCS (LNAI), vol. 2577, pp. 68–81. Springer, Heidelberg (2003). https://doi.org/10.1007/3-540-39173-8_6

    Chapter  MATH  Google Scholar 

  26. Mo, Y., Dasgupta, S., Beal, J.: Robustness of the adaptive bellman-ford algorithm: global stability and ultimate bounds. IEEE Trans. Autom. Control. 64(10), 4121–4136 (2019). https://doi.org/10.1109/TAC.2019.2904239

  27. Pianini, D., Montagna, S., Viroli, M.: Chemical-oriented simulation of computational systems with Alchemist. J. Simul. (2013). https://doi.org/10.1057/jos.2012.27

    Article  Google Scholar 

  28. 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. ACM (2015). https://doi.org/10.1145/2695664.2695913

  29. Rossberg, A., et al.: Bringing the web up to speed with webassembly. Commun. ACM 61(12), 107–115 (2018). https://doi.org/10.1145/3282510

  30. Trianni, V., Nolfi, S., Dorigo, M.: Evolution, self-organization and swarm robotics. In: Blum, C., Merkle, D. (eds.) Natural Computing Series, pp. 163–191. Springer, Heidelberg (2008). https://doi.org/10.1007/978-3-540-74089-6_5

  31. Usbeck, K., Beal, J.: Web Proto: aggregate programming for everyone. In: 7th IEEE SASOW, 2013, pp. 17–18. IEEE Computer Society (2013). https://doi.org/10.1109/SASOW.2013.12

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

    Google Scholar 

  33. Viroli, M., Beal, J., Damiani, F., Audrito, G., Casadei, R., Pianini, D.: From distributed coordination to field calculus and aggregate computing. J. Log. Algebraic Methods Program. 109 (2019). https://doi.org/10.1016/j.jlamp.2019.100486

  34. Viroli, M., Casadei, M.: Biochemical tuple spaces for self-organising coordination. In: Field, J., Vasconcelos, V.T. (eds.) COORDINATION 2009. LNCS, vol. 5521, pp. 143–162. Springer, Heidelberg (2009). https://doi.org/10.1007/978-3-642-02053-7_8

    Chapter  Google Scholar 

  35. Viroli, M., Casadei, R., Pianini, D.: Simulating large-scale aggregate mass with alchemist and Scala. In: Proceedings of FedCSIS 2016. Annals of Computer Science and Information Systems, vol. 8, pp. 1495–1504. IEEE (2016). https://doi.org/10.15439/2016F407

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

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Gianluca Aguzzi .

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

Aguzzi, G., Casadei, R., Maltoni, N., Pianini, D., Viroli, M. (2021). ScaFi-Web: A Web-Based Application for Field-Based Coordination Programming. In: Damiani, F., Dardha, O. (eds) Coordination Models and Languages. COORDINATION 2021. Lecture Notes in Computer Science(), vol 12717. Springer, Cham. https://doi.org/10.1007/978-3-030-78142-2_18

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-78142-2_18

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-78141-5

  • Online ISBN: 978-3-030-78142-2

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics