Skip to content

Commit

Permalink
feat: done fixing things
Browse files Browse the repository at this point in the history
  • Loading branch information
NiccoMlt committed Mar 8, 2020
1 parent 895294a commit 0dde814
Show file tree
Hide file tree
Showing 14 changed files with 240 additions and 157 deletions.
88 changes: 75 additions & 13 deletions maltoni_niccolo_tesi.bib
Original file line number Diff line number Diff line change
Expand Up @@ -801,19 +801,6 @@ @Article{ashton2009internet
file = {:res/biblio/papers/ashton2009internet - That ‘internet of Things’ Thing.pdf:PDF},
}

@Article{Berners_Lee_2010,
author = {Tim Berners-Lee and Robert Cailliau and Jean-Fran{\c{c}}ois Groff and Bernd Pollermann},
title = {World-wide web: the information universe},
journal = {Internet Research},
year = {2010},
volume = {20},
number = {4},
month = {aug},
pages = {461--471},
doi = {10.1108/10662241011059471},
publisher = {Emerald},
}

@InProceedings{10.1007/978-3-319-92408-3_1,
author = {Audrito, Giorgio and Beal, Jacob and Damiani, Ferruccio and Viroli, Mirko},
title = {Space-Time Universality of Field Calculus},
Expand Down Expand Up @@ -855,6 +842,7 @@ @Article{tocl
url = {https://doi.org/10.1145/3285956},
bibsource = {dblp computer science bibliography, https://dblp.org},
biburl = {https://dblp.org/rec/journals/tocl/AudritoVDPB19.bib},
file = {:res/biblio/papers/tocl - A Higher Order Calculus of Computational Fields.pdf:PDF},
publisher = {Association for Computing Machinery ({ACM})},
timestamp = {Thu, 09 May 2019 13:10:56 +0200},
}
Expand Down Expand Up @@ -913,4 +901,78 @@ @InProceedings{DBLP:conf/ijcai/HewittBS73
timestamp = {Tue, 20 Aug 2019 16:17:37 +0200},
}

@InProceedings{7789463,
author = {Jacob Beal and Kyle Usbeck and Joseph Loyall and Mason Rowe and James Metzler},
title = {Adaptive Task Reallocation for Airborne Sensor Sharing},
booktitle = {2016 {IEEE} 1st International Workshops on Foundations and Applications of Self{\ast} Systems ({FAS}{\ast}W)},
year = {2016},
publisher = {{IEEE}},
pages = {168-173},
doi = {10.1109/fas-w.2016.46},
abstract = {Airborne sensor platforms are becoming increasingly significant for both civilian and military operations, yet at present their sensors are typically idle for much of their flight time. Opportunistic sensor sharing, e.g., via the Mission-Driven Tasking of Information Producers (MTIP) can greatly improve sensor utilization, both decreasing the number of platforms needed to achieve a goal and increasing sensor efficacy. Dynamically changing environments, however, are likely to rapidly render any initial plan obsolete. In this paper, we address the challenge of adaptive reallocation of sensor sharing tasks, demonstrating how the adaptable sensor sharing of MTIP can provide significant performance improvements in a large-scale disaster response scenario, as well as identifying areas of inefficiency that are likely to benefit from further improvement.},
issn = {null},
keywords = {computerised instrumentation;self-organising feature maps;sensors;adaptive task reallocation;airborne sensor sharing;sensor sharing tasks;adaptable sensor sharing;MTIP;large-scale disaster response scenario;Resource management;Organizations;Data mining;Military aircraft;Monitoring;Sensors;User interfaces;sensor sharing;airborne sensors;replanning},
}

@InProceedings{7536289,
author = {Jacob Beal and Kyle Usbeck and Joseph Loyall and James Metzler},
title = {Opportunistic Sharing of Airborne Sensors},
booktitle = {2016 International Conference on Distributed Computing in Sensor Systems ({DCOSS})},
year = {2016},
publisher = {{IEEE}},
pages = {25-32},
doi = {10.1109/dcoss.2016.43},
abstract = {Airborne sensors are often idle for much of their flight, e.g., while the platform carrying them is in transit to and from the locations of sensor tasks. The sensing needs of many other potential information consumers might thus be served by sharing such sensors, allowing other information consumers to opportunistically task them during their otherwise unscheduled time. Toward this end, we have developed Mission-Driven Tasking of Information Producers (MTIP), a prototype system for opportunistic sharing of airborne sensors. This paper describes its implementation as an agent-based task allocation system on top of the Marti Quality of Service (QoS)-managed publish-subscribe information management system, and presents simulations of a disaster response scenario demonstrating how MTIP can increase the number of sensor tasks served as well as reducing the number of UAVs required to serve a given set of sensor tasks.},
issn = {2325-2944},
keywords = {geographic information systems;quality of service;remote sensing by radar;airborne sensors;agent-based task allocation system;quality of service;information management system;Mission-Driven Tasking of Information Producers;Resource management;Organizations;Sensors;Information management;Semantics;Quality of service;Publish-subscribe},
}

@Article{Berners_Lee_2010,
author = {Tim Berners-Lee and Robert Cailliau and Jean-Fran{\c{c}}ois Groff and Bernd Pollermann},
title = {World-wide web: the information universe},
journal = {Internet Research},
year = {2010},
volume = {20},
number = {4},
pages = {461--471},
doi = {10.1108/10662241011059471},
publisher = {Emerald},
}

@Article{10.1145/3022671.2984017,
author = {Satish Chandra and Colin S. Gordon and Jean-Baptiste Jeannin and Cole Schlesinger and Manu Sridharan and Frank Tip and Youngil Choi},
title = {Type inference for static compilation of {JavaScript}},
journal = {{ACM} {SIGPLAN} Notices},
year = {2016},
volume = {51},
number = {10},
pages = {410--429},
issn = {0362-1340},
doi = {10.1145/3022671.2984017},
url = {https://doi.org/10.1145/3022671.2984017},
address = {New York, NY, USA},
file = {:res/biblio/papers/10.1145_3022671.2984017 - Type Inference for Static Compilation of JavaScript.pdf:PDF},
issue_date = {December 2016},
keywords = {JavaScript, object-oriented type systems, type inference},
numpages = {20},
publisher = {Association for Computing Machinery ({ACM})},
}

@InProceedings{10.1145/2093328.2093330,
author = {Tom Van Cutsem and Mark S. Miller},
title = {Traits.Js: Robust Object Composition and High-Integrity Objects for Ecmascript 5},
booktitle = {Proceedings of the 1st {ACM} {SIGPLAN} international workshop on Programming language and systems technologies for internet clients - {PLASTIC} {\textquotesingle}11},
year = {2011},
series = {PLASTIC ’11},
publisher = {{ACM} Press},
location = {Portland, Oregon, USA},
isbn = {9781450311717},
pages = {1–8},
doi = {10.1145/2093328.2093330},
url = {https://doi.org/10.1145/2093328.2093330},
address = {New York, NY, USA},
keywords = {javascript, traits},
numpages = {8},
}

@Comment{jabref-meta: databaseType:biblatex;}
Binary file not shown.
Binary file not shown.
20 changes: 20 additions & 0 deletions res/code/simulation.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
incarnation: protelis

environment:
type: Continuous2DEnvironment
parameters: []

network-model:
type: ConnectWithinDistance
parameters: [5]

displacements:
- in:
type: Grid
parameters: [-5, -5, 5, 5, 0.25, 0.25, 0.1, 0.1]
contents:
- molecule: _to_exec
concentration: ""
programs:
- - program: 'eval(env.get("_to_exec"))'
- program: send
41 changes: 14 additions & 27 deletions src/back/ringraziamenti.tex
Original file line number Diff line number Diff line change
@@ -1,33 +1,20 @@
\addchap{Ringraziamenti}
\addchap*{Ringraziamenti}

% % TODO: dovrei riscriverli un po' meglio, forse?
% Sono ormai giunto al termine di questo mio percorso universitario e per questo devo ringraziare di cuore tutte le persone che mi hanno accompagnato lungo questi cinque anni.

% Ringrazio i miei genitori, che mi hanno supportato nei momenti di difficoltà tollerando i miei sproloqui.
% % TODO: dovrei essere un po' più drammatico, forse?
% Ringrazio anche gli altri miei familiari che mi hanno sostenuto negli anni.
% % TODO: dovrei essere un po' meno generico qua!
Sono ormai giunto al termine di questo mio percorso universitario
e per questo devo ringraziare di cuore tutte le persone che mi hanno accompagnato lungo questi cinque anni.

% Ringrazio poi gli amici di una vita, vicini e lontani, per esserci stati sempre,
% e quelli conosciuti in questi cinque anni, per aver reso questa esperienza ``un gioco di squadra'' e averne condiviso gioie e dolori.
% % TODO: dovrei citarli, Santo Cielo!
Ringrazio i miei genitori, che mi hanno materialmente permesso di compiere questo percorso e mi hanno supportato nei momenti di difficoltà.
Ringrazio anche gli altri miei familiari che mi hanno sostenuto negli anni.

% Infine ringrazio il professor Mirko Viroli e il professor Danilo Pianini per la bella
% opportunità che mi hanno offerto, per tutto l'aiuto datomi per realizzare
% questo progetto e per le competenze che mi hanno permesso di sviluppare.
Ringrazio poi tutti gli amici che mi sono stati vicino in questo percorso:
coloro con cui ho condiviso i progetti ingestibili e le infinite sessioni di studio in biblioteca o al campus,
coloro con cui da sempre condivido serate di spensieratezza,
coloro che ho scoperto o ritrovato con l'università.

% % ------
Infine ringrazio il professor Mirko Viroli e il professor Danilo Pianini
per la bella opportunità che mi hanno offerto,
per l'aiuto datomi per realizzare questo progetto
e per le competenze che mi hanno permesso di sviluppare.

% % ISPIRAZIONI DA ALTROVE 1
% % fedele compagno di progetti e infinite sessioni di studio - nonostante le discussioni e i litigi (altrettanto infiniti).

% % ISPIRAZIONI DA ALTROVE 2
% % con la quale ho passato gli ultimi mesi chiusO in biblioteca

% % ISPIRAZIONI DA ALTROVE 3
% % Infine, le mie colonne portanti, coloro senza il quale tutto questo non sarebbe stato possibile: i miei genitori.
% % Grazie per come mi avete cresciuto, per le possibilità che mi avete dato, per la vostra presenza e supporto costante.

% % ------

% Grazie a tutti, di cuore.
Grazie a tutti, di cuore.
2 changes: 1 addition & 1 deletion src/front/dedica.tex
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
\begin{flushright}
\textit{%
A tutti gli amici e i familiari che mi hanno sostenuto.\\
A chi non ha potuto assistere anche a questo traguardo.
A chi non ha potuto assistere anche a questo mio traguardo.
}
\end{flushright}
\vspace{\stretch{2}}\null{}
26 changes: 21 additions & 5 deletions src/main/appendices.tex
Original file line number Diff line number Diff line change
@@ -1,14 +1,30 @@
\addpart*{\appendixname}
% \renewcommand{\thesection}{\Alph{section}}
% \renewcommand{\thesubsection}{A.\arabic{subsection}}

% \addcontentsline{toc}{section}{\appendixname}
% \addchap{\appendixname}
% \chapter*[]{\appendixname}
% % \renewcommand{\thesection}{\Alph{section}}
% % \renewcommand{\thesubsection}{A.\arabic{subsection}}

% % \addcontentsline{toc}{section}{\appendixname}
% % \addchap{\appendixname}
% % \chapter*[]{\appendixname}

\appendix
\begin{appendices}

% \section{Dockerfile del server}\label{app:docker}
\chapter{Dockerfile del server}\label{app:docker}
% \addchap*{Dockerfile del server}\label{app:docker}

Di seguito è riportato il codice del Dockerfile che permette il deploy del server come container Docker.
L'immagine costruita durante lo sviluppo è anche disponibile su Docker Hub con il nome \texttt{niccomlt/protelis-web}.

\inputminted{dockerfile}{res/code/Dockerfile}

% \section{YAML di configurazione per Alchemist}
\chapter{YAML di configurazione per Alchemist}\label{app:yaml}
% \addchap*{YAML di configurazione per Alchemist}

Di seguito è riportata la configurazione in formato YAML che permette ad Alchemist di costruire la rete simulata sulla quale viene eseguito il codice.

\inputminted{yaml}{res/code/simulation.yml}

\end{appendices}
23 changes: 15 additions & 8 deletions src/main/background/aggregate.tex
Original file line number Diff line number Diff line change
Expand Up @@ -68,15 +68,16 @@ \chapter{Programmazione aggregata}\label{ch:aggregate}
Poi, il framework di programmazione dovrebbe essere modulare, e tali moduli dovrebbero essere componibili in modo semplice e trasparente.
Infine, deve essere possibile fornire meccanismi di coordinazione differenti per diverse parti del sistema aventi regioni dello spazio e tempi distinti.

La programmazione aggregata cerca di rispondere alle seguenti esigenze~\cite{7274429}:
In letteratura~\cite{7274429}, sono stati individuati tre principi % della programmazione aggregata
per rispondere a queste esigenze:

% TODO: collassa elenco puntato
\begin{itemize}
\begin{enumerate}
\item la ``macchina'' programmata non è il singolo dispositivo, bensì il loro agglomerato; % a \emph{regione} dell'ambiente computazionale che astrae dai dettagli specifici
\item il ``programma'' è specificato come manipolazione di strutture dati distribuite che evolvono nel tempo dette \emph{computational fields};
% TODO: modularità e componibilità
\item tali manipolazioni vengono eseguite dai dispositivi inseriti all'interno della regione, tramite l'uso di meccanismi di coordinazione resilienti e di interazioni basate sulla prossimità.
\end{itemize}
\end{enumerate}

In questo modo, i meccanismi di coordinazione, spesso complessi, vengono nascosti facilitando la costruzione e favorendo la modularità.
In particolare, il paradigma si struttura su più livelli di astrazione, come è possibile vedere in~\Cref{fig:stack}.
Expand All @@ -85,7 +86,7 @@ \chapter{Programmazione aggregata}\label{ch:aggregate}

\begin{figure}[htbp]
\centering
\includesvg[width=0.55\textwidth]{res/fig/stack-2.svg}%
\includesvg[width=0.6\textwidth]{res/fig/stack-2.svg}%
\caption[
Principali livelli dell'\emph{Aggregate Programming}.
]{
Expand Down Expand Up @@ -142,13 +143,16 @@ \section{Field calculus e Building Blocks}\label{sec:field-calculus}
supportando ogni computazione spazio-temporale causale e approssimabile.
Tramite questi operatori, inoltre, sono garantite \emph{portabilità}, \emph{indipendenza} dall'infrastruttura e \emph{integrazione} con servizi non aggregati.

Per poter garantire anche \emph{resilienza} alla coordinazione, è necessario introdurre il livello di astrazione successivo:
gli operatori ``\emph{building block}''~\cite{BV-FOCAS2014}.
Il livello di astrazione successivo è costituito dagli operatori ``\emph{building block}''~\cite{BV-FOCAS2014}.

% Per poter garantire anche \emph{resilienza} alla coordinazione, è necessario introdurre il livello di astrazione successivo:
% gli operatori ``\emph{building block}''~\cite{BV-FOCAS2014}.

Questo layer consiste di un insieme di operatori generici e di più alto livello, che offrono allo sviluppatore un ambiente di programmazione più espressivo,
contribuendo in particolare alla cosiddetta \emph{self-stabilization}, ossia la capacità di raggiungere uno stato atteso in un numero finito di passi,
indipendentemente dallo stato di partenza.
Tale proprietà è garantita per tutti i campi ottenuti tramite composizione funzionale~\cite{BV-FOCAS2014}.
Qualora il sistema sia auto-stabilizzante, tale proprietà è garantita anche per tutti i campi ottenuti tramite composizione funzionale~\cite{BV-FOCAS2014}.
% TODO: va bene?

\begin{figure}[htbp]
\centering
Expand Down Expand Up @@ -214,7 +218,7 @@ \section{Protelis}\label{sec:protelis}

\begin{figure}[htbp]
\centering
\includesvg[width=0.4\textwidth]{res/fig/protelis-abstract-arch.svg}
\includesvg[width=0.45\textwidth]{res/fig/protelis-abstract-arch.svg}
\caption[
Architettura di Protelis
]{
Expand Down Expand Up @@ -255,6 +259,9 @@ \section{Protelis}\label{sec:protelis}
Utilizzando Protelis è stato possibile~\cite{7306601} realizzare un sistema in grado di organizzarsi per riavviare lo stack.
In particolare, sono state definite entità chiamate \emph{daemon} che monitorano ciascuna uno specifico servizio e comunicano con le altre al fine di garantire l'ordine necessario.

\item[Coordinazione di droni]
Il linguaggio Protelis è stato utilizzato anche per la realizzazione di un sistema di coordinazione per una rete di sensori aerotrasportati~\cite{7536289,7789463} tramite droni.

\item[Integrazione con servizi di realtà aumentata]
La programmazione aggregata è stata testata anche nell'ambito dell'AR (\emph{Augmented Reality})~\cite{PCRV-SCOPES2015}.

Expand Down
Loading

0 comments on commit 0dde814

Please sign in to comment.