Design and implementation of a scalable domain specific language foundation for ScaFi with Scala 3

Deluigi, Luca (2024) Design and implementation of a scalable domain specific language foundation for ScaFi with Scala 3. [Laurea magistrale], Università di Bologna, Corso di Studio in Ingegneria e scienze informatiche [LM-DM270] - Cesena
Documenti full-text disponibili:
[img] Documento PDF (Thesis)
Disponibile con Licenza: Creative Commons: Attribuzione - Condividi allo stesso modo 4.0 (CC BY-SA 4.0)

Download (1MB)

Abstract

In the field of macroprogramming, one of the prominent engineering techniques is aggregate computing, which allows the definition of the overall behavior of a network of devices or agents through a single program, called the aggregate program. ScaFi is an aggregate programming framework that comprises an internal Domain Specific Language (DSL) written in Scala 2 with supporting components for simulation, visualization, and execution of aggregate systems, based on the Field Calculus formal language and computational model. Recently, a new formal language and computational model called Exchange Calculus has been proposed, extending the expressiveness of Field Calculus while simplifying its set of primitive constructs. In the meantime, Scala 2 has been succeeded by Scala 3, which introduces a relevant set of new features and improvements over its predecessor. These two novelties have promoted the development of a new ScaFi, called ScaFi-XC, entirely redesigned to be formally based on Exchange Calculus and to make the best use of its new host language, Scala 3, enhancing the original ScaFi with a more expressive and flexible DSL. This thesis presents the design and implementation of ScaFi-XC, focusing on the core DSL and associated components such as the engine and the simulator. In conclusion, ScaFi-XC has been successfully implemented and tested, delivering the expected results and fulfilling the requirements of the stakeholders, which are mainly the researchers and developers of the original ScaFi. Nevertheless, there is still work to be done to have a complete and stable version of the framework, such as porting all the support modules and improving the simulator.

Abstract
Tipologia del documento
Tesi di laurea (Laurea magistrale)
Autore della tesi
Deluigi, Luca
Relatore della tesi
Correlatore della tesi
Scuola
Corso di studio
Ordinamento Cds
DM270
Parole chiave
macroprogramming,aggregate computing,scafi,Scala,Scala 3,Exchange Calculus,Field Calculus,DSL,Internal DSL,Domain Specific Language
Data di discussione della Tesi
15 Marzo 2024
URI

Altri metadati

Statistica sui download

Gestione del documento: Visualizza il documento

^