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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
References
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
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., 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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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)
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
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
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
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
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2021 IFIP International Federation for Information Processing
About this paper
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)