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

What's hot

Engineering Resilient Collaborative Edge-enabled IoT
Engineering Resilient Collaborative Edge-enabled IoTEngineering Resilient Collaborative Edge-enabled IoT
Engineering Resilient Collaborative Edge-enabled IoT
Roberto Casadei
 
Managing and Testing Ensembles of IoT, Network functions, and Clouds
Managing and Testing Ensembles of IoT, Network functions, and CloudsManaging and Testing Ensembles of IoT, Network functions, and Clouds
Managing and Testing Ensembles of IoT, Network functions, and Clouds
Hong-Linh Truong
 
Session 2: Cloudscape Brazil 2017 & WCN Position Papers: Discussion session
Session 2: Cloudscape Brazil 2017 & WCN Position Papers: Discussion sessionSession 2: Cloudscape Brazil 2017 & WCN Position Papers: Discussion session
Session 2: Cloudscape Brazil 2017 & WCN Position Papers: Discussion session
EUBrasilCloudFORUM .
 
2nd International Conference on Natural Language Processing and Machine Learn...
2nd International Conference on Natural Language Processing and Machine Learn...2nd International Conference on Natural Language Processing and Machine Learn...
2nd International Conference on Natural Language Processing and Machine Learn...
ijcsity
 
MobileHCI 2010 Talk on Smart Object Interaction
MobileHCI 2010 Talk on Smart Object Interaction MobileHCI 2010 Talk on Smart Object Interaction
MobileHCI 2010 Talk on Smart Object Interaction
Fahim Kawsar
 
Resume
ResumeResume

What's hot (6)

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

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

Top Software Engineering & Applications Research articles of 2019
Top Software Engineering & Applications Research articles of 2019Top Software Engineering & Applications Research articles of 2019
Top Software Engineering & Applications Research articles of 2019
ijseajournal
 
A Presentation of My Research Activity
A Presentation of My Research ActivityA Presentation of My Research Activity
A Presentation of My Research Activity
Roberto Casadei
 
Newleaks
NewleaksNewleaks
Newleaks
Deepak Mehta
 
Programming (and Learning) Self-Adaptive & Self-Organising Behaviour with Sca...
Programming (and Learning) Self-Adaptive & Self-Organising Behaviour with Sca...Programming (and Learning) Self-Adaptive & Self-Organising Behaviour with Sca...
Programming (and Learning) Self-Adaptive & Self-Organising Behaviour with Sca...
Roberto Casadei
 
ICWE 2010 Demonstration and Poster elevator pitch session
ICWE 2010 Demonstration and Poster elevator pitch sessionICWE 2010 Demonstration and Poster elevator pitch session
ICWE 2010 Demonstration and Poster elevator pitch session
Marco Brambilla
 
CS519 - Cloud Twin: Native Execution of Android Applications on the Windows P...
CS519 - Cloud Twin: Native Execution of Android Applications on the Windows P...CS519 - Cloud Twin: Native Execution of Android Applications on the Windows P...
CS519 - Cloud Twin: Native Execution of Android Applications on the Windows P...
Sergii Shmarkatiuk
 
Towards Automated Engineering for Collective Adaptive Systems: Vision and Res...
Towards Automated Engineering for Collective Adaptive Systems: Vision and Res...Towards Automated Engineering for Collective Adaptive Systems: Vision and Res...
Towards Automated Engineering for Collective Adaptive Systems: Vision and Res...
Roberto Casadei
 
TPAC2016 - From Linked Building Data to Building Data on the Web
TPAC2016 - From Linked Building Data to Building Data on the WebTPAC2016 - From Linked Building Data to Building Data on the Web
TPAC2016 - From Linked Building Data to Building Data on the Web
Pieter Pauwels
 
On Execution Platforms for Large-Scale Aggregate Computing
On Execution Platforms for Large-Scale Aggregate ComputingOn Execution Platforms for Large-Scale Aggregate Computing
On Execution Platforms for Large-Scale Aggregate Computing
Roberto Casadei
 
Aggregate Computing Research: an Overview
Aggregate Computing Research: an OverviewAggregate Computing Research: an Overview
Aggregate Computing Research: an Overview
Roberto Casadei
 
Information Technology in Industry(ITII) - November Issue 2018
Information Technology in Industry(ITII) - November Issue 2018Information Technology in Industry(ITII) - November Issue 2018
Information Technology in Industry(ITII) - November Issue 2018
ITIIIndustries
 
