994 resultados para Java,
Resumo:
<p>[ES] El trabajo consistir en abordar el desarrollo de un videojuego utilizando el lenguaje de programacin Java y una librera especializada en desarrollo de videojuegos. Crearemos un videojuego del gnero plataformas. Para ello utilizaremos una vista en dos dimensiones, el jugador controlar un personaje humanoide con el que deber atravesar una serie de niveles. Los niveles estarn agrupados en mundos con distintas temticas (nieve, espacio, etc.) y en ellos el jugador se encontrar con mltiples obstculos y enemigos. Los mundos se definen como agrupaciones de diez niveles en las que en el dcimo nivel de cada mundo (nivel final) el jugador se enfrenta a un enemigo con una complejidad mayor al resto. Un ejemplo de videojuego de plataformas similar al que se va a desarrollar sera: "Super Mario Bros.". La librera que utilizaremos permite el desarrollo de videojuegos de escritorio y para mviles utilizando el mismo cdigo. Es multiplataforma y soporta Windows, Linux, Mac OS X, Android, iOS, y navegadores con soporte WebGL.</p>
Resumo:
<p>[ES] El estndar Functional Mockup Interface (FMI), es un estndar abierto e independiente de cualquier aplicacin o herramienta que permite compartir modelos de sistemas dinmicos entre aplicaciones. Provee una interfaz escrita en lenguaje C que ha de ser implementada por las distintas herramientas exportadoras y pone en comn un conjunto de funciones para manipular los modelos. <br />JavaFMI es una herramienta que permite utilizar simulaciones que cumplen con el estndar FMI en aplicaciones Java de una manera muy simple, limpia y eficiente. Es un proyecto open source con licencia LGPL V2.1H y su cdigo fuente se encuentra disponible para ser clonado en la pagina del proyecto. El proyecto se encuentra alojado en www.bitbucket.org/siani/javafmi y cuenta con una pgina de bienvenida donde se explica como se usa la librera, una pgina para reportar incidencias o solicitar que se implementen nuevas historias y una pgina donde se listan todas las versiones que hay disponibles para descargar. JavaFMI se distribuye como un fichero zip que contiene el .jar con el cdigo compilado de la librera una carpeta lib con las dos dependencias que tiene con libreras externas y una copia de la licencia. Comparada con JFMI, con menos lineas de cdigo, una API limpia, expresiva y auto documentada, y un rendimiento que es un 66 % mejor, JavaFMI es objetivamente la mejor herramienta Java que existe para manipular FMUs de la versin 1.0 y 2.0 del estndar FMI.<br /><br /></p>
Resumo:
Process algebraic architectural description languages provide a formal means for modeling software systems and assessing their properties. In order to bridge the gap between system modeling and system im- plementation, in this thesis an approach is proposed for automatically generating multithreaded object-oriented code from process algebraic architectural descriptions, in a way that preserves under certain assumptions the properties proved at the architectural level. The approach is divided into three phases, which are illustrated by means of a running example based on an audio processing system. First, we develop an architecture-driven technique for thread coordination management, which is completely automated through a suitable package. Second, we address the translation of the algebraically-specified behavior of the individual software units into thread templates, which will have to be filled in by the software developer according to certain guidelines. Third, we discuss performance issues related to the suitability of synthesizing monitors rather than threads from software unit descriptions that satisfy specific constraints. In addition to the running example, we present two case studies about a video animation repainting system and the implementation of a leader election algorithm, in order to summarize the whole approach. The outcome of this thesis is the implementation of the proposed approach in a translator called PADL2Java and its integration in the architecture-centric verification tool TwoTowers.
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:
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 lutilizzo 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, dallaltro, i sintetizzatori vocali, se presenti, sono privi di inflessioni verbali. A questo proposito, durante il mio tirocinio di tesi magistrale presso lazienda CSP Innovazioni nelle ICT di Torino, ho sviluppato unapplicazione 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 questultimo 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). Lapplicazione 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, loperatore ha la possibilit di modificarle, eliminarle, variarne lordine, 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 dalloperatore coerentemente con le sue necessit. Al tocco dellimmagine 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 dellapplicazione sono la gratuit, la semplicit di utilizzo, la rapidit nella creazione e nellaggiornamento delle tabelle comunicative, la portabilit dello strumento e lutilizzo 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:
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 allinterno 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 linfluenza dei diversi input vulcanici quali gas e fluidi che risultano dallinterazione 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:
Allinterno 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 allinterno 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 leffettivo funzionamento, sono stati creati due semplici casi duso 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 dellelaborato, il lettore dovrebbe avere unidea 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 unanalisi delle funzionalit offerte, cos da fornire un giudizio critico per la scelta e la valutazione dei sistemi da utilizzare.
Resumo:
In Java 8, ultimo aggiornamento ufficiale del linguaggio Java, sono state introdotte alcune nuove funzionalit che permettono lintegrazione di alcuni meccanismi legati ai linguaggi dinamici o funzionali, come le espressioni lambda, lutilizzo degli stream e la dichiarazione di metodi statici allinterno di interfacce. Se si volesse installare unapplicazione 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, lorigine del problema e presenter una soluzione di backporting per unapplicazione esistente.
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.