SlideShare a Scribd company logo
ScaFi-Web
A Web-Based Application for Field-based Coordination Programming
Gianluca Aguzzi, Roberto Casadei, Niccolò Maltoni, Danilo Pianini,
Mirko Viroli
ALMA MATER STUDIORUM–Università di Bologna, Cesena, Italy
September 1, 2021
Talk @
COORDINATION 2021
23rd International Conference on Coordination Models and Languages
Introduction
Field Based Coordination [Vir+19]
A coordination model that leverages computational fields to
orchestrate large scale systems.
Aggregate Programming [BPV15]
A top-down and global-to-local approach to the specification of the
collective adaptive behaviour of a distributed system.
G.Aguzzi Introduction Contribution Conclusion & Future Work References 1/12
Aggregate Programming
 Benefits:
I Abstract over technologies and network topologies
I Describe behaviour in a functional and compositional manner
I Proved to have, in certain circumstances, relevent properties such as eventual
consistency [Bea+16] and self-stabilisation [BV14]
I Used in different scenario such as crowd management [BPV15], UAVs [Cas+19a] and Smart
cities [Cas+19b]
 Problem: Hard to use
I High learning curve
I Plethora of tools involved
I Need of simulations
I Lack of tools for real-system monitoring
G.Aguzzi Introduction Contribution Conclusion  Future Work References 2/12
Starting point and inspiration
Tool-chain
 ScaFi [CV16]: a modular Scala-based toolchain for aggregate programming
comprising an inner-DSL, a simulator and actor-based platfrom
 Protelis [PVB15]: a Java-interoperable stand-alone DSL
 FCPP [Aud20]: a lightweight native implementation
Playgrounds
 WebProto [UB13]: a pioneer no longer maintained playground for Proto
 ScalaFiddle  Scastie: well-known Scala playgrounds
G.Aguzzi Introduction Contribution Conclusion  Future Work References 3/12
Goals
 Reducing the learning time of SCAFI
 Inject different aggregate programming languages
 Zero-install distribution
 Support also remote program execution
 Reuse as much as possible the SCAFI codeline
G.Aguzzi Introduction Contribution Conclusion  Future Work References 4/12
Architecture
 A language-agnostic web interface to visualize aggregate systems
 Support abstraction language and system dependent
 Local SCAFI simulator
 Remote Scala code compilation
javascript interpreter
scala.js
aggregate program
html rendering
scafi core scafi simulator scafi web
in-browser executor
transcompilation service /compile
/getCode
scala.js compiler + linker
G.Aguzzi Introduction Contribution Conclusion  Future Work References 5/12
Current Usage Scenario
Learning and education
 Exposing an environment with minimal requirements
 Sequence of guided example
 Simplified access to the simulated sensors and actuators
Fast Prototyping
 Aggregate programming require an iterative, incremental process of program
refinement
 Our approach supports this workflow proving a simulated enviroment with zero
instalation overhead
G.Aguzzi Introduction Contribution Conclusion  Future Work References 6/12
Demo
https://scafi.github.io/web/
G.Aguzzi Introduction Contribution Conclusion  Future Work References 7/12
Conclusion
 SCAFI-WEB enables:
I Fast prototyping
I Exploratory testing
I Easy application deployment
I Pedagogical support for learning
G.Aguzzi Introduction Contribution Conclusion  Future Work References 8/12
Future work
 Support of remote aggregate programming execution
 Support other aggregate programming languages
 Extend SCAFI-WEB for monitoring and control of deployed systems
