914 resultados para CSCW Healthcare Mobile Pervasive Computing Sincronizzazione Dati REST CouchDB CouchbaseLite


Relevância:

40.00% 40.00%

Publicador:

Resumo:

I moderni sistemi embedded sono equipaggiati con risorse hardware che consentono l’esecuzione di applicazioni molto complesse come il decoding audio e video. La progettazione di simili sistemi deve soddisfare due esigenze opposte. Da un lato è necessario fornire un elevato potenziale computazionale, dall’altro bisogna rispettare dei vincoli stringenti riguardo il consumo di energia. Uno dei trend più diffusi per rispondere a queste esigenze opposte è quello di integrare su uno stesso chip un numero elevato di processori caratterizzati da un design semplificato e da bassi consumi. Tuttavia, per sfruttare effettivamente il potenziale computazionale offerto da una batteria di processoriè necessario rivisitare pesantemente le metodologie di sviluppo delle applicazioni. Con l’avvento dei sistemi multi-processore su singolo chip (MPSoC) il parallel programming si è diffuso largamente anche in ambito embedded. Tuttavia, i progressi nel campo della programmazione parallela non hanno mantenuto il passo con la capacità di integrare hardware parallelo su un singolo chip. Oltre all’introduzione di multipli processori, la necessità di ridurre i consumi degli MPSoC comporta altre soluzioni architetturali che hanno l’effetto diretto di complicare lo sviluppo delle applicazioni. Il design del sottosistema di memoria, in particolare, è un problema critico. Integrare sul chip dei banchi di memoria consente dei tempi d’accesso molto brevi e dei consumi molto contenuti. Sfortunatamente, la quantità di memoria on-chip che può essere integrata in un MPSoC è molto limitata. Per questo motivo è necessario aggiungere dei banchi di memoria off-chip, che hanno una capacità molto maggiore, come maggiori sono i consumi e i tempi d’accesso. La maggior parte degli MPSoC attualmente in commercio destina una parte del budget di area all’implementazione di memorie cache e/o scratchpad. Le scratchpad (SPM) sono spesso preferite alle cache nei sistemi MPSoC embedded, per motivi di maggiore predicibilità, minore occupazione d’area e – soprattutto – minori consumi. Per contro, mentre l’uso delle cache è completamente trasparente al programmatore, le SPM devono essere esplicitamente gestite dall’applicazione. Esporre l’organizzazione della gerarchia di memoria ll’applicazione consente di sfruttarne in maniera efficiente i vantaggi (ridotti tempi d’accesso e consumi). Per contro, per ottenere questi benefici è necessario scrivere le applicazioni in maniera tale che i dati vengano partizionati e allocati sulle varie memorie in maniera opportuna. L’onere di questo compito complesso ricade ovviamente sul programmatore. Questo scenario descrive bene l’esigenza di modelli di programmazione e strumenti di supporto che semplifichino lo sviluppo di applicazioni parallele. In questa tesi viene presentato un framework per lo sviluppo di software per MPSoC embedded basato su OpenMP. OpenMP è uno standard di fatto per la programmazione di multiprocessori con memoria shared, caratterizzato da un semplice approccio alla parallelizzazione tramite annotazioni (direttive per il compilatore). La sua interfaccia di programmazione consente di esprimere in maniera naturale e molto efficiente il parallelismo a livello di loop, molto diffuso tra le applicazioni embedded di tipo signal processing e multimedia. OpenMP costituisce un ottimo punto di partenza per la definizione di un modello di programmazione per MPSoC, soprattutto per la sua semplicità d’uso. D’altra parte, per sfruttare in maniera efficiente il potenziale computazionale di un MPSoC è necessario rivisitare profondamente l’implementazione del supporto OpenMP sia nel compilatore che nell’ambiente di supporto a runtime. Tutti i costrutti per gestire il parallelismo, la suddivisione del lavoro e la sincronizzazione inter-processore comportano un costo in termini di overhead che deve essere minimizzato per non comprometterre i vantaggi della parallelizzazione. Questo può essere ottenuto soltanto tramite una accurata analisi delle caratteristiche hardware e l’individuazione dei potenziali colli di bottiglia nell’architettura. Una implementazione del task management, della sincronizzazione a barriera e della condivisione dei dati che sfrutti efficientemente le risorse hardware consente di ottenere elevate performance e scalabilità. La condivisione dei dati, nel modello OpenMP, merita particolare attenzione. In un modello a memoria condivisa le strutture dati (array, matrici) accedute dal programma sono fisicamente allocate su una unica risorsa di memoria raggiungibile da tutti i processori. Al crescere del numero di processori in un sistema, l’accesso concorrente ad una singola risorsa di memoria costituisce un evidente collo di bottiglia. Per alleviare la pressione sulle memorie e sul sistema di connessione vengono da noi studiate e proposte delle tecniche di partizionamento delle strutture dati. Queste tecniche richiedono che una singola entità di tipo array venga trattata nel programma come l’insieme di tanti sotto-array, ciascuno dei quali può essere fisicamente allocato su una risorsa di memoria differente. Dal punto di vista del programma, indirizzare un array partizionato richiede che ad ogni accesso vengano eseguite delle istruzioni per ri-calcolare l’indirizzo fisico di destinazione. Questo è chiaramente un compito lungo, complesso e soggetto ad errori. Per questo motivo, le nostre tecniche di partizionamento sono state integrate nella l’interfaccia di programmazione di OpenMP, che è stata significativamente estesa. Specificamente, delle nuove direttive e clausole consentono al programmatore di annotare i dati di tipo array che si vuole partizionare e allocare in maniera distribuita sulla gerarchia di memoria. Sono stati inoltre sviluppati degli strumenti di supporto che consentono di raccogliere informazioni di profiling sul pattern di accesso agli array. Queste informazioni vengono sfruttate dal nostro compilatore per allocare le partizioni sulle varie risorse di memoria rispettando una relazione di affinità tra il task e i dati. Più precisamente, i passi di allocazione nel nostro compilatore assegnano una determinata partizione alla memoria scratchpad locale al processore che ospita il task che effettua il numero maggiore di accessi alla stessa.

Relevância:

40.00% 40.00%

Publicador:

Resumo:

In questa Tesi di laurea, si è affrontato il problema della mobilità veicolare in caso di nebbie. Si è quindi sviluppato un prototipo con architettura Client-Server, che si è soffermato maggiormente sull’analisi dei dati per la creazione di un percorso alternativo. Si è preso in considerazione il sistema operativo mobile di Apple, iOS7 che rappresenta uno dei Sistemi Operativi mobili maggiormente presenti sul mercato oggigiorno e che possiede un buon bacino di utenze. La parte Server è stata sviluppata secondo l’architettura REST; è presente un Server HTTP che riceve richieste e risponde in modo adeguato ai Client tramite lo scambio bidirezionale di dati in formato JSON. Nella parte Server è inclusa la base di dati: un componente molto importante poiché implementa al suo interno, parte della logica di Sistema tramite stored procedure. La parte Client è un’applicazione per dispositivi iPad e iPhone chiamata Fog Escaping; essa è stata sviluppata secondo il pattern MVC (Model- View-Controller). Fog Escaping implementa un algoritmo Greedy di ricerca del percorso alternativo, che può essere utilizzato per diverse tipologie di applicazioni.

Relevância:

40.00% 40.00%

Publicador:

Resumo:

Abbiamo analizzato il comportamento di dispositivi mobili allo scopo di acquisire, ricostruire ed analizzare dati rotazionali da veicoli in movimento. E' possibile ricostruire solo l'urto iniziale di un incidente tra automobili attraverso segnale GPS e accelerometri interni ai veicoli, non è possibile ricostruire l'intera dinamica dell'incidente poiché si perde la rotazione assunta dai mezzi di trasporto dopo l'urto. Per questo scopo abbiamo studiato il comportamento di un dispositivo mobile capace di percepire movimenti rotatori. Abbiamo creato un'architettura software per ricostruire graficamente ed analizzare le rotazioni di una piattaforma Arduino, ovvero un prototipo dotato di accelerometro e giroscopio. Per studiare le rotazioni è stata applicata la matematica dei quaternioni. Abbiamo trovato algoritmi che ricavano le rotazioni attraverso le velocità angolari fornite dalla piattaforma, ed anche attraverso componenti hardware specializzati in rotazioni. Entrambe le soluzioni riescono ad interpretare correttamente la rotazioni del dispositivo nell'intervallo di tempo in cui si può sviluppare un incidente.

Relevância:

40.00% 40.00%

Publicador:

Resumo:

Lo scopo del presente lavoro e' di stabilire se l'attivita' di una rete telefonica obbedisce a leggi statistiche e verificare se sono presenti delle fluttuazioni rispetto a queste ultime. Nella prima parte vengono illustrati alcuni modelli di Human Dynamics. Nella seconda parte viene descritta l'analisi dei dati soffermandosi su alcuni punti chiave che determinano il significato del risultato finale.

Relevância:

40.00% 40.00%

Publicador:

Resumo:

Scopo primario della tesi è studiare e progettare un sistema informatico che proponga un buon livello di innovazione tecnologica in relazione al contesto applicativo di riferimento, ovvero relativamente al supporto al lavoro cooperativo di operatori in scenari d'emergenza. In particolare, la tesi si concentra sul'ecosistema software che ruota attorno al singolo operatore con l'obiettivo di dotarlo di uno strumento informatico che gli consenta di avvalersi di un efficace ed efficiente supporto per l'esecuzione delle proprie azioni sul campo (in generale, per la prima assistenza ai pazienti, triage e monitoraggio di parametri vitali). A tal proposito, l'ambito tecnologico di riferimento è quello del Pervasive Mobile Computing, con specifico riferimento ai sistemi context-aware e a quelli con comportamenti fortemente autonomi. Inoltre, al fine di dotare l'operatore di un supporto per l'interazione con il sistema stesso in modalità hands-free, sono stati analizzati i dispositivi wearable di tipo "see-through"; in particolare, i recenti glasses per realtà aumentata. La progettazione del sistema e il conseguente sviluppo del prototipo (che implementa le caratteristiche più significative ed innovative), è stata guidata da un'ispirazione basata sul modello ad agenti (integrato a quello ad oggetti), rivisitando opportunamente l'utilizzo dei componenti offerti dalla tecnologia Android, al fine di ottenere un prodotto software robusto e modulare facilmente manutenibile ed estendibile. Infine, per garantire a ciascun operatore rapida fruibilità del sistema sono state sfruttate le potenzialità offerte dall'uso di smartcard NFC ed inoltre è stato progettato un protocollo di comunicazione ad hoc, basato su stack Bluetooth, per l'integrazione degli AR-Glasses all'intero sistema.

Relevância:

40.00% 40.00%

Publicador:

Resumo:

Tirocinio in azienda in cui ho sviluppato alcuni moduli di un'applicazione mobile per la forza vendita in android

Relevância:

40.00% 40.00%

Publicador:

Resumo:

Questa tesi si focalizza sulle possibili tecnologie per realizzare comunicazioni opportunistiche fra dispositivi mobile ed embedded, con l'obiettivo di integrarle nel contesto di sistemi a larga scala situati, e con particolare riferimento al prototipo denominato "Magic Carpet". Vengono considerate in particolare le tecnologie WiFi ad-hoc e Bluetooth Low Energy su Android e Raspberry Pi.

Relevância:

40.00% 40.00%

Publicador:

Resumo:

Dall'inizio del nuovo millennio lo sviluppo di tecnologie nel campo del mobile computing, della rete internet, lo sviluppo dell'Internet of things e pure il cloud computing hanno reso possibile l'innovazione dei metodi di lavoro e collaborazione. L'evoluzione del mobile computing e della realtà aumentata che sta avvenendo in tempi più recenti apre potenzialmente nuovi orizzonti nello sviluppo di sistemi distribuiti collaborativi. Esistono oggi diversi framework a supporto della realtà aumentata, Wikitude, Metaio, Layar, ma l'interesse primario di queste librerie è quello di fornire una serie di API fondamentali per il rendering di immagini 3D attraverso i dispositivi, per lo studio dello spazio in cui inserire queste immagini e per il riconoscimento di marker. Questo tipo di funzionalità sono state un grande passo per quanto riguarda la Computer Graphics e la realtà aumentata chiaramente, però aprono la strada ad una Augmented Reality(AR) ancora più aumentata. Questa tesi si propone proprio di presentare l'ideazione, l'analisi, la progettazione e la prototipazione di un sistema distribuito situato a supporto della collaborazione basato su realtà aumentata. Lo studio di questa applicazione vuole mettere in luce molti aspetti innovativi e che ancora oggi non sono stati approfonditi né tanto meno sviluppati come API o forniti da librerie riguardo alla realtà aumentata e alle sue possibili applicazioni.

Relevância:

40.00% 40.00%

Publicador:

Resumo:

L'obiettivo della tesi è quello di sviluppare una piattaforma software a supporto della programmazione di applicazioni mobile per la rilevazione di parametri vitali. Questo caso di studio offre una ampia discussione su wearable computing, healthcare e prototipazione del wearable. La tesi va a descrivere tutte le fasi di analisi, modellazione e progettazione del sistema, evidenziando problematiche e soluzioni adottate.

Relevância:

40.00% 40.00%

Publicador:

Resumo:

L'obiettivo di questa tesi è lo sviluppo di due applicativi per l'azienda EBWorld. Il primo desktop, sviluppato in Java, è utilizzato per gestire la memoria interna di un dispositivo Android collegato al computer, installare l'applicazione mobile sviluppata a seguito ed esportare i progetti, creati dall'utente, durante l'utilizzo dell'applicativo mobile. Il secondo è un applicativo Android, utilizzato per la visualizzazione e l'interazione con dati georiferiti e permette all'utente di creare progetti inserendo ulteriori elementi georiferiti. Per la memorizzazione dei dati sono stati utilizzati diversi file XML e per la comunicazione tra l'applicativo Java ed un dispositivo Android, sono stati utilizzati la libreria JMTP in combinazione con i comandi ADB.

Relevância:

40.00% 40.00%

Publicador:

Resumo:

Cardiogoniometry (CGM), a spatiotemporal electrocardiologic 5-lead method with automated analysis, may be useful in primary healthcare for detecting coronary artery disease (CAD) at rest. Our aim was to systematically develop a stenosis-specific parameter set for global CAD detection. In 793 consecutively admitted patients with presumed non-acute CAD, CGM data were collected prior to elective coronary angiography and analyzed retrospectively. 658 patients fulfilled the inclusion criteria, 405 had CAD verified by coronary angiography; the 253 patients with normal coronary angiograms served as the non-CAD controls. Study patients--matched for age, BMI, and gender--were angiographically assigned to 8 stenosis-specific CAD categories or to the controls. One CGM parameter possessing significance (P < .05) and the best diagnostic accuracy was matched to one CAD category. The area under the ROC curve was .80 (global CAD versus controls). A set containing 8 stenosis-specific CGM parameters described variability of R vectors and R-T angles, spatial position and potential distribution of R/T vectors, and ST/T segment alterations. Our parameter set systematically combines CAD categories into an algorithm that detects CAD globally. Prospective validation in clinical studies is ongoing.