566 resultados para INFORMATICA
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 descrive il progetto e il funzionamento di un algoritmo basato su un sistema di visione, studiato allo scopo di eliminare i marker, che vengono utilizzati dai sensori di contrasto nel processo di taglio delle singole etichette a partire dalle bobine che scorrono sul rullo.
Resumo:
L'obbiettivo di questa tesi è dimostrare che è attualmente possibile realizzare un sistema di aggregazione dati in grado di gestire un numero elevato di connessioni contemporanee con relativamente poco sforzo per lo sviluppatore grazie all'utilizzo di Node JS, piattaforma che utilizza internamente una gestione a eventi a livello di linguaggio di programmazione.
Resumo:
I sistemi di versionamento moderni quali "git" o "svn" sono ad oggi basati su svariati algoritmi di analisi delle differenze (detti algoritmi di diffing) tra documenti (detti versioni). Uno degli algoritmi impiegati con maggior successo a tal proposito è il celebre "diff" di Unix. Tale programma è in grado di rilevare le modifiche necessarie da apportare ad un documento al fine di ottenerne un altro in termini di aggiunta o rimozione di linee di testo. L'insieme di tali modifiche prende nome di "delta". La crescente richiesta e applicazione dei documenti semi-strutturati (ed in particolar modo dei documenti XML) da parte della comunità informatica soprattutto in ambito web ha motivato la ricerca di algoritmi di diffing più raffinati che operino al meglio su tale tipologia di documenti. Svariate soluzioni di successo sono state discusse; algoritmi ad alte prestazioni capaci di individuare differenze più sottili della mera aggiunta o rimozione di testo quali il movimento di interi nodi, il loro riordinamento finanche il loro incapsulamento e così via. Tuttavia tali algoritmi mancano di versatilità. L'incapsulamento di un nodo potrebbe essere considerata una differenza troppo (o troppo poco) generale o granulare in taluni contesti. Nella realtà quotidiana ogni settore, pubblico o commerciale, interessato a rilevare differenze tra documenti ha interesse nell'individuarne sempre e soltanto un sottoinsieme molto specifico. Si pensi al parlamento italiano interessato all'analisi comparativa di documenti legislativi piuttosto che ad un ospedale interessato alla diagnostica relativa alla storia clinica di un paziente. Il presente elaborato di tesi dimostra come sia possibile sviluppare un algoritmo in grado di rilevare le differenze tra due documenti semi-strutturati (in termini del più breve numero di modifiche necessarie per trasformare l'uno nell'altro) che sia parametrizzato relativamente alle funzioni di trasformazione operanti su tali documenti. Vengono discusse le definizioni essenziali ed i principali risultati alla base della teoria delle differenze e viene dimostrato come assunzioni più blande inducano la non calcolabilità dell'algoritmo di diffing in questione.