Dagiuklas collaborate 2019
Dagiuklas collaborate 2019Dagiuklas collaborate 2019
The Story of the Semantic Grid
The Story of the Semantic GridThe Story of the Semantic Grid
The Story of the Semantic Gridbutest
 
LEVERAGING MOBILE DEVICES TO ENHANCE THE PERFORMANCE AND EASE OF PROGRAMMING ...
LEVERAGING MOBILE DEVICES TO ENHANCE THE PERFORMANCE AND EASE OF PROGRAMMING ...LEVERAGING MOBILE DEVICES TO ENHANCE THE PERFORMANCE AND EASE OF PROGRAMMING ...
LEVERAGING MOBILE DEVICES TO ENHANCE THE PERFORMANCE AND EASE OF PROGRAMMING ...
IJITE
 
Leveraging mobile devices to enhance the performance and ease of programming ...
Leveraging mobile devices to enhance the performance and ease of programming ...Leveraging mobile devices to enhance the performance and ease of programming ...
Leveraging mobile devices to enhance the performance and ease of programming ...
IJITE
 
Tuple-Based Coordination in Large-Scale Situated Systems
Tuple-Based Coordination in Large-Scale Situated SystemsTuple-Based Coordination in Large-Scale Situated Systems
Tuple-Based Coordination in Large-Scale Situated Systems
Roberto Casadei
 
1. (slide share)glue-integrationofexternaltools
1. (slide share)glue-integrationofexternaltools1. (slide share)glue-integrationofexternaltools
1. (slide share)glue-integrationofexternaltools
CARLOS ALARIO
 
Coordinating Computation at the Edge: a Decentralized, Self-organizing, Spati...
Coordinating Computation at the Edge: a Decentralized, Self-organizing, Spati...Coordinating Computation at the Edge: a Decentralized, Self-organizing, Spati...
Coordinating Computation at the Edge: a Decentralized, Self-organizing, Spati...
Roberto Casadei
 
Towards Edge Computing as a Service: Dynamic Formation of the Micro Data-Centers
Towards Edge Computing as a Service: Dynamic Formation of the Micro Data-CentersTowards Edge Computing as a Service: Dynamic Formation of the Micro Data-Centers
Towards Edge Computing as a Service: Dynamic Formation of the Micro Data-Centers
Faculty of Technical Sciences, University of Novi Sad
 
Spark-MPI: Approaching the Fifth Paradigm with Nikolay Malitsky
Spark-MPI: Approaching the Fifth Paradigm with Nikolay MalitskySpark-MPI: Approaching the Fifth Paradigm with Nikolay Malitsky
Spark-MPI: Approaching the Fifth Paradigm with Nikolay Malitsky
Databricks
 

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

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

Recently uploaded

Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Globus
 
Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024
Paco van Beckhoven
 
May Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdfMay Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdf
Adele Miller
 
Enhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdfEnhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdf
Globus
 
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.ILBeyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Natan Silnitsky
 
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume MontevideoVitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke
 
First Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User EndpointsFirst Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User Endpoints
Globus
 
A Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of PassageA Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of Passage
Philip Schwarz
 
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
rickgrimesss22
 
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data AnalysisProviding Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Globus
 
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
Juraj Vysvader
 
GlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote sessionGlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote session
Globus
 
Using IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New ZealandUsing IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New Zealand
IES VE
 
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdfDominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
AMB-Review
 
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERRORTROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
Tier1 app
 
SOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBrokerSOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar
 
Understanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSageUnderstanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSage
Globus
 
Graphic Design Crash Course for beginners
Graphic Design Crash Course for beginnersGraphic Design Crash Course for beginners
Graphic Design Crash Course for beginners
e20449
 
Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...
Globus
 
Cyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdfCyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdf
Cyanic lab
 

Recently uploaded (20)

Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
 
Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024
 
May Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdfMay Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdf
 
Enhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdfEnhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdf
 
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.ILBeyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
 
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume MontevideoVitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume Montevideo
 
First Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User EndpointsFirst Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User Endpoints
 
A Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of PassageA Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of Passage
 
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
 
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data AnalysisProviding Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
 
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
 
GlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote sessionGlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote session
 
Using IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New ZealandUsing IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New Zealand
 
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdfDominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
 
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERRORTROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
 
SOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBrokerSOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBroker
 
Understanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSageUnderstanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSage
 
Graphic Design Crash Course for beginners
Graphic Design Crash Course for beginnersGraphic Design Crash Course for beginners
Graphic Design Crash Course for beginners
 
Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...
 
Cyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdfCyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdf
 

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