961 resultados para API Staph
Resumo:
Studio ed analisi delle principali tecniche in ambito di Social Data Analysis. Progettazione e Realizzazione di una soluzione software implementata con linguaggio Java in ambiente Eclipse. Il software realizzato permette di integrare differenti servizi di API REST, per l'estrazione di dati sociali da Twitter, la loro memorizzazione in un database non-relazionale (realizzato con MongoDB), e la loro gestione. Inoltre permette di effettuare operazioni di classificazione di topic, e di analizzare dati complessivi sulle collection di dati estratti. Infine permette di visualizzare un albero delle "ricondivisioni", partendo da singoli tweet selezionati, ed una mappa geo-localizzata, contenente gli utenti coinvolti nella catena di ricondivisioni, e i relativi archi di "retweet".
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.
Resumo:
La tesi è strutturata in tre macro capitoli: • e-learning: questo capitolo tratta i tre principi su cui è basato questo progetto quali e-learning, m-learning ed incidental learning descrivendo l’evoluzione di questi tre concetti e analizzando ognuno di essi nel dettaglio partendo dal principio, l’e-learning. Verranno poi presentati dei progetti inerenti a queste tipologie di apprendimento per fare in modo di dare un’idea più chiara di questi concetti. • Specifiche di progetto: in questo secondo capitolo vengono descritte, ad alto livello, le tecnologie utilizzate per lo sviluppo di questo progetto, descrivendo, per ognuna, le caratteristiche e le applicazioni che essa ha avuto all’interno del progetto. • Implementazione: nel terzo e ultimo capitolo verranno descritte, e motivate, le scelte implementative adottate per sviluppare l’applicazione iLocalApp e verranno mostrati scorci di codice per rendere più chiaro l’utilizzo delle varie API e tecnologie all’interno del progetto.
Resumo:
L’argomento centrale della tesi sono i centri sportivi, l’applicazione permette quindi all’utente di cercare un centro sportivo per nome, per città o per provincia. Consente inoltre di visualizzare la disponibilità per ogni campo offerto dalle strutture ed eventualmente di effettuare una prenotazione. Il centro sportivo renderà disponibili informazioni altrimenti difficilmente reperibili come gli orari, il numero telefonico, l’indirizzo, ecc.. Il progetto si compone di una parte front end e una parte back end. Il front consiste in un’applicazione android nativo (sviluppata in java). Il back-end invece vede un applicativo basato su ASP.NET Web API 2, con db Entity Framework Code First. Per la gestione degli user è stato scelto il framework ASP.NET Identity 2.1.
Resumo:
Obiettivo di questa tesi è l'analisi e l'approfondimento di una tecnologia di nuova generazione che prende il nome di iBeacon. Basata sulla localizzazione di prossimità (wireless) a bassi consumi energetici e sviluppata da Apple, l'iBeacon sfrutta il protocollo Bluetooth Low Energy con il quale riesce ad utilizzare al meglio l'energia, permettendo alle batterie dei dispositivi che lo implementano di durare molto più a lungo. In questa argomentazione, vengono elencate e descritte alcune tecniche di comunicazione wireless a medio-corto raggio (Wi-Fi, Infrarosso, RFID, NFC, Bluetooth, BLE), che utilizzano lo scambio di informazioni senza fili, descrivendone una breve storia, dalla loro evoluzione nel tempo e nei modi, ad alcune caratteristiche di utilizzo. L'argomentazione poi focalizzerà l'attenzione sui metodi di localizzazione utilizzati dall'iBeacon, fornendone le funzionalità e le caratteristiche principali di questa nuova tecnologia e discutendone i vantaggi, i limiti tecnologici e di sviluppo del protocollo, fino a delineare alcune soluzioni per quanto riguarda le soglie di sicurezza e di privacy. L'analisi poi confronterà l'iBeacon con i maggiori antagonisti che utilizzano questa tecnica di microgeolocalizzazione (NFC, EddyStone). Si cercherà inoltre di delineare in maniera più dettagliata le specifiche tecniche che costituiscono questa nuova tecnologia di prossimità, dal protocollo di comunicazione alla componentistica hardware. Successivamente verrà descritto come un dispositivo iOS si interfaccia con un iBeacon, delineandone le API e il setup e mostrando i diversi passaggi per la creazione di un prototipo di applicazione. Si cercherà infine di pianificare, progettare e costruire una rete con iBeacon. Come ultima analisi, si prenderà in esame la relazione tra l'iBeacon e l'Internet of Things (IoT), e gli sviluppi che potrà portare all'evoluzione del Marketing di Prossimità, mostrando un esempio concreto di utilizzo efficace di questa innovativa tecnologia (EXPO 2015).
Resumo:
In questa tesi inizialmente ci si è occupati di definire ed approfondire le caratteristiche della tecnologia Wi-Fi Direct, illustrandone il funzionamento, l’architettura e gli scenari di utilizzo. Successivamente è stata sviluppata un’applicazione basata su tale tecnologia, con lo scopo di fornire un servizio di disseminazione di messaggi d’aiuto in situazioni di emergenza o di catastrofi naturali, nelle quali la rete cellulare viene inevitabilmente meno. In queste occasioni c’è il bisogno di avere uno strumento che permetta di comunicare in maniera facile, veloce e che sia alla portata di tutti. Caratteristiche e qualità proprie di uno smartphone, dispositivo che oggigiorno è presente nelle tasche di ognuno di noi. L’obiettivo finale infatti, sarebbe quello di creare un applicativo che possa idealmente essere preinstallato in ogni nostro dispositivo, un servizio che sia diffuso, compreso ed utilizzabile istantaneamente da tutti, in modo tale da essere una sicurezza e un aiuto di vitale importanza in situazioni di pericolo. Per lo sviluppo di una tale applicazione ci si è basati sul sistema operativo Android, che è il più diffuso tra gli utenti di tutto il mondo. Nel primo capitolo ci si è occupati di di presentare ed approfondire la tecnologia Wi-Fi Direct, definendone gli ambiti generali di utilizzo e le problematiche che vengono affrontate. Nel secondo capitolo si prosegue con la presentazione della tecnologia in ambiente Android, descrivendo le API fornite da Google per l’utilizzo del servizio in questione. Nel terzo capitolo, dopo un’analisi dei progetti che coinvolgono tale tecnologia, viene illustrata l’applicazione creata, le sue funzionalità e caratteristiche ed eventuali casi d’uso. Nel quarto capitolo è stata inserita la parte più tecnica, dove illustro i problemi incontrati e le modalità di risoluzione degli stessi, insieme alle strutture ed agli oggetti messi a disposizione da Java che sono stati utilizzati. Infine nel capitolo conclusivo è stato fatto un riepilogo del lavoro svolto, indicando le difficoltà incontrate ed eventuali possibili miglioramenti e sviluppi futuri del mio progetto.
Resumo:
Homeorhetic Assemblies indaga le potenzialità tettoniche ed architettoniche derivanti dallo studio dei sistemi biologici decentralizzati, dei loro comportamenti e delle relazioni dinamiche con la colonia in termini di processi adattativi e costruttivi continui nel tempo. La ragione di questo interesse è radicata nei principi dell’ecologia applicata al design ed alle tecnologie di fabbricazione contemporanee, che vanno al di là della mera imitazione formale: ci si è quindi chiesto come raggiungere una spazialità complessa ed articolata, omogeneità di prestazioni ed una struttura continua caratterizzata da molti elementi aventi le stesse caratteristiche di forma e materiale. L’ecologia è lo studio di un insieme di economie, ovvero rapporti di scambio, tra un organismo ed il suo ambiente e l’efficenza dei pattern distributivi che derivano da queste relazioni sono fondamentali al fine del successo evolutivo del sistema stesso. I sistemi su cui ci si è concentrati sono caratterizzati dalla capacità di creare strutture a buon mercato (con l’uso di istruzioni semplici ed un unico materiale) e ad elevato grado di complessità ed efficienza, armonizzando l’aspetto formale con l’organizzazione materica e fisiologica. Il modello di comportamento considerato riguarda le dinamiche alla base della creazione degli alveari naturali creati dalle api millifere. Queste caratteristiche sono state codificate nella programmazione di un sistema multi agente composto da agenti autonomi in grado di interagire in un ambiente eterogeneo e capaci di depositare selettivamente elementi in una struttura composta da springs e particles, periodicamente stabilizzata ed ottimizzata. In un tale sistema, a priori sono note solo le relazioni locali per i singoli agenti ed il comportamento strutturale generale, mentre gli oggetti e gli eventi emergono in maniera non predeterminata come risultato di queste interazioni nello spazio e nel tempo. I risultati appaiono estremamente complessi ed eterogenei nella loro organizzazione spaziale, pur emergendo un set di elementi identificabili nella loro specifica singolarità (come ad esempio superfici, colonne, capriate etc...) ma che generano strutture continue, e creano grande differenziazione di densità e di disposizione dei singoli elementi all’interno della struttura. La ridondanza strutturale ottenuta è una scelta deliberata e permessa dall’automatizzazione della fase di costruzione attraverso la programmazione di robot, tramite i quali si intende realizzare un prototipo fisico delle strutture ottenute.
Resumo:
Nell'ambito dello sviluppo software, la concorrenza è sempre stata vista come la strada del futuro. Tuttavia, questa è stata spesso ignorata a causa del continuo sviluppo dell'hardware che ha permesso agli sviluppatori di continuare a scrivere software sequenziale senza doversi preoccupare delle performance. In un'era in cui le nuove architetture hardware presentano processori multi-core, tutto questo non è più possibile. L'obiettivo di questa tesi è stato quello di considerare il Modello ad Attori come valida alternativa allo sviluppo di applicazioni in ambito mobile e quindi di progettare, sviluppare e distribuire un nuovo framework sulla base di tale modello. Il lavoro parte quindi da una panoramica di Swift, il nuovo linguaggio di programmazione presentato da Apple al WWDC 2014, in cui vengono analizzati nel dettaglio i meccanismi che abilitano alla concorrenza. Successivamente viene descritto il modello ad attori in termini di: attori, proprietà, comunicazione e sincronizzazione. Segue poi un'analisi delle principali implementazioni di questo modello, tra cui: Scala, Erlang ed Akka; quest'ultimo rappresenta la base su cui è stato ispirato il lavoro di progettazione e sviluppo del framework Actor Kit. Il quarto capitolo descrive tutti i concetti, le idee e i principi su cui il framework Actor Kit è stato progettato e sviluppato. Infine, l'ultimo capitolo presenta l'utilizzo del framework in due casi comuni della programmazione mobile: 1) Acquisizione dati da Web API e visualizzazione sull'interfaccia utente. 2) Acquisizione dati dai sensori del dispositivo. In conclusione Actor Kit abilita la progettazione e lo sviluppo di applicazioni secondo un approccio del tutto nuovo nell'ambito mobile. Un possibile sviluppo futuro potrebbe essere l'estensione del framework con attori che mappino i framework standard di Apple; proprio per questo sarà reso pubblico con la speranza che altri sviluppatori possano evolverlo e renderlo ancora più completo e performante.
Resumo:
I Social Network sono una fonte di informazioni di natura spontanea, non guidata, provviste di posizione spaziale e prodotte in tempo reale. Il Social Sensing si basa sull'idea che gruppi di persone possano fornire informazioni, su eventi che accadono nelle loro vicinanze, simili a quelle ottenibili da sensori. La letteratura in merito all’utilizzo dei Social Media per il rilevamento di eventi catastrofici mostra una struttura comune: acquisizione, filtraggio e classificazione dei dati. La piattaforma usata, nella maggior parte dei lavori e da noi, è Twitter. Proponiamo un sistema di rilevamento di eventi per l’Emilia Romagna, tramite l’analisi di tweet geolocalizzati. Per l’acquisizione dei dati abbiamo utilizzato le Twitter API. Abbiamo effettuato due passaggi per il filtraggio dei tweet. Primo, selezione degli account di provenienza dei tweet, se non sono personali è improbabile che siano usati per dare informazioni e non vanno tenuti in considerazione. Secondo, il contenuto dei tweet, vengono scartati se presentano termini scurrili, parole come “buon giorno” e un numero di tag, riferiti ad altri utenti, superiore a quattro. La rilevazione di un valore anomalo rispetto all'insieme delle osservazioni che stiamo considerando (outlier), è il primo indice di un evento eccezionale. Per l’analisi siamo ricorsi all’outlier detection come indice di rilevamento di un evento. Fatta questa prima analisi si controlla che ci sia un effettivo picco di tweet in una zona della regione. Durante il periodo di attività non sono accaduti eventi straordinari, abbiamo quindi simulato un avvenimento per testare l'efficacia del nostro sistema. La maggior difficoltà è che i dati geolocalizzati sono in numero molto esiguo, è quindi difficile l'identificazione dei picchi. Per migliorare il sistema si propone: il passaggio a streaming dei tweet e un aumento della velocità di filtraggio; la automatizzazione dei filtri; l'implementazione di un modulo finale che operi a livello del testo.
Resumo:
La tesi è stata incentrata sul gioco «Indovina chi?» per l’identificazione da parte del robot Nao di un personaggio tramite la sua descrizione. In particolare la descrizione avviene tramite domande e risposte L’obiettivo della tesi è la progettazione di un sistema in grado di capire ed elaborare dei dati comunicati usando un sottoinsieme del linguaggio naturale, estrapolarne le informazioni chiave e ottenere un riscontro con informazioni date in precedenza. Si è quindi programmato il robot Nao in modo che sia in grado di giocare una partita di «Indovina chi?» contro un umano comunicando tramite il linguaggio naturale. Sono state implementate regole di estrazione e categorizzazione per la comprensione del testo utilizzando Cogito, una tecnologia brevettata dall'azienda Expert System. In questo modo il robot è in grado di capire le risposte e rispondere alle domande formulate dall'umano mediante il linguaggio naturale. Per il riconoscimento vocale è stata utilizzata l'API di Google e PyAudio per l'utilizzo del microfono. Il programma è stato implementato in Python e i dati dei personaggi sono memorizzati in un database che viene interrogato e modificato dal robot. L'algoritmo del gioco si basa su calcoli probabilistici di vittoria del robot e sulla scelta delle domande da proporre in base alle risposte precedentemente ricevute dall'umano. Le regole semantiche realizzate danno la possibilità al giocatore di formulare frasi utilizzando il linguaggio naturale, inoltre il robot è in grado di distinguere le informazioni che riguardano il personaggio da indovinare senza farsi ingannare. La percentuale di vittoria del robot ottenuta giocando 20 partite è stata del 50%. Il data base è stato sviluppato in modo da poter realizzare un identikit completo di una persona, oltre a quello dei personaggi del gioco. È quindi possibile ampliare il progetto per altri scopi, oltre a quello del gioco, nel campo dell'identificazione.
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.
Resumo:
La tesi illustra le funzionalita e l'architettura di Node.js elencando e analizzando le caratteristiche che lo rendono un framework vincente nella sfida che il web attuale pone. La tesi comprende l'analisi e la descrizione del lavoro svolto per creare una libreria HTTP/ File system, integrata nel sistema di sviluppo cloud proprietario: Instant Developer , funzionante sia su Node.JS che sui browser che supportano appieno le nuove API File system di HTML 5. Particolare attenzione viene riservata per la descrizione della struttura della libreria, pensata per permettere all'utente dell'IDE di utilizzarla indifferentemente su server/browser senza preoccuparsi di chiamare metodi diversi. Fs.js permette di operare con file/cartelle, richieste HTTP in modo semplificato rispetto alle API Ufficiali dei rispettivi ambienti.
Resumo:
In questa tesi viene analizzato il concetto di mobilità elettrica e viene proposta un’applicazione per la gestione della propria auto elettrica. L'applicazione in questione si pone come scopo l’agevolazione delle interazioni dell’utente con l’auto a distanza. Analizzando le caratteristiche principali dell’auto elettrica, ne vengono delineati i benefici e le limitazioni dell’autonomia, per la quale si suggerisce soluzione tramite regole da adottare alla guida. Attraverso la comparazione con le tipologie di applicazioni esistenti per la mobilità si decide che genere di approccio adottare nella realizzazione della nostra applicazione. Seguono la descrizione delle tecnologie di sviluppo del progetto sotto forma di applicazione ibrida, tra le quali ci si sofferma sull'utilizzo di linguaggi di markup, fogli di stile e JavaScript lato client. Di quest’ultimo ne vengono elencate le API utilizzate, in particolare Google Maps e Google Charts. Successivamente si introduce il concetto di simulazione server ed i metodi e le tecniche adottate per renderlo effettivo. Infine vengono spiegate le scelte implementative nonché i metodi e le decisioni presi in ambito di sviluppo per realizzare al meglio l’applicazione, fornendo una presentazione dettagliata delle sue funzionalità.
Resumo:
Questa tesi ha l'obiettivo di mostrare i fondamenti per lo sviluppo di un sistema di navigazione per caschi motociclistici in realtà aumentata. L'applicazione implementata sfrutta i concetti principali di realtà aumentata sensor based, cioè basata su geo-localizzazione, al fine di fornire i dati di interesse all'interno del campo visivo del guidatore. Lo scopo del progetto è di realizzare un sistema in grado di interagire con l'utente attraverso i suoi movimenti, e rendere fruibili le informazioni riguardanti la navigazione all'interno di un casco. Non sono pochi i vantaggi che questi strumenti potrebbero introdurre nella guida veicolare, anche in ambito di sicurezza stradale. Infatti, in questo modo, l'utilizzatore del casco non sarà più costretto a distrarsi dalla guida per consultare le informazioni del percorso da seguire, ma avrà la possibilità di vederle proiettate direttamente all'interno del suo campo visivo. Tutte le informazioni che oggi siamo abituati a ricevere da un comune navigatore satellitare (o dal nostro smartphone), saranno disponibili nella visione reale del mondo che ci circonda in modo rapido e intuitivo. Si è scelto di utilizzare Android come sistema operativo per lo sviluppo del sistema, utilizzando la libreria droidAR per la realtà aumentata.
Resumo:
.NET Compiler Platform è un compilatore per i linguaggi C# e Visual Basic realizzato da Microsoft. L’innovazione apportata da tale strumento è l’introduzione di API che permettono di accedere al compilatore; in particolare, è possibile accedere alle strutture dati utilizzate al suo interno, quali simboli o AST, e controllare e/o modificare il processo di compilazione. Una parte di questo progetto, chiamato anche progetto Roslyn, è focalizzata sull’introduzione dello scripting per il linguaggio C#. In questa trattazione si è interessati a sperimentare le possibilità offerte da tale strumento nel campo dell’esecuzione dinamica di frammenti di codice. Gli obiettivi imposti si collocano nell’ambito della re-ingegnerizzazione e dello sviluppo di software. Tali obiettivi sono la re-implementazione dei filtri di selezione contenuti nel framework Phoenix, utilizzando le API di Roslyn per migliorarne le prestazioni, e la progettazione di un componente che realizzi una console per lo scripting C# dotata della possibilità di riferire dinamicamente librerie. Le API di compilazione si rivelano essere non propriamente adatte all’esecuzione immediata di frammenti di codice, nonostante ciò, è possibile, appoggiandosi alla reflection, utilizzarle per giungere a questo risultato. Lo scripting, invece, si rivela uno strumento dalle grandi potenzialità nel suddetto ambito.