921 resultados para Easy Java Simulations
Resumo:
This thesis evaluates methods for obtaining high performance in applications running on the mobile Java platform. Based on the evaluated methods, an optimization was done to a Java extension API running on top the Symbian operating system. The API provides location-based services for mobile Java applications. As a part of this thesis, the JNI implementation in Symbian OS was also benchmarked. A benchmarking tool was implemented in the analysis phase in order to implement extensive performance test set. Based on the benchmark results, it was noted that the landmarks implementation of the API was performing very slowly with large amounts of data. The existing implementation proved to be very inconvenient for optimization because the early implementers did not take performance and design issues into consideration. A completely new architecture was implemented for the API in order to provide scalable landmark initialization and data extraction by using lazy initialization methods. Additionally, runtime memory consumption was also an important part of the optimization. The improvement proved to be very efficient based on the measurements after the optimization. Most of the common API use cases performed extremely well compared to the old implementation. Performance optimization is an important quality attribute of any piece of software especially in embedded mobile devices. Typically, projects get into trouble with performance because there are no clear performance targets and knowledge how to achieve them. Well-known guidelines and performance models help to achieve good overall performance in Java applications and programming interfaces.
Resumo:
Tämä insinöörityö tehtiin Sesca Logistics IT Oy:lle osana Tekesin VAMOS-hanketta. Logistiikan alan yritysten resursseja on kuluttanut puutteellinen ja hidas tietojen kulku toimiston ja ajoneuvon välillä. Perinteisesti ajoneuvosta tarvittujen tietojen kerääminen on tapahtunut kynällä paperille, ja tiedonkulku on perustunut puhelinyhteyteen toimiston ja ajoneuvon kuljettajan välillä. Työn tavoitteena oli toteuttaa automaattinen tietojenkeruu ajoneuvosta sekä ajoneuvon sisältämistä laitteista. Reaaliaikainen raskaan kaluston tiedonkeruujärjestelmä mahdollistaa ajoneuvoista automaattisesti kerättyjen tietojen helpon seurannan Internetin välityksellä. Työssä suunniteltiin raskaan kaluston ajoneuvotietokoneen sulautettu ohjelmisto sekä palvelinpään ohjelmisto ajoneuvosta lähetettyjen tietojen vastaanottamiseen. Työ aloitettiin arkkitehtuurisuunnittelulla, jonka tuloksena hahmotettiin järjestelmän olellisimmat komponentit sekä valittiin sopivimmat protokollat komponenttien väliseen tiedonsiirtoon Internet-verkossa. Ajoneuvotietokoneen ohjelmisto toteutettiin sulautettuna ohjelmistona Java ME -teknologialla, jossa hyödynnettiin UML-mallinnusta sekä tunnettuja suunnittelumalleja (design patterns). Palvelinpään tietojen vastaanottoohjelmisto toteutettiin Java SE -teknologialla. Työn lopputuloksena syntyi reaaliaikanen ja hajautettu tietojärjestelmä logistiikan alan tarpeisiin. Tietojärjestelmä kykenee tuottamaan reaalaikaista tietoa ajoneuvon sijainnista sekä ajoneuvon CAN-väylän sisältämistä tiedoista. Lisäksi tietojärjestelmä mahdollistaa tienhoitoajoneuvojen aurojen ja suolasirottimen seurannan. Tietojärjestelmän avulla yritykset voivat seurata kustannustehokkuuttaan ja saada nopeammin yksityiskohtaisempia tietoja ajoneuvojen tilasta.
Resumo:
Concurrent aims to be a different type of task distribution system compared to what MPI like system do. It adds a simple but powerful application abstraction layer to distribute the logic of an entire application onto a swarm of clusters holding similarities with volunteer computing systems. Traditional task distributed systems will just perform simple tasks onto the distributed system and wait for results. Concurrent goes one step further by letting the tasks and the application decide what to do. The programming paradigm is then totally async without any waits for results and based on notifications once a computation has been performed.
Resumo:
Technical developments have made it possible to analyze very low amounts of DNA. This has many advantages, but the drawback of this technological progress is that interpretation of the results becomes increasingly complex: the number of mixed DNA profiles increased relatively to single source DNA profiles and stochastic effects in the DNA profile, such as drop-in and drop-out, are more frequently observed. Moreover, the relevance of low template DNA material regarding the activities alleged is not as straightforward as it was a few years ago, when for example large quantities of blood were recovered. The possibility of secondary and tertiary transfer is now becoming an issue. The purpose of this research is twofold: first, to study the transfer of DNA from the handler and secondly, to observe if handlers would transfer DNA from persons closely connected to them. We chose to mimic cases where the offender would attack a person with a knife. As a first approach, we envisaged that the defense would not give an alternative explanation for the origin of the DNA. In our transfer experiments (4 donors, 16 experiments each, 64 traces), 3% of the traces were single DNA profiles. Most of the time, the DNA profile of the person handling the knife was present as the major profile: in 83% of the traces the major contributor profile corresponded to the stabber's DNA profile (in single stains and mixtures). Mixture with no clear major/minor fraction (12%) were observed. 5% of the traces were considered of insufficient quality (more than 3 contributors, presence of a few minor peaks). In that case, we considered that the stabber's DNA was absent. In our experiments, no traces allowed excluding the stabber, however it must be noted that precautions were taken to minimize background DNA as knives were cleaned before the experiments. DNA profiles of the stabber's colleagues were not observed. We hope that this study will allow for a better understanding of the transfer mechanism and of how to assess and describe results given activity level propositions. In this preliminary research, we have focused on the transfer of DNA on the hand of the person. Besides, more research is needed to assign the probability of the results given an alternative activity proposed by the defense, for instance when the source of the DNA is not contested, but that the activities are.
Resumo:
This thesis deals with a hardware accelerated Java virtual machine, named REALJava. The REALJava virtual machine is targeted for resource constrained embedded systems. The goal is to attain increased computational performance with reduced power consumption. While these objectives are often seen as trade-offs, in this context both of them can be attained simultaneously by using dedicated hardware. The target level of the computational performance of the REALJava virtual machine is initially set to be as fast as the currently available full custom ASIC Java processors. As a secondary goal all of the components of the virtual machine are designed so that the resulting system can be scaled to support multiple co-processor cores. The virtual machine is designed using the hardware/software co-design paradigm. The partitioning between the two domains is flexible, allowing customizations to the resulting system, for instance the floating point support can be omitted from the hardware in order to decrease the size of the co-processor core. The communication between the hardware and the software domains is encapsulated into modules. This allows the REALJava virtual machine to be easily integrated into any system, simply by redesigning the communication modules. Besides the virtual machine and the related co-processor architecture, several performance enhancing techniques are presented. These include techniques related to instruction folding, stack handling, method invocation, constant loading and control in time domain. The REALJava virtual machine is prototyped using three different FPGA platforms. The original pipeline structure is modified to suit the FPGA environment. The performance of the resulting Java virtual machine is evaluated against existing Java solutions in the embedded systems field. The results show that the goals are attained, both in terms of computational performance and power consumption. Especially the computational performance is evaluated thoroughly, and the results show that the REALJava is more than twice as fast as the fastest full custom ASIC Java processor. In addition to standard Java virtual machine benchmarks, several new Java applications are designed to both verify the results and broaden the spectrum of the tests.
Resumo:
We report a Lattice-Boltzmann scheme that accounts for adsorption and desorption in the calculation of mesoscale dynamical properties of tracers in media of arbitrary complexity. Lattice Boltzmann simulations made it possible to solve numerically the coupled Navier-Stokes equations of fluid dynamics and Nernst-Planck equations of electrokinetics in complex, heterogeneous media. With the moment propagation scheme, it became possible to extract the effective diffusion and dispersion coefficients of tracers, or solutes, of any charge, e.g., in porous media. Nevertheless, the dynamical properties of tracers depend on the tracer-surface affinity, which is not purely electrostatic and also includes a species-specific contribution. In order to capture this important feature, we introduce specific adsorption and desorption processes in a lattice Boltzmann scheme through a modified moment propagation algorithm, in which tracers may adsorb and desorb from surfaces through kinetic reaction rates. The method is validated on exact results for pure diffusion and diffusion-advection in Poiseuille flows in a simple geometry. We finally illustrate the importance of taking such processes into account in the time-dependent diffusion coefficient in a more complex porous medium.
Resumo:
Tämä insinöörityö kertoo Java 3D -ohjelmointirajapinnan perusteista ja sen käytöstä kolmiulotteisen tietokonegrafiikan luomisessa Java ohjelmointikielellä. Java 3D on rajapinta Java-ohjelmointikielelle, jonka avulla voidaan luoda ja käsitellä kolmiulotteista tietokonegrafiikkaa. Java 3D -rajapinnan avulla käsitellään kolmiulotteista tietokonegrafiikka erityisen maisemagraafimallin avulla. Maisemagraafi on binääripuuta muistuttava malli, joka mahdollistaa kolmiulotteisten kohteiden ja niille tapahtuvien muunnoksien käsittelyn hierarkisessa järjestyksessä. Työssä käydään läpi Java 3D -maisemagraafien luominen ja kolmiulotteisessa avaruudessa sijaitseville kappaleille tehtäviä perusoperaatioita kuten siirtoa ja kiertoa. Lisäksi käydään läpi myös erilaisia animoinnissa ja interaktiossa käytettäviä luokkia, joiden avulla ohjelmoija saa automatisoitua muunnoksia sekä käyttäjä voi antaa syötteitä hiirellä ja näppäimistöllä. Näiden lisäksi käydään läpi myös mallin valaistusta, varjoja, teksturointia sekä omien kolmiulotteisten mallien tuontia Java 3D -maailmaan. Opinnäytetyön yhteydessä on tehty myös kirjo erilaisia esimerkkejä, jotka ovat saatavilla verkkosivustolta osoitteessa http://www.pahvilaatikko.org/j3d lisäksi kopio verkkosivustosta löytyy myös opinnäytetyön mukana tulevalta cd-levyltä.
Resumo:
Trabajo fin de grado acerca de la creación de una aplicación en Java EE para la localización de mascotas mediante el uso de reconocimiento facial en dispositivos móviles.
Resumo:
Tässä työssä kehitetään yleiskäyttöinen palvelupyyntömalli, jonka avulla Lahden kaupungin Lahti Fenix –projektin Kuntalaistilijärjestelmän palveluväylän kautta voidaan kutsua järjestelmän tietokantatasoa tai muita palveluväylän avulla integroituja järjestelmiä. Työn tavoitteena oli suoraviivaistaa järjestelmäintegraatioihin liittyvien palveluiden kehittämistä suunnittelemalla sellainen palvelupyyntömuodostin, joka ei sisällä staattisia viittauksia jossakin tietyssä palvelussa käytettäviin luokkiin tai muihin ominaisuuksiin. Työssä hyödynnettiin Java-kielen kehittyneitä ominaisuuksia; reflektiivistä ohjelmointia, geneeristä ohjelmointia ja Java-virtuaalikoneen metodipinon lukemista. Tavoitteen saavuttamista mitattiin käyttäen avuksi McCaben syklomaattista kompleksisuutta ja metodeissa käytettyä rivimäärää. Työ aloitettiin joulukuussa 2008 ja saatiin valmiiksi helmikuussa 2009. Työn tuloksena syntyi toimiva, syklomaattiselta kompleksisuudeltaan matala ja helppokäyttöinen palvelukutsumuodostin.