Distributing Aggregate Computations on top of Akka Actors

Peruzzi, Manuel (2018) Distributing Aggregate Computations on top of Akka Actors. [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: Salvo eventuali più ampie autorizzazioni dell'autore, la tesi può essere liberamente consultata e può essere effettuato il salvataggio e la stampa di una copia per fini strettamente personali di studio, di ricerca e di insegnamento, con espresso divieto di qualunque utilizzo direttamente o indirettamente commerciale. Ogni altro diritto sul materiale è riservato

Download (599kB)

Abstract

In the context of the Internet of Things, development of large-scale, adaptive systems usually focuses on the behavior of the single device. Aggregate programming is a paradigm that provides an alternative approach, in which the basic unit of computing is a cooperating collection of devices, instead of a single device. scafi is a Scala framework for aggregate programming, and provides an Akka-based platform for aggregate applications, supporting both peer-to-peer and server-based networks. Moreover, scafi offers a simulator module for the simulation of an aggregate system. The work described in this thesis consists in the analysis of scafi, in the partial re-engineering of its internal actor platform, and in the development of new features. The main goal is to enhance the flexibility of scafi in a distributed context, promoting its adoption for programming spatial systems. First of all, communication between distributed nodes is enabled, by defining a JSON-based serialization strategy, which promotes interoperability. A hybrid platform is also introduced, exploiting a peer-to-peer communication between devices, with a central unit that manages all the relevant space related information. This platform fills the main gap of the peer to-peer approach in a distributed environment: tracking of remote devices. Moreover, a code mobility approach is implemented, allowing the assignment of new programs to devices, at runtime. Lastly, the concept of monitoring a distributed aggregate system emerged, leading to the development of a graphical user interface, observing the devices in a running system. In this thesis, I present the new architecture and API of the actor platform of scafi, designed with the aim of ensure a more flexible approach for the development of distributed applications with aggregate computing.

Abstract
Tipologia del documento
Tesi di laurea (Laurea magistrale)
Autore della tesi
Peruzzi, Manuel
Relatore della tesi
Correlatore della tesi
Scuola
Corso di studio
Ordinamento Cds
DM270
Parole chiave
aggregate programming,distributed systems,actors,Akka,Scala,scafi
Data di discussione della Tesi
14 Dicembre 2018
URI

Altri metadati

Statistica sui download

Gestione del documento: Visualizza il documento

^