944 resultados para JAVA (LINGUAGEM DE PROGRAMAÇÃO)


Relevância:

20.00% 20.00%

Publicador:

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

Relevância:

20.00% 20.00%

Publicador:

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.

Relevância:

20.00% 20.00%

Publicador:

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.

Relevância:

20.00% 20.00%

Publicador:

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.

Relevância:

20.00% 20.00%

Publicador:

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

Relevância:

20.00% 20.00%

Publicador:

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.

Relevância:

20.00% 20.00%

Publicador:

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.

Relevância:

20.00% 20.00%

Publicador:

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.

Relevância:

20.00% 20.00%

Publicador:

Resumo:

Java Enterprise Applications (JEAs) are large systems that integrate multiple technologies and programming languages. Transactions in JEAs simplify the development of code that deals with failure recovery and multi-user coordination by guaranteeing atomicity of sets of operations. The heterogeneous nature of JEAs, however, can obfuscate conceptual errors in the application code, and in particular can hide incorrect declarations of transaction scope. In this paper we present a technique to expose and analyze the application transaction scope in JEAs by merging and analyzing information from multiple sources. We also present several novel visualizations that aid in the analysis of transaction scope by highlighting anomalies in the specification of transactions and violations of architectural constraints. We have validated our approach on two versions of a large commercial case study.

Relevância:

20.00% 20.00%

Publicador:

Resumo:

After decades of development in programming languages and programming environments, Smalltalk is still one of few environments that provide advanced features and is still widely used in the industry. However, as Java became prevalent, the ability to call Java code from Smalltalk and vice versa becomes important. Traditional approaches to integrate the Java and Smalltalk languages are through low-level communication between separate Java and Smalltalk virtual machines. We are not aware of any attempt to execute and integrate the Java language directly in the Smalltalk environment. A direct integration allows for very tight and almost seamless integration of the languages and their objects within a single environment. Yet integration and language interoperability impose challenging issues related to method naming conventions, method overloading, exception handling and thread-locking mechanisms. In this paper we describe ways to overcome these challenges and to integrate Java into the Smalltalk environment. Using techniques described in this paper, the programmer can call Java code from Smalltalk using standard Smalltalk idioms while the semantics of each language remains preserved. We present STX:LIBJAVA - an implementation of Java virtual machine within Smalltalk/X - as a validation of our approach