965 resultados para Sistemi Multi-Agente, Sistemi ad Eventi, MAS, EBS, Kafka, JADE, TuCSoN


Relevância:

30.00% 30.00%

Publicador:

Resumo:

La programmazione aggregata è un paradigma che supporta la programmazione di sistemi di dispositivi, adattativi ed eventualmente a larga scala, nel loro insieme -- come aggregati. L'approccio prevalente in questo contesto è basato sul field calculus, un calcolo formale che consente di definire programmi aggregati attraverso la composizione funzionale di campi computazionali, creando i presupposti per la specifica di pattern di auto-organizzazione robusti. La programmazione aggregata è attualmente supportata, in modo più o meno parziale e principalmente per la simulazione, da DSL dedicati (cf., Protelis), ma non esistono framework per linguaggi mainstream finalizzati allo sviluppo di applicazioni. Eppure, un simile supporto sarebbe auspicabile per ridurre tempi e sforzi d'adozione e per semplificare l'accesso al paradigma nella costruzione di sistemi reali, nonché per favorire la ricerca stessa nel campo. Il presente lavoro consiste nello sviluppo, a partire da un prototipo della semantica operazionale del field calculus, di un framework per la programmazione aggregata in Scala. La scelta di Scala come linguaggio host nasce da motivi tecnici e pratici. Scala è un linguaggio moderno, interoperabile con Java, che ben integra i paradigmi ad oggetti e funzionale, ha un sistema di tipi espressivo, e fornisce funzionalità avanzate per lo sviluppo di librerie e DSL. Inoltre, la possibilità di appoggiarsi, su Scala, ad un framework ad attori solido come Akka, costituisce un altro fattore trainante, data la necessità di colmare l'abstraction gap inerente allo sviluppo di un middleware distribuito. Nell'elaborato di tesi si presenta un framework che raggiunge il triplice obiettivo: la costruzione di una libreria Scala che realizza la semantica del field calculus in modo corretto e completo, la realizzazione di una piattaforma distribuita Akka-based su cui sviluppare applicazioni, e l'esposizione di un'API generale e flessibile in grado di supportare diversi scenari.

Relevância:

30.00% 30.00%

Publicador:

Resumo:

in questo elaborato sono trattati i temi delle Adaptive User Interface e dell'Internet Of Things nei sistemi mobili. Il primo attraverso l'orchestrazione e la definizione di un'architettura framework in grado di fornire allo sviluppatore tutti gli strumenti di base per la realizzazione di interfacce grafiche capaci di esibire un comportamento adattativo a livello di singoli componenti. il secondo,invece, attraverso lo studio della tecnologia DQuid applicata ad un caso d'uso reale nel quale si prevedeva la connessione di un applicazione mobile iOS con un sistema per il parcheggio in garage di un'autovettura ed il monitoraggio delle informazioni relative.

Relevância:

30.00% 30.00%

Publicador:

Resumo:

La possibilità di monitorare l’attività degli utenti in un sistema domotico, sia considerando le azioni effettuate direttamente sul sistema che le informazioni ricavabili da strumenti esterni come la loro posizione GPS, è un fattore importante per anticipare i bisogni e comprendere le preferenze degli utenti stessi, rendendo sempre più intelligenti ed autonomi i sistemi domotici. Mentre i sistemi attualmente disponibili non includono o non sfruttano appieno queste potenzialità, l'obiettivo di sistemi prototipali sviluppati per fini di ricerca, quali ad esempio Home Manager, è invece quello di utilizzare le informazioni ricavabili dai dispositivi e dal loro utilizzo per abilitare ragionamenti e politiche di ordine superiore. Gli obiettivi di questo lavoro sono: - Classificare ed elencare i diversi sensori disponibili al fine di presentare lo stato attuale della ricerca nel campo dello Human Sensing, ovvero del rilevamento di persone in un ambiente. - Giustificare la scelta della telecamera come sensore per il rilevamento di persone in un ambiente domestico, riportando metodi per l’analisi video in grado di interpretare i fotogrammi e rilevare eventuali figure in movimento al loro interno. - Presentare un’architettura generica per integrare dei sensori in un sistema di sorveglianza, implementando tale architettura ed alcuni algoritmi per l’analisi video all’interno di Home Manager con l’aiuto della libreria OpenCV .

Relevância:

30.00% 30.00%

Publicador:

Resumo:

High Performance Computing e una tecnologia usata dai cluster computazionali per creare sistemi di elaborazione che sono in grado di fornire servizi molto piu potenti rispetto ai computer tradizionali. Di conseguenza la tecnologia HPC e diventata un fattore determinante nella competizione industriale e nella ricerca. I sistemi HPC continuano a crescere in termini di nodi e core. Le previsioni indicano che il numero dei nodi arrivera a un milione a breve. Questo tipo di architettura presenta anche dei costi molto alti in termini del consumo delle risorse, che diventano insostenibili per il mercato industriale. Un scheduler centralizzato non e in grado di gestire un numero di risorse cosi alto, mantenendo un tempo di risposta ragionevole. In questa tesi viene presentato un modello di scheduling distribuito che si basa sulla programmazione a vincoli e che modella il problema dello scheduling grazie a una serie di vincoli temporali e vincoli sulle risorse che devono essere soddisfatti. Lo scheduler cerca di ottimizzare le performance delle risorse e tende ad avvicinarsi a un profilo di consumo desiderato, considerato ottimale. Vengono analizzati vari modelli diversi e ognuno di questi viene testato in vari ambienti.

Relevância:

30.00% 30.00%

Publicador:

Resumo:

L’avanzamento tecnologico degli ultimi anni ha portato ad un aumento sostanziale dei dati generati giornalmente. L’analisi di queste ingenti quantità di dati si è rivelata essere troppo complessa per i sistemi tradizionali ed è stato pertanto necessario sviluppare nuovi approcci basati sul calcolo distribuito. I nuovi strumenti sviluppati in seguito a queste nuove necessità sono framework di calcolo parallelo basati sul paradigma del MapReduce, un modello di programmazione sviluppato da Google, e sistemi di gestione di basi di dati fluidi, in grado di trattare rapidamente grandi quantità di dati non strutturati. Lo scopo alla base di entrambi è quello di costruire sistemi scalabili orizzontalmente e utilizzabili su hardware di largo consumo. L’utilizzo di questi nuovi strumenti può comunque portare alla creazione di sistemi poco ottimizzati e di difficile gestione. Nathan Marz propone un’architettura a livelli che utilizza i nuovi strumenti in maniera congiunta per creare sistemi semplici e robusti: questa prende il nome di Lambda-Architecture. In questa tesi viene introdotto brevemente il concetto di Big Data e delle nuove problematiche ad esso associate, si procede poi ad illustrare i principi su cui si basano i nuovi strumenti di calcolo distribuito sviluppati per affrontarle. Viene poi definita l’Architettura Lambda di Nathan Marz, ponendo particolare attenzione su uno dei livelli che la compone, chiamato Batch Layer. I principi della Lambda Architecture sono infine applicati nella costruzione di un Batch Layer, utilizzato per l’analisi e la gestione di dati climatici con fini statistici.