Sviluppo di piattaforme per il linguaggio Protelis in Kotlin e Java

Nardini, Filippo (2019) Sviluppo di piattaforme per il linguaggio Protelis in Kotlin e Java. [Laurea], Università di Bologna, Corso di Studio in Ingegneria e scienze informatiche [L-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 (2MB)

Abstract

L'ambiente da cui siamo circondati tutti i giorni è pervaso da dispositivi in grado di effettuare computazioni e comunicare. L'eterogeneità di questi dispositivi rende difficile sviluppare applicazioni distribuite resilienti e affidabili utilizzando le tecniche dell'ingegneria del software classica. La programmazione aggregata si propone come paradigma di sviluppo che fornisce meccanismi di comunicazione flessibili e robusti tra questi dispositivi, in particolare vengono presi in considerazione il field calculus e una sua implementazione pratica: Protelis, un linguaggio di programmazione che supporta tale paradigma di programmazione. In questo lavoro vengono analizzate le caratteristiche di Protelis, in particolare la sua architettura e i suoi livelli di astrazione. In seguito vengono modellati nuovi concetti, per la realizzazione di un modello ad oggetti riusabile, che possa essere un potenziale punto di partenza per l'implementazione di un'infrastruttura facilmente estendibile, riusabile, e manutenibile. A supporto della flessibilità del modello, sono presentate tre realizzazioni dell'architettura descritta, che eseguono lo stesso programma aggregato, ma finalizzate a descrivere tre scenari d'uso distinti: la prima rappresenta un micro-simulatore, che emula un contesto distribuito, ma sfrutta la memoria condivisa per permettere lo scambio di messaggi tra i nodi; la seconda realizza un'applicazione distribuita utilizzando le socket TCP per la comunicazione; la terza si serve di un broker di messaggistica centrale e sfrutta il protocollo MQTT, un modello di scambio di messaggi utilizzato nell'Internet-of-Things, per implementare la comunicazione. Per provare l'interoperabilità dell'architettura con i linguaggi eseguiti sulla Java Virtual Machine, questi tre scenari sono stati implementati sia in Java che in Kotlin.

Abstract
Tipologia del documento
Tesi di laurea (Laurea)
Autore della tesi
Nardini, Filippo
Relatore della tesi
Correlatore della tesi
Scuola
Corso di studio
Indirizzo
Curriculum ingegneria informatica
Ordinamento Cds
DM270
Parole chiave
aggregate computing,field calculus,protelis,software engineering
Data di discussione della Tesi
12 Dicembre 2019
URI

Altri metadati

Statistica sui download

Gestione del documento: Visualizza il documento

^