17 resultados para Java GUI
em AMS Tesi di Laurea - Alm@DL - Università di Bologna
Resumo:
L'elaborato riguarda il progetto di un circuito di condizionamento del segnale per sistemi di misura reologica. Il circuito è stato studiato per essere interfacciato con un sistema di misura in fase di studio all'Università di Bologna, sebbene il suo utilizzo nei sistemi di analisi nel dominio delle frequenze sia del tutto generale. Il sistema di misura esistente compie un'analisi chimico-fisica di alimenti, generalmente liquidi, in modo da caratterizzare nel dominio delle frequenze la risposta elettrica ad uno stimolo sinusoidale a frequenza variabile. In particolare, il sistema genera due segnali X(f) ed Y(f). Tuttavia, in molti casi di interesse la dinamica del segnale risulta molto piccola rispetto al range massimo del segnale. Lo scopo del circuito di condizionamento è quello di aumentare la dinamica dei segnali X(f) ed Y(f) in modo da rendere i grafici più leggibili. Tale obiettivo è stato ottenuto mediante la progettazione di un opportuno stadio di amplificazione a guadagno programmabile. Il sistema è controllato da un microcontrollore dotato di interfaccia USB con cui comunica con un PC. Le misure effettuate mostrano che il circuito progettato è in grado di amplificare correttamente la dinamica dei segnali acquisiti nel range 0-VDD.
Resumo:
Abbiamo studiato ABSFJf, un linguaggio ad oggetti concorrente con tipi di dato futuro ed operazioni per acquisire e rilasciare il controllo delle risorse. I programmi ABSFJf possono manifestare lock (deadlock e livelock) a causa degli errori del programmatore. Per individuare staticamente possibili com- portamenti non voluti abbiamo studiato e implementato una tecnica per l'analisi dei lock basata sui contratti, che sono una descrizione astratta del comportamento dei metodi. I contratti si utilizzano per formare un automa i cui stati racchiudono informazioni di dipendenza di tipo chiamante-chiamato; vengono derivati automaticamente da un algoritmo di type inference e model- lati da un analizzatore che sfrutta la tecnica del punto
Resumo:
La tesi si propone di studiare il rapporto tra i due linguaggi di programmazione più diffusi per dispositivi portatili, e si concentra in particolare sul porting dal diffusissimo linguaggio Java all'emergente Objective-C. Strumenti come J2ObjC e Codename One saranno studiati e comparati.
Resumo:
TuCSoN (Tuple Centres Spread over the Network) è un modello di coordinazione per processi distribuiti o agenti autonomi. Il modello di TuCSoN viene implementato come un middleware distribuito Java-based, distribuito Open Source sotto la licenza LGPL tramite Googlecode. Il fatto che lo stesso sia Open Source e Java-based ha reso possibile il suo porting su Android, rendendo il noto sistema operativo di Google un possibile agente partecipante ad un sistema TuCSoN. La tesi descrive il percorso che ha portato dallo studio dell'infrastruttura TuCSoN e del sistema Android alla realizzazione dell'applicazione Android, rendendo possibile a qualsiasi dispositivo Android di partecipare ad un sistema TuCSoN. Nel particolare l'obiettivo finale dell'applicazione Android, e di questa tesi, è rendere lo smartphone un nodo TuCSoN funzionante. La tesi non si pone l'obiettivo di analizzare ed esplorare le funzionalità e le possibilitàa delle due tecnologie principali trattate (Android e TuCSoN) nel loro singolo, quanto quello di esplorare le criticità che un porting di questo tipo comporta, quali ad esempio le differenze intrinseche fra la JVM e la DalvikVM e come aggirarle, o le funzionalità di Android e come utilizzarle allo scopo di realizzare un applicazione che funga da server ad una infra- struttura distribuita, oppure le differenze a livello di gestione della GUI fra Android e plain-java, e di analizzare le soluzioni trovate per risolvere (o dove non era possibile risolvere evitare) tali problemi al fine del raggiungimento dell'obiettivo che ci si era prefissati.
Resumo:
Nella maggior parte dei casi, i soggetti affetti da Disturbo dello Spettro Autistico hanno un deficit di comunicazione, sia esso verbale o non verbale. Nonostante, ad oggi, non esista una cura per questo disturbo, una diagnosi precoce entro il terzo anno di vita del soggetto e un programma educativo coerente con le necessità del paziente, permettono al bambino con autismo di raggiungere quantomeno le abilità comunicative di base. Recenti studi hanno dimostrato che l’utilizzo di Information and Communication Technology (ICT) nel trattamento di soggetti affetti da Disturbo dello Spettro Autistico può portare molti benefici, dato che, da un lato, computer, tablet e smartphone sono strumenti strutturati e prevedibili e, dall’altro, i sintetizzatori vocali, se presenti, sono privi di inflessioni verbali. A questo proposito, durante il mio tirocinio di tesi magistrale presso l’azienda “CSP – Innovazioni nelle ICT” di Torino, ho sviluppato un’applicazione per tablet Android che permette a psicologi, educatori, logopedisti, insegnanti e genitori di creare tabelle comunicative circostanziate alle esigenze del soggetto e che consente a quest’ultimo di utilizzare questo strumento come efficace mediatore sociale. Questo software si va a inserire in un progetto più ampio, denominato “tools4Autism”, nato dalla collaborazione tra il centro di ricerca di cui sopra, la “Fondazione ASPHI Onlus – ICT per migliorare la qualità di vita delle persone con disabilità” e il “Centro Autismo e Sindrome di Asperger” di Mondovì (CN). L’applicazione prevede principalmente due metodi di utilizzo: il primo, definito “modalità operatore”, è un editor che permette di creare tabelle composte da un numero variabile di immagini che possono essere pittogrammi, fotografie personali, disegni del bambino e possono essere accompagnate o meno da un testo. Una volta create le tabelle, l’operatore ha la possibilità di modificarle, eliminarle, variarne l’ordine, esportarle su altri dispositivi o importare tabelle precedentemente create. Il secondo metodo di utilizzo, definito “modalità utente”, permette al soggetto affetto da Disturbo Autistico di comunicare con altre persone sfruttando le tabelle create dall’operatore coerentemente con le sue necessità. Al tocco dell’immagine da parte del bambino, essa viene evidenziata tramite un contorno rosso e, se abilitato, il sintetizzatore vocale riproduce il testo associato a tale immagine. I principali fattori di innovazione dell’applicazione sono la gratuità, la semplicità di utilizzo, la rapidità nella creazione e nell’aggiornamento delle tabelle comunicative, la portabilità dello strumento e l’utilizzo della sintesi vocale. Il software sarà sperimentato presso il “Centro Autismo e Sindrome di Asperger”, centro di neuropsichiatria infantile specializzato nello studio del Disturbo Autistico. Tale sperimentazione si pone come obiettivo quello di verificare gli effettivi miglioramenti nella velocità e nella qualità di apprendimento delle fondamentali abilità comunicative.
Resumo:
EUMETSAT (www.eumetsat.int) e’ l’agenzia europea per operazioni su satelliti per monitorare clima, meteo e ambiente terrestre. Dal centro operativo situato a Darmstadt (Germania), si controllano satelliti meteorologici su orbite geostazionarie e polari che raccolgono dati per l’osservazione dell’atmosfera, degli oceani e della superficie terrestre per un servizio continuo di 24/7. Un sistema di monitoraggio centralizzato per programmi diversi all’interno dell’ambiente operazionale di EUMETSAT, e’ dato da GEMS (Generic Event Monitoring System). Il software garantisce il controllo di diverse piattaforme, cross-monitoring di diverse sezioni operative, ed ha le caratteristiche per potere essere esteso a future missioni. L’attuale versione della GEMS MMI (Multi Media Interface), v. 3.6, utilizza standard Java Server Pages (JSP) e fa uso pesante di codici Java; utilizza inoltre files ASCII per filtri e display dei dati. Conseguenza diretta e’ ad esempio, il fatto che le informazioni non sono automaticamente aggiornate, ma hanno bisogno di ricaricare la pagina. Ulteriori inputs per una nuova versione della GEMS MMI vengono da diversi comportamenti anomali riportati durante l’uso quotidiano del software. La tesi si concentra sulla definizione di nuovi requisiti per una nuova versione della GEMS MMI (v. 4.4) da parte della divisione ingegneristica e di manutenzione di operazioni di EUMETSAT. Per le attivita’ di supporto, i test sono stati condotti presso Solenix. Il nuovo software permettera’ una migliore applicazione web, con tempi di risposta piu’ rapidi, aggiornamento delle informazioni automatico, utilizzo totale del database di GEMS e le capacita’ di filtri, insieme ad applicazioni per telefoni cellulari per il supporto delle attivita’ di reperibilita’. La nuova versione di GEMS avra’ una nuova Graphical User Interface (GUI) che utilizza tecnologie moderne. Per un ambiente di operazioni come e’ quello di EUMETSAT, dove l’affidabilita’ delle tecnologie e la longevita’ dell’approccio scelto sono di vitale importanza, non tutti gli attuali strumenti a disposizione sono adatti e hanno bisogno di essere migliorati. Allo stesso tempo, un’ interfaccia moderna, in termini di visual design, interattivita’ e funzionalita’, e’ importante per la nuova GEMS MMI.
Resumo:
Grazie al progresso dell'elettronica, ai giorni nostri, è possibile costruire dispositivi elettronici molto piccoli, che col passare del tempo lo sono sempre più. Questo ci permette di poter imboccare nuove strade nel mondo dell'informatica, sfruttando proprio questo fatto. Le dimensioni ridotte dei dispositivi in commercio, come sensori, attuatori, tag e tanto altro, sono particolarmente adatte a nuovi scenari applicativi. Internet of Things è una visione in cui Internet viene esteso alle cose. Facendo largo uso di dispositivi come sensori e tag è possibile realizzare sistemi intelligenti che possono avere riscontri positivi nella vita di tutti i giorni. Tracciare la posizione degli oggetti, monitorare pazienti da remoto, rilevare dati sull'ambiente per realizzare sistemi automatici (ad esempio regolare automaticamente la luce o la temperatura di una stanza) sono solo alcuni esempi. Internet of Things è la naturale evoluzione di Internet, ed è destinato a cambiare radicalmente la nostra vita futura, poichè la tecnologia sarà sempre più parte integrante della nostra vita, aumentando sempre più il nostro benessere e riducendo sempre più il numero delle azioni quotidiane da compiere. Sempre più sono middleware, le piattaforme e i sistemi operativi che nascono per cercare di eliminare o ridurre le problematiche relative allo sviluppo di sistemi di questo genere, e lo scopo di questa tesi è proprio sottolinearne l'importanza e di analizzare gli aspetti che questi middleware devono affrontare. La tesi è strutturata in questo modo: nel capitolo uno verrà fatta una introduzione a Internet of Things, analizzando alcuni degli innumerevoli scenari applicativi che ne derivano, insieme però alle inevitabili problematiche di tipo tecnologico e sociale. Nel secondo capitolo verranno illustrate le tecnologie abilitanti di Internet of Things, grazie alle quali è possibile realizzare sistemi intelligenti. Nel terzo capitolo verranno analizzati gli aspetti relativi ai middleware, sottolineandone l'importanza e prestando attenzione alle funzioni che devono svolgere, il tutto riportando anche degli esempi di middleware esistenti. Nel quarto capitolo verrà approfondito il middleware Java Embedded di Oracle.
Resumo:
I laghi vulcanici sono corpi idrici che si posizionano all’interno di crateri originatisi da eruzioni idrotermali, idrovulcaniche o magmatiche. Dato il particolare ambiente di formazione di questi bacini, le condizioni fisico-chimiche delle loro acque riflettono l’influenza dei diversi “input” vulcanici quali gas e fluidi che risultano dall’interazione tra le acque sotterranee e i fluidi rilasciati da un corpo magmatico in profondità. Il presente lavoro consiste nella caratterizzazione geochimica delle acque del lago craterico del Kawah Ijen e nella definizione dei principali processi che la controllano, come i processi di diluizione, degassamento e precipitazione di fasi minerali. Tale definizione è la base conoscitiva necessaria per una più realistica interpretazione delle eventuali variazioni geochimiche spazio-temporali
Resumo:
All’interno di questa tesi è stata affrontata la tematica della realizzazione di comuni- cazioni sicure, in modo da ottenere l'indipendenza di queste ultime dal canale utilizzato, con l'ausilio di strumenti in grado di fornire supporto per la creazione di applicativi orientati allo scambio di dati e messaggi, quali i linguaggi di programmazione Java e Jolie, il quale è basato sul precedente. Sono state inizialmente analizzate le principali caratteristiche e le problematiche più importanti che è necessario dover risolvere in modo da poter arrivare al risultato desiderato. Successivamente, è stato dato un ampio sguardo ad una delle scienze più applicate per risolvere i problemi tipici che affliggono questo tipo di comunicazioni, la crittografia. Sono stati elencati gli strumenti messi a disposizione ed il loro funzionamento. La crittografia viene poi applicata al protocollo SSL, il quale rappresenta la soluzione maggiormente diffusa, sia sul Web che in altri ambiti, per proteggere le informazioni personali che transitano tra gli end-point di una comunicazione. Sono state elencate le principali caratteristiche, alcuni cenni riguardanti la nascita e lo sviluppo ed è stato descritto il funzionamento di questo protocollo, soprattutto per quanto riguarda la sua fase preliminare, che è una delle parti che lo caratterizzano maggiormente. In seguito, è stata analizzata la soluzione fornita all’interno delle librerie del linguaggio Java per realizzare comunicazioni indipendenti dal mezzo di comunicazione che soddisfino le politiche dettate dal protocollo SSL. Questa soluzione è rappresentata dalla classe SSLEngine, che è quindi stata esaminata, a partire dal ciclo di vita e dall'inizializzazione, fino ad arrivare all'interazione all'interno di un applicazione. Quanto esplorato in precedenza viene poi applicato a Jolie, un linguaggio di programmazione basato sulle comunicazioni e sviluppato in Java, all'interno dell'Università di Bologna. Dopo uno sguardo generale alle sue caratteristiche è stata approfondita la gestione dei protocolli, e di conseguenza, l'introduzione di SSL all'interno di essi, realizzata tramite la classe SSLProtocol. Questa classe contiene ed implementa i concetti analizzati nel capitolo riguardante Java, adattandoli all'architettura ed alla progettazione pensata appositamente per Jolie; è stata quindi effettuata un'analisi del codice e della gestione della classe SSLEngine per realizzare comunicazioni sicure. Infine, per verificare l’effettivo funzionamento, sono stati creati due semplici casi d’uso per poter sfruttare i vantaggi offerti da Jolie, il quale è particolarmente indicato per la creazione di applicazioni orientate ai servizi.
Resumo:
La tesi ha lo scopo di indagare le tecnologie disponibili per la realizzazione di linguaggi di programmazione e linguaggi domain specific in ambiente Java. In particolare, vengono proposti e analizzati tre strumenti presenti sul mercato: JavaCC, ANTLR e Xtext. Al termine dell’elaborato, il lettore dovrebbe avere un’idea generale dei principali meccanismi e sistemi utilizzati (come lexer, parser, AST, parse trees, etc.), oltre che del funzionamento dei tre tools presentati. Inoltre, si vogliono individuare vantaggi e svantaggi di ciascuno strumento attraverso un’analisi delle funzionalità offerte, così da fornire un giudizio critico per la scelta e la valutazione dei sistemi da utilizzare.
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.
Resumo:
In Java 8, ultimo aggiornamento ufficiale del linguaggio Java, sono state introdotte alcune nuove funzionalità che permettono l’integrazione di alcuni meccanismi legati ai linguaggi dinamici o funzionali, come le espressioni lambda, l’utilizzo degli stream e la dichiarazione di metodi statici all’interno di interfacce. Se si volesse installare un’applicazione scritta in Java 8 su Android, Dalvik VM, la JVM in esso presente, fallirà il processo di traduzione del bytecode. In questa tesi quindi esplorerò, sia ad alto livello che a basso livello, l’origine del problema e presenterò una soluzione di backporting per un’applicazione esistente.