Middleware
UI
Distributed
support
node data
command
scripts Hybrid System
Simulator
node data
command
scripts
Local
support
G.Aguzzi Introduction Contribution Conclusion  Future Work References 9/12
Bibliography (1/3)
[Aud20] Giorgio Audrito. “FCPP: an efficient and extensible Field Calculus framework”. In: IEEE
International Conference on Autonomic Computing and Self-Organizing Systems,
ACSOS 2020, Washington, DC, USA, August 17-21, 2020. IEEE, 2020, pp. 153–159.
DOI: 10.1109/ACSOS49614.2020.00037.
[Bea+16] Jacob Beal et al. “Self-Adaptation to Device Distribution Changes”. In: 10th IEEE
International Conference on Self-Adaptive and Self-Organizing Systems, SASO 2016,
Augsburg, Germany, September 12-16, 2016. Ed. by Giacomo Cabri, Gauthier Picard,
and Niranjan Suri. IEEE Computer Society, 2016, pp. 60–69. DOI:
10.1109/SASO.2016.12.
[BPV15] Jacob Beal, Danilo Pianini, and Mirko Viroli. “Aggregate Programming for the Internet
of Things”. In: IEEE Computer 48.9 (2015), pp. 22–30. DOI: 10.1109/MC.2015.261.
[BV14] Jacob Beal and Mirko Viroli. “Building Blocks for Aggregate Programming of
Self-Organising Applications”. In: IEEE SASO Workshops. 2014, pp. 8–13. DOI:
10.1109/SASOW.2014.6.
G.Aguzzi Introduction Contribution Conclusion  Future Work References 10/12
Bibliography (2/3)
[Cas+19a] Roberto Casadei et al. “Aggregate Processes in Field Calculus”. In: Coordination
Models and Languages - 21st IFIP WG 6.1 International Conference,
COORDINATION 2019, Held as Part of the 14th International Federated Conference
on Distributed Computing Techniques, DisCoTec 2019, Kongens Lyngby, Denmark,
June 17-21, 2019, Proceedings. Ed. by Hanne Riis Nielson and Emilio Tuosto.
Vol. 11533. Lecture Notes in Computer Science. Springer, 2019, pp. 200–217. DOI:
10.1007/978-3-030-22397-7_12.
[Cas+19b] Roberto Casadei et al. “Engineering Resilient Collaborative Edge-Enabled IoT”. In:
2019 IEEE International Conference on Services Computing, SCC 2019, Milan, Italy,
July 8-13, 2019. Ed. by Elisa Bertino et al. IEEE, 2019, pp. 36–45. DOI:
10.1109/SCC.2019.00019.
[CV16] Roberto Casadei and Mirko Viroli. “Towards Aggregate Programming in Scala”. In:
First Workshop on Programming Models and Languages for Distributed Computing,
PMLDC@ECOOP 2016, Rome, Italy, July 17, 2016. ACM, 2016, p. 5. DOI:
10.1145/2957319.2957372.
[PVB15] Danilo Pianini, Mirko Viroli, and Jacob Beal. “Protelis: practical aggregate
programming”. In: ACM Symposium on Applied Computing. 2015, pp. 1846–1853. DOI:
10.1145/2695664.2695913.
G.Aguzzi Introduction Contribution Conclusion  Future Work References 11/12
Bibliography (3/3)
[UB13] Kyle Usbeck and Jacob Beal. “Web Proto: Aggregate Programming for Everyone”. In:
7th IEEE SASOW, 2013. IEEE Computer Society, 2013, pp. 17–18. DOI:
10.1109/SASOW.2013.12.
[Vir+19] Mirko Viroli et al. “From distributed coordination to field calculus and aggregate
computing”. In: J. Log. Algebraic Methods Program. 109 (2019). DOI:
10.1016/j.jlamp.2019.100486.
G.Aguzzi Introduction Contribution Conclusion  Future Work References 12/12

More Related Content

PDF
eCAS 2021: Towards Pulverised Architectures for Collective Adaptive Systems t...
PDF
Doctoral Symposium ACSOS 2021: Research directions for Aggregate Computing wi...
PDF
On Collective Reinforcement Learning
PDF
6th eCAS workshop on Engineering Collective Adaptive Systems
PDF
Augmented Collective Digital Twins for Self-Organising Cyber-Physical Systems
PDF
EMDC Summer Event 2015 Presentation
PDF
The Third OpenDaylight Lisboa Meetup
PDF
Optimized Algorithm for Hiding Digital Text in a Colour Image Using FPGA
eCAS 2021: Towards Pulverised Architectures for Collective Adaptive Systems t...
Doctoral Symposium ACSOS 2021: Research directions for Aggregate Computing wi...
On Collective Reinforcement Learning
6th eCAS workshop on Engineering Collective Adaptive Systems
Augmented Collective Digital Twins for Self-Organising Cyber-Physical Systems
EMDC Summer Event 2015 Presentation
The Third OpenDaylight Lisboa Meetup
Optimized Algorithm for Hiding Digital Text in a Colour Image Using FPGA

What's hot (6)

PDF
Engineering Resilient Collaborative Edge-enabled IoT
PDF
Managing and Testing Ensembles of IoT, Network functions, and Clouds
PPTX
Session 2: Cloudscape Brazil 2017 & WCN Position Papers: Discussion session
DOCX
2nd International Conference on Natural Language Processing and Machine Learn...
PDF
MobileHCI 2010 Talk on Smart Object Interaction
PDF
Engineering Resilient Collaborative Edge-enabled IoT
Managing and Testing Ensembles of IoT, Network functions, and Clouds
Session 2: Cloudscape Brazil 2017 & WCN Position Papers: Discussion session
2nd International Conference on Natural Language Processing and Machine Learn...
MobileHCI 2010 Talk on Smart Object Interaction
Ad

Similar to ScaFi-Web, A Web-Based application for Field-based Coordination (20)

PDF
Top Software Engineering & Applications Research articles of 2019
PDF
A Presentation of My Research Activity
PDF
Newleaks
PDF
Programming (and Learning) Self-Adaptive & Self-Organising Behaviour with Sca...
PPT
ICWE 2010 Demonstration and Poster elevator pitch session
PPTX
CS519 - Cloud Twin: Native Execution of Android Applications on the Windows P...
PDF
Towards Automated Engineering for Collective Adaptive Systems: Vision and Res...
PDF
TPAC2016 - From Linked Building Data to Building Data on the Web
PDF
On Execution Platforms for Large-Scale Aggregate Computing
PDF
Aggregate Computing Research: an Overview
PDF
Information Technology in Industry(ITII) - November Issue 2018
PPTX
The Story of the Semantic Grid
PDF
Leveraging mobile devices to enhance the performance and ease of programming ...
PDF
LEVERAGING MOBILE DEVICES TO ENHANCE THE PERFORMANCE AND EASE OF PROGRAMMING ...
PDF
Tuple-Based Coordination in Large-Scale Situated Systems
PPT
1. (slide share)glue-integrationofexternaltools
PDF
Coordinating Computation at the Edge: a Decentralized, Self-organizing, Spati...
PDF
Towards Edge Computing as a Service: Dynamic Formation of the Micro Data-Centers
PDF
Spark-MPI: Approaching the Fifth Paradigm with Nikolay Malitsky
Top Software Engineering & Applications Research articles of 2019
A Presentation of My Research Activity
Newleaks
Programming (and Learning) Self-Adaptive & Self-Organising Behaviour with Sca...
ICWE 2010 Demonstration and Poster elevator pitch session
CS519 - Cloud Twin: Native Execution of Android Applications on the Windows P...
Towards Automated Engineering for Collective Adaptive Systems: Vision and Res...
TPAC2016 - From Linked Building Data to Building Data on the Web
On Execution Platforms for Large-Scale Aggregate Computing
Aggregate Computing Research: an Overview
Information Technology in Industry(ITII) - November Issue 2018
The Story of the Semantic Grid
Leveraging mobile devices to enhance the performance and ease of programming ...
LEVERAGING MOBILE DEVICES TO ENHANCE THE PERFORMANCE AND EASE OF PROGRAMMING ...
Tuple-Based Coordination in Large-Scale Situated Systems
1. (slide share)glue-integrationofexternaltools
Coordinating Computation at the Edge: a Decentralized, Self-organizing, Spati...
Towards Edge Computing as a Service: Dynamic Formation of the Micro Data-Centers
Spark-MPI: Approaching the Fifth Paradigm with Nikolay Malitsky
Ad

Recently uploaded (20)

PPT
Introduction Database Management System for Course Database
PDF
Digital Systems & Binary Numbers (comprehensive )
PDF
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
PDF
Digital Strategies for Manufacturing Companies
PDF
Nekopoi APK 2025 free lastest update
PPTX
assetexplorer- product-overview - presentation
PPTX
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
PDF
EN-Survey-Report-SAP-LeanIX-EA-Insights-2025.pdf
PDF
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
PPTX
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
PDF
Adobe Illustrator 28.6 Crack My Vision of Vector Design
PDF
Design an Analysis of Algorithms I-SECS-1021-03
PDF
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
PDF
Designing Intelligence for the Shop Floor.pdf
PDF
System and Network Administraation Chapter 3
PPTX
Embracing Complexity in Serverless! GOTO Serverless Bengaluru
PDF
Wondershare Filmora 15 Crack With Activation Key [2025
PPTX
Introduction to Artificial Intelligence
PDF
PTS Company Brochure 2025 (1).pdf.......
PPTX
L1 - Introduction to python Backend.pptx
Introduction Database Management System for Course Database
Digital Systems & Binary Numbers (comprehensive )
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
Digital Strategies for Manufacturing Companies
Nekopoi APK 2025 free lastest update
assetexplorer- product-overview - presentation
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
EN-Survey-Report-SAP-LeanIX-EA-Insights-2025.pdf
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
Adobe Illustrator 28.6 Crack My Vision of Vector Design
Design an Analysis of Algorithms I-SECS-1021-03
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
Designing Intelligence for the Shop Floor.pdf
System and Network Administraation Chapter 3
Embracing Complexity in Serverless! GOTO Serverless Bengaluru
Wondershare Filmora 15 Crack With Activation Key [2025
Introduction to Artificial Intelligence
PTS Company Brochure 2025 (1).pdf.......
L1 - Introduction to python Backend.pptx

ScaFi-Web, A Web-Based application for Field-based Coordination

  • 1. ScaFi-Web A Web-Based Application for Field-based Coordination Programming Gianluca Aguzzi, Roberto Casadei, Niccolò Maltoni, Danilo Pianini, Mirko Viroli ALMA MATER STUDIORUM–Università di Bologna, Cesena, Italy September 1, 2021 Talk @ COORDINATION 2021 23rd International Conference on Coordination Models and Languages
  • 2. Introduction Field Based Coordination [Vir+19] A coordination model that leverages computational fields to orchestrate large scale systems. Aggregate Programming [BPV15] A top-down and global-to-local approach to the specification of the collective adaptive behaviour of a distributed system. G.Aguzzi Introduction Contribution Conclusion & Future Work References 1/12
  • 3. Aggregate Programming Benefits: I Abstract over technologies and network topologies I Describe behaviour in a functional and compositional manner I Proved to have, in certain circumstances, relevent properties such as eventual consistency [Bea+16] and self-stabilisation [BV14] I Used in different scenario such as crowd management [BPV15], UAVs [Cas+19a] and Smart cities [Cas+19b] Problem: Hard to use I High learning curve I Plethora of tools involved I Need of simulations I Lack of tools for real-system monitoring G.Aguzzi Introduction Contribution Conclusion Future Work References 2/12
  • 4. Starting point and inspiration Tool-chain ScaFi [CV16]: a modular Scala-based toolchain for aggregate programming comprising an inner-DSL, a simulator and actor-based platfrom Protelis [PVB15]: a Java-interoperable stand-alone DSL FCPP [Aud20]: a lightweight native implementation Playgrounds WebProto [UB13]: a pioneer no longer maintained playground for Proto ScalaFiddle Scastie: well-known Scala playgrounds G.Aguzzi Introduction Contribution Conclusion Future Work References 3/12
  • 5. Goals Reducing the learning time of SCAFI Inject different aggregate programming languages Zero-install distribution Support also remote program execution Reuse as much as possible the SCAFI codeline G.Aguzzi Introduction Contribution Conclusion Future Work References 4/12
  • 6. Architecture A language-agnostic web interface to visualize aggregate systems Support abstraction language and system dependent Local SCAFI simulator Remote Scala code compilation javascript interpreter scala.js aggregate program html rendering scafi core scafi simulator scafi web in-browser executor transcompilation service /compile /getCode scala.js compiler + linker G.Aguzzi Introduction Contribution Conclusion Future Work References 5/12
  • 7. Current Usage Scenario Learning and education Exposing an environment with minimal requirements Sequence of guided example Simplified access to the simulated sensors and actuators Fast Prototyping Aggregate programming require an iterative, incremental process of program refinement Our approach supports this workflow proving a simulated enviroment with zero instalation overhead G.Aguzzi Introduction Contribution Conclusion Future Work References 6/12
  • 9. Conclusion SCAFI-WEB enables: I Fast prototyping I Exploratory testing I Easy application deployment I Pedagogical support for learning G.Aguzzi Introduction Contribution Conclusion Future Work References 8/12
  • 10. Future work Support of remote aggregate programming execution Support other aggregate programming languages Extend SCAFI-WEB for monitoring and control of deployed systems Middleware UI Distributed support node data command scripts Hybrid System Simulator node data command scripts Local support G.Aguzzi Introduction Contribution Conclusion Future Work References 9/12
  • 11. Bibliography (1/3) [Aud20] Giorgio Audrito. “FCPP: an efficient and extensible Field Calculus framework”. In: IEEE International Conference on Autonomic Computing and Self-Organizing Systems, ACSOS 2020, Washington, DC, USA, August 17-21, 2020. IEEE, 2020, pp. 153–159. DOI: 10.1109/ACSOS49614.2020.00037. [Bea+16] Jacob Beal et al. “Self-Adaptation to Device Distribution Changes”. In: 10th IEEE International Conference on Self-Adaptive and Self-Organizing Systems, SASO 2016, Augsburg, Germany, September 12-16, 2016. Ed. by Giacomo Cabri, Gauthier Picard, and Niranjan Suri. IEEE Computer Society, 2016, pp. 60–69. DOI: 10.1109/SASO.2016.12. [BPV15] Jacob Beal, Danilo Pianini, and Mirko Viroli. “Aggregate Programming for the Internet of Things”. In: IEEE Computer 48.9 (2015), pp. 22–30. DOI: 10.1109/MC.2015.261. [BV14] Jacob Beal and Mirko Viroli. “Building Blocks for Aggregate Programming of Self-Organising Applications”. In: IEEE SASO Workshops. 2014, pp. 8–13. DOI: 10.1109/SASOW.2014.6. G.Aguzzi Introduction Contribution Conclusion Future Work References 10/12
  • 12. Bibliography (2/3) [Cas+19a] Roberto Casadei et al. “Aggregate Processes in Field Calculus”. In: Coordination Models and Languages - 21st IFIP WG 6.1 International Conference, COORDINATION 2019, Held as Part of the 14th International Federated Conference on Distributed Computing Techniques, DisCoTec 2019, Kongens Lyngby, Denmark, June 17-21, 2019, Proceedings. Ed. by Hanne Riis Nielson and Emilio Tuosto. Vol. 11533. Lecture Notes in Computer Science. Springer, 2019, pp. 200–217. DOI: 10.1007/978-3-030-22397-7_12. [Cas+19b] Roberto Casadei et al. “Engineering Resilient Collaborative Edge-Enabled IoT”. In: 2019 IEEE International Conference on Services Computing, SCC 2019, Milan, Italy, July 8-13, 2019. Ed. by Elisa Bertino et al. IEEE, 2019, pp. 36–45. DOI: 10.1109/SCC.2019.00019. [CV16] Roberto Casadei and Mirko Viroli. “Towards Aggregate Programming in Scala”. In: First Workshop on Programming Models and Languages for Distributed Computing, PMLDC@ECOOP 2016, Rome, Italy, July 17, 2016. ACM, 2016, p. 5. DOI: 10.1145/2957319.2957372. [PVB15] Danilo Pianini, Mirko Viroli, and Jacob Beal. “Protelis: practical aggregate programming”. In: ACM Symposium on Applied Computing. 2015, pp. 1846–1853. DOI: 10.1145/2695664.2695913. G.Aguzzi Introduction Contribution Conclusion Future Work References 11/12
  • 13. Bibliography (3/3) [UB13] Kyle Usbeck and Jacob Beal. “Web Proto: Aggregate Programming for Everyone”. In: 7th IEEE SASOW, 2013. IEEE Computer Society, 2013, pp. 17–18. DOI: 10.1109/SASOW.2013.12. [Vir+19] Mirko Viroli et al. “From distributed coordination to field calculus and aggregate computing”. In: J. Log. Algebraic Methods Program. 109 (2019). DOI: 10.1016/j.jlamp.2019.100486. G.Aguzzi Introduction Contribution Conclusion Future Work References 12/12