143 resultados para tucson, cloud, tuple, java, sistemi distribuiti, cloudify
Resumo:
La tesi si propone di esaminare le tematiche della rappresentazione della conoscenza in termini di Electronic Health Record (EHR), della loro interoperabilità nei sistemi di e-Health, e del ruolo del coordinamento semantico nella costruzione di sistemi di e-Health basati su EHR.
Resumo:
I sistemi mobili rappresentano una classe di sistemi distribuiti caratterizzata dalla presenza di dispositivi portatili eterogenei quali PDA, laptop e telefoni cellulari che interagiscono tra loro mediante una rete di interconnessione wireless. Una classe di sistemi mobili di particolare interesse è costituita dai sistemi basati sul modello di interazione publish/subscribe. Secondo tale schema, i nodi all'interno di una rete possono assumere due ruoli differenti: i produttori di informazione, chiamati publisher, ed i consumatori di informazione, chiamati subscriber. Tipicamente, l'interazione tra essi è mediata da un gestore di eventi che indirizza correttamente le informazioni ricevute dai publisher verso i subscriber interessati, sulla base degli interessi espressi da questi ultimi tramite sottoscrizioni. Nella progettazione di sistemi mobili, a differenza di quelli tradizionali basati su nodi fissi, bisogna tenere conto di problemi quali la scarsa capacità computazionale dei dispositivi e la limitata larghezza di banda delle reti wireless. All'interno di tale ambito, stanno recentemente assumendo sempre maggiore importanza i sistemi context-aware, ovvero sistemi mobili che sfruttano i dati provenienti dall'ambiente circostante e dai dispositivi stessi per adattare il proprio comportamento e notificare agli utenti la presenza di informazioni potenzialmente utili. Nello studio di questi sistemi, si è notato che i nodi che si trovano nella stessa area geografica generano tipicamente delle sottoscrizioni che presentano tra loro un certo grado di similarità e coperture parziali o totali. Il gruppo di ricerca del DEIS dell’Università di Bologna ha sviluppato un'infrastruttura di supporto per sistemi mobili context-aware, chiamata SALES. Attualmente il sistema progettato non considera le similarità delle sottoscrizioni e quindi non sfrutta opportunamente tale informazione. In questo contesto si rende necessario l'adozione di opportune tecniche di aggregazione delle sottoscrizioni atte ad alleggerire la computazione dei nodi mobili e le comunicazioni tra loro. Il lavoro presentato in questa tesi sarà finalizzato alla ricerca, all'adattamento ed all'implementazione di una tecnica di aggregazione delle sottoscrizioni. Tale tecnica avrà lo scopo di rilevare e sfruttare le similarità delle sottoscrizioni ricevute dal sistema al fine di ridurne il numero; in questo modo, quando un nodo riceverà un dato, il processo di confronto tra l'insieme delle sottoscrizioni memorizzate e il dato ricevuto sarà più leggero, consentendo un risparmio di risorse computazionali. Inoltre, adattando tali tecniche, sarà possibile modulare anche il traffico dati scaturito dalle risposte alle sottoscrizioni. La struttura di questa tesi prevede un primo capitolo sui sistemi context-aware, descrivendone le principali caratteristiche e mettendo in luce le problematiche ad essi associate. Il secondo capitolo illustra il modello di comunicazione Publish/Subscribe, modello di riferimento per i moderni sistemi context-aware e per i sistemi mobili in generale. Il terzo capitolo descrive l'infrastruttura SALES sulla quale si è progettata, implementata e testata la soluzione proposta in questa tesi. Il quarto capitolo presenta le principali tecniche di aggregazione delle sottoscrizioni e spiega come possono essere adattate al contesto di questa tesi. Il quinto capitolo effettua l'analisi dei requisiti per comprendere meglio il comportamento della soluzione; seguono la progettazione e l’implementazione della soluzione su SALES. Infine, il sesto capitolo riporta in dettaglio i risultati ottenuti da alcuni degli esperimenti effettuati e vengono messi a confronto con quelli rilevati dal sistema di partenza.
Resumo:
La tesi propone una soluzione middleware per scenari in cui i sensori producono un numero elevato di dati che è necessario gestire ed elaborare attraverso operazioni di preprocessing, filtering e buffering al fine di migliorare l'efficienza di comunicazione e del consumo di banda nel rispetto di vincoli energetici e computazionali. E'possibile effettuare l'ottimizzazione di questi componenti attraverso operazioni di tuning remoto.
Resumo:
Relazione completa delle scelte progettuali e implementative di un applicativo ad agenti sviluppato nel contesto Smart Home. Essa contiene un veloce riassunto dello scenario e dello stato attuale dell'applicazione, unitamente a un'introduzione sul middeware su cui si appoggia l'applicativo (TuCSoN). Segue quindi un'analisi delle scelte di modeling delle entita da gestire, le metodologie di supporto alla persistenza e un'ampia descrizione su come gli agenti comunichino tra loro e attraverso quali mezzi (centri di tuple). Quindi viene analizzata l'implementazione partendo dalle scelte implementative sino ad esaminare cosa avviene nel programma a seguito dell'interazione con l'utente. Infine le conclusioni a cui si e giunti e due appendici sulla terminologia e le classi presenti nel prototipo attuale.
Resumo:
In questa tesi ci si pone l'obiettivo di sviluppare sistemi distribuiti composti da device mobile che si scambiano informazioni tramite comunicazioni opportunistiche wireless peer-to-peer. Vengono inizialmente analizzate le principali tecnologie di comunicazione wireless adatte allo scopo, soffermandosi sulle reti Wifi ad hoc, delle quali vengono studiate le performance in sistemi di larga scala tramite il simulatore di reti ns-3. Successivamente viene esposto lo sviluppo di componenti software, basati su Akka Stream, per la costruzione di campi computazionali tramite comunicazioni opportunistiche tra device Android, effettuate tramite reti Wifi ad hoc.
Resumo:
Negli ultimi anni il crescere della capacità di calcolo dei dispositivi e il diminuire delle loro dimensioni ha permesso di far nascere idee innovative e di esplorare più in dettaglio alcuni settori. Uno di questi è sicuramente quello della realtà aumentata (Augmented reality), infatti, la discussione su questo argomento nasce già negli anni 40 del novecento, ma, per mancanza di mezzi tecnologici adeguati, solo ora si iniziano a realizzare le prime applicazioni che si basano su questa idea e il grande pubblico inizia ad interessarsi all'argomento. La costruzione di applicazioni di realtà aumentata, al momento, è basata sull'utilizzo di alcuni framework che mettono a disposizione dello sviluppatore alcune funzioni molto comuni in questi software, come il tracking di marker e l'utilizzo di bottoni virtuali. Questi strumenti, seppur comodi, non garantiscono sempre la buona progettazione dell'applicazione e tendono a unire insieme parti di logica applicativa e di grafica. Per questo motivo, anche nella ricerca, si stanno cercando di studiare dei metodi in grado di permettere una divisione ottimale dei compiti in modo da ottenere un software riusabile e facilmente mantenibile, ma che permetta anche di sfruttare appieno le potenzialità dell'AR attraverso, per esempio, sistemi distribuiti. Un framework concettuale che rientra in questa categoria è sicuramente quello degli Augmented Worlds, mondi virtuali collegati a quello fisico che ne incrementano le caratteristiche e le possibilità tramite la presenza di entità aumentate. La tesi, quindi, si propone di sviluppare un prototipo di un framework con le caratteristiche sopra citate di estendibilità, utilizzando le piattaforme in questo momento a disposizione e ispirandosi alla visione degli Augmented Worlds.
Resumo:
Il presente lavoro di tesi ha come punto focale la descrizione, la verifica e la dimostrazione della realizzabilità dei Workflow Patterns di Gestione del Flusso(Control-Flow) e Risorse (Resource) definiti da parte della Workflow Pattern Initiative (WPI)in JOLIE, un innovativo linguaggio di programmazione orientato ai servizi nato nell'ambito del Service Oriented Computing. Il Service Oriented Computing (SOC) è un nuovo modo di pensare la programmazione di applicazioni distribuite, i cui concetti fondamentali sono i servizi e la composizione. L’approccio SOC definisce la possibilità di costruire un’applicazione in funzione dei servizi che ne realizzano il comportamento tramite una loro composizione, definita secondo un particolare flusso di lavoro. Allo scopo di fornire la necessaria conoscenza per capire la teoria, le meccaniche e i costrutti di JOLIE utilizzati per la realizzazione dei pattern, il seguente lavoro di tesi è stato diviso in quattro parti, corrispondenti ad altrettanti capitoli. Nel primo capitolo viene riportata una descrizione generale del SOC e della Business Process Automation (BPA), che costituisce l’ambiente in cui il SOC è inserito. Per questo viene fatta una disamina della storia informatica sui sistemi distribuiti, fino ad arrivare ai sistemi odierni, presentando in seguito il contesto del BPA e delle innovazioni derivanti dalle sue macro-componenti, di cui il SOC fa parte. Continuando la descrizione dell’approccio Service Oriented, ne vengono presentati i requisiti (pre-condizioni) e si cerca di dare una definizione precisa del termine “servizio”, fino all'enunciazione dei principi SOC declinati nell’ottica delle Service Oriented Architectures, presentando in ultimo i metodi di composizione dei servizi, tramite orchestrazione e coreografia. L’ultima sezione del capitolo prende in considerazione il SOC in un’ottica prettamente industriale e ne evidenzia i punti strategici. Il secondo capitolo è incentrato sulla descrizione di JOLIE, gli aspetti fondamentali dell’approccio orientato ai servizi, che ne caratterizzano profondamente la definizione concettuale (SOCK), e la teoria della composizione dei servizi. Il capitolo non si pone come una descrizione esaustiva di tutte le funzionalità del linguaggio, ma considera soprattutto i concetti teorici, le strutture di dati, gli operatori e i costrutti di JOLIE utilizzati per la dimostrazione della realizzabilità dei Workflow Pattern del capitolo successivo. Il terzo capitolo, più lungo e centrale rispetto agli altri, riguarda la realizzazione dei workflow pattern in JOLIE. All'inizio del capitolo viene fornita una descrizione delle caratteristiche del WPI e dei Workflow Pattern in generale. In seguito, nelle due macro-sezioni relative ai Control-Flow e Resource pattern vengono esposte alcune nozioni riguardanti le metodologie di definizione dei pattern (e.g. la teoria sulla definizione delle Colored Petri Nets) e le convezioni adottate dal WPI, per passare in seguito al vero e proprio lavoro (sperimentale) di tesi riguardo la descrizione dei pattern, l’analisi sulla loro realizzabilità in JOLIE, insieme ad un codice di esempio che esemplifica quanto affermato dall'analisi. Come sommario delle conclusioni raggiunte sui pattern, alla fine di ognuna delle due sezioni definite in precedenza, è presente una scheda di valutazione che, con lo stesso metodo utilizzato e definito dalla WPI, permette di avere una rappresentazione generale della realizzabilità dei pattern in JOLIE. Il quarto capitolo riguarda gli esiti tratti dal lavoro di tesi, riportando un confronto tra le realizzazioni dei pattern in JOLIE e le valutazioni del WPI rispetto agli altri linguaggi da loro considerati e valutati. Sulla base di quanto ottenuto nel terzo capitolo vengono definite le conclusioni del lavoro portato avanti sui pattern e viene delineato un’eventuale scenario riguardante il proseguimento dell’opera concernente la validazione ed il completamento della studio. In ultimo vengono tratte alcune conclusioni sia riguardo JOLIE, nel contesto evolutivo del linguaggio e soprattutto del progetto open-source che è alla sua base, sia sul SOC, considerato nell’ambito del BPA e del suo attuale ambito di sviluppo dinamico.
Resumo:
Le più moderne e diffuse applicazioni wireless attuali sono dedicate a sistemi distribuiti in grandi quantità ed il più possibile miniaturizzati. In questa tesi si discute di tecniche di miniaturizzazione delle antenne di questi sistemi. Tradizionalmente tali tecniche si sono basate su substrati ad elevata costante dielettrica che hanno però, come contropartita, un deterioramento delle prestazioni radianti. Un'alternativa molto promettente è offerta da substrati magneto-dielettrici che, pur garantendo analoghe riduzioni degli ingombri, possono offrire migliori opportunità per il comportamento radiante e per l'adattamento dell'antenna al resto del sistema. In questa tesi, partendo dallo stato dell'arte della letteratura scientifica, si è sviluppato un modello che consente di valutare a priori i vantaggi/svantaggi di diverse topologie d'antenne basate su substrati magneto-dielettrici. Il metodo si basa sul teorema di equivalenza. Infine la tesi affronta il problema di sviluppare un metodo per la caratterizzazione dei parametri costitutivi di tali materiali.
Resumo:
Bitcoin è una moneta digitale decentralizzata e parzialmente anonima. Viene scambiata tramite un software open source che utilizza la crittografia per garantire l'integrità e l'autenticità delle transazioni. Permette di inviare denaro digitale in maniera rapida, sicura ed economica attraverso Internet. La tesi si propone di analizzarne il fenomeno, partendo dalla sua storia fino alle possibili evoluzioni future. Vengono introdotte le basi di crittografia per comprenderne i concetti ed i meccanismi di funzionamento. In seguito viene analizzata l'implementazione del software e vengono discussi i principali vantaggi e criticità. La tesi esplora le possibili conseguenze di una sua adozione dal punto di vista economico e politico, e le innovazioni che potrebbe portare al sistema finanziario. Vengono infine mostrati alcuni esempi di software ispirati a Bitcoin che ne estendono ed ampliano le funzionalità nell'ambito dei sistemi distribuiti.
Resumo:
Il lavoro svolto è dedicato alla realizzazione ed implementazione di un sistema distribuito "smart" per il controllo degli accessi. Il progetto sviluppato è inquadrato nel contesto di "SPOT Software", che necessita di migliorare il processo aziendale di controllo accessi e gestione presenze al fine di aumentarne usabilità ed efficienza. Saranno affrontate in generale le tematiche di Internet of Things, Smart Building, Smart City e sistemi embedded, approfondendo il ruolo delle tecnologie di comunicazione NFC e BLE, al centro di questo lavoro. Successivamente sarà discussa la progettazione di ognuno dei tre nodi del sistema, motivando le scelte tecnologiche e progettuali: Web application, Smart device e Smartphone app.
Resumo:
XCModel è un sistema CAD, basato su NURBS, realizzato ed utilizzato in ambiente accademico. È composto da quattro pacchetti per la modellazione 2D, 3D e la resa foto-realistica, ognuno dotato di una propria interfaccia grafica. Questi pacchetti sono in costante evoluzione: sia per le continua evoluzioni dell’hardware che ai cambiamenti degli standard software. Il sistema nel complesso raccoglie la conoscenza e l’esperienza nella modellazione geometrica acquisita nel tempo dai progettisti. XCModel, insieme ai suoi sottosistemi, sono stati progettati per diventare un laboratorio di insegnamento e ricerca utile a sperimentare ed imparare metodi ed algoritmi nella modellazione geometrica e nella visualizzazione grafica. La natura principalmente accademica, e la conseguente funzione divulgativa, hanno richiesto continui aggiornamenti del programma affinché potesse continuare a svolgere la propria funzione nel corso degli anni. La necessità di continuare a ad evolversi, come software didattico, anche con il moderno hardware, è forse il principale motivo della scelta di convertire XCModel a 64 bit; una conversione che ho svolto in questa tesi. Come molte altre applicazioni realizzate a 32 bit, la maggior parte del codice viene eseguito correttamente senza problemi. Vi sono però una serie di problematiche, a volte molto subdole, che emergono durante la migrazione delle applicazioni in generale e di XCModel in particolare. Questa tesi illustra i principali problemi di portabilità riscontrati durante il porting a 64 bit di questo pacchetto seguendo il percorso da me intrapreso: mostrerò gli approcci adottati, i tool utilizzati e gli errori riscontrati.
Resumo:
La tesi, che si colloca all'interno di un progetto di esplorazione degli approcci alla programmazione multi-piattaforma tra Java e iOS, mira a proseguire ed ampliare lo studio del tool RoboVM, in particolare grazie allo sviluppo dell'applicazione iTuCSoN, porting del Command Line Interpreter contenuto in TuCSoN (http://tucson.apice.unibo.it/)
Resumo:
L’oggetto di questa tesi riguarda la predisposizione un sistema di ausilio per non vedenti, basato su visione 3D, alla comunicazione in rete. Si è quindi sviluppata un’applicazione per dispositivi iOS che sia in grado di ricevere e interpretare i dati inviati da tale sistema. In particolare, questo lavoro si inserisce in un lavoro più ampio che ha l’obiettivo di fornire diverse modalità di interfacciamento con il sistema di rilevazione ostacoli per utenti ipovedenti e di sostituire le attuali tecnologie cablate con tecnologie wireless. Il seguente lavoro descrive i problemi emersi e le soluzioni adottate durante lo sviluppo del sistema, al fine di fornire un’adeguata documentazione a coloro che avranno intenzione di proseguire nell’ampliamento delle funzioni realizzabili.
Resumo:
Agent-oriented programming (AOP) è un paradigma di programmazione che concepisce un software come insieme di agenti che possiedono caratteristiche di autonomia, proattività e che sono in grado di comunicare con altri agenti. Sebbene sia stato impiegato soprattutto nell'ambito dell'intelligenza artificiale questo tipo di programmazione si rivela utile per lo sviluppo di sistemi distribuiti riuscendo a gestire agilmente problemi di concorrenza. Lo scopo di questa tesi è analizzare le caratteristiche del paradigma e dei software basati su agenti, utilizzando come caso di studio Sarl, un linguaggio general-purpose molto recente. La parte principale del lavoro consiste nella descrizione dei modelli teorici che hanno portato alla nascita della programmazione ad agenti, in particolare del modello BDI, e dei principali framework per lo sviluppo di sistemi multi-agente.
Resumo:
Il lavoro svolto in questa tesi verte sullo sviluppo e l'integrazione del modello teorico conosciuto come Biochemical Tuple Spaces for Self-Organizing Coordination, in breve BTSSOC, in una piattaforma completa, chiamata BTSSOC-Cellulat, per la simulazione di sistemi biochimici, sviluppata utilizzando i linguaggi Java, Prolog, TuCSoN e ReSpecT.