• Refine Query
  • Source
  • Publication year
  • to
  • Language
  • 660
  • 348
  • 294
  • 174
  • 94
  • 74
  • 31
  • 26
  • 23
  • 23
  • 17
  • 14
  • 12
  • 11
  • 9
  • Tagged with
  • 1993
  • 549
  • 292
  • 266
  • 235
  • 223
  • 192
  • 190
  • 184
  • 178
  • 174
  • 174
  • 163
  • 141
  • 124
  • About
  • The Global ETD Search service is a free service for researchers to find electronic theses and dissertations. This service is provided by the Networked Digital Library of Theses and Dissertations.
    Our metadata is collected from universities around the world. If you manage a university/consortium/country archive and want to be added, details can be found on the NDLTD website.
811

Persistent memory and orthogonal persistence : a persistent heap design and its implementation for the Java virtual machine / Mem?ria persistente e persist?ncia ortogonal : um projeto heap persistente e sua implementa??o para a m?quina virtual Java

Perez, Taciano Dreckmann 03 May 2017 (has links)
Submitted by Caroline Xavier (caroline.xavier@pucrs.br) on 2017-07-03T15:03:25Z No. of bitstreams: 1 TES_TACIANO_DRECKMANN_PEREZ_COMPLETO.pdf: 1779781 bytes, checksum: 2111ccea963be0eea76bdbb7d24321d9 (MD5) / Made available in DSpace on 2017-07-03T15:03:25Z (GMT). No. of bitstreams: 1 TES_TACIANO_DRECKMANN_PEREZ_COMPLETO.pdf: 1779781 bytes, checksum: 2111ccea963be0eea76bdbb7d24321d9 (MD5) Previous issue date: 2017-05-03 / Sistemas computacionais da atualidade tradicionalmente separam mem?ria e armazenamento. Linguagens de programa??o tipicamente refletem essa distin??o usando diferentes representa??es para dados em mem?ria (ex. estruturas de dados, objetos) e armazenamento (ex. arquivos, bancos de dados). A movimenta??o de dados entre esses dois n?veis e representa??es, bidirecionalmente, compromete tanto a efici?ncia do programador quanto de execu??o dos programas. Tecnologias recentes de memoria n?o-vol?til, tais como mem?ria de transi??o de fase, resistiva e magnetoresistiva, possibilitam combinar mem?ria principal e armazenamento em uma ?nica entidade de mem?ria persistente, abrindo caminho para abstra??es mais eficientes para lidar com persist?ncia de dados. Essa tese de doutorado introduz uma abordagem de projeto para o ambiente de execu??o de linguagens com ger?ncia autom?tica de mem?ria, baseado numa combina??o original de persist?ncia ortogonal, programa??o para mem?ria persistente, persist?ncia por alcance, e transa??es com atomicidade em caso de falha. Esta abordagem pode melhorar significativamente a produtividade do programador e a efici?ncia de execu??o dos programas, uma vez que estruturas de dados em mem?ria passam a ser persistentes de forma transparente, sem a necessidade de programar explicitamente o armazenamento, e removendo a necessidade de cruzar fronteiras sem?nticas. De forma a validar e demonstrar a abordagem proposta, esse trabalho tamb?m apresenta JaphaVM, a primeira M?quina Virtual Java especificamente projetada para mem?ria persistente. Resultados experimentais usando benchmarks e aplica??es reais demonstram que a JaphaVM, na maioria dos casos, executa as mesmas opera??es cerca de uma a duas ordens de magnitude mais rapidamente do que implementa??es equivalentes usando bancos de dados ou arquivos, e, ao mesmo tempo, requer significativamente menos linhas de c?digo. / Current computer systems separate main memory from storage. Programming languages typically reflect this distinction using different representations for data in memory (e.g. data structures, objects) and storage (e.g. files, databases). Moving data back and forth between these different layers and representations compromise both programming and execution efficiency. Recent nonvolatile memory technologies, such as Phase-Change Memory, Resistive RAM, and Magnetoresistive RAM make it possible to collapse main memory and storage into a single layer of persistent memory, opening the way for simpler and more efficient programming abstractions for handling persistence. This Ph.D. thesis introduces a design for the runtime environment for languages with automatic memory management, based on an original combination of orthogonal persistence, persistent memory programming, persistence by reachability, and lock-based failure-atomic transactions. Such design can significantly increase programming and execution efficiency, as in-memory data structures are transparently persistent, without the need for programmatic persistence handling, and removing the need for crossing semantic boundaries. In order to validate and demonstrate the proposed concepts, this work also presents JaphaVM, the first Java Virtual Machine specifically designed for persistent memory. In experimental results using benchmarks and real-world applications, JaphaVM in most cases executed the same operations between one and two orders of magnitude faster than database- and file-based implementations, while requiring significantly less lines of code.
812

The use of Java in large scientific applications in HPC environments

Fries, Aidan 21 January 2013 (has links)
Java is a very commonly used computer programming language, although its use amongst the scientific and High Performance Computing (HPC) communities remains relatively low. In this thesis, the option of using Java for developing scientific applications intended for execution in HPC environments is investigated. The data reduction pipeline for the Gaia space astronomy mission is an example of a large software project that has been written in Java, and will run in HPC environments. The efficient execution of the Gaia data reduction pipeline was one of the main motivations behind this thesis, although this thesis largely remains a general investigation into the use of Java in HPC. HPC is a fast changing field, in terms of hardware, software, and the scale of the problems that are being tackled. Amongst the most significant trends in HPC in recent years have been the increase in the number of cores per computing node, and the increase in the size of datasets that must be processed. A significant challenge in HPC is ensuring that data is made available in a particular node, when a core is ready to process it, thereby avoiding deadtime and providing high throughput. One danger to throughput is a decrease in the performance of shared storage devices, as the number of concurrent processes that are accessing those devices increases. Given the trends mentioned above, efficient data communication is very important for many applications running in HPC environments. In this thesis, we present an investigation into the current options for providing efficient data communication to Java applications in HPC environments. We investigate a number of implementations of Message Passing in Java (MPJ) and compare their performance. We present a new communication middleware application, called MPJ-Cache. This middleware makes use of an underlying implementation of Message-Passing in Java (MPJ), and adds prefetching, caching, and file-splitting functionality. It presents application developers with a high-level API, thus providing high-performance, as well as enabling high productivity amongst application developers. We compare the aggregate data rate that can be achieved though the use of this middleware, against that which can be achieved though direct access of a high performance shared storage device (GPFS), while distributing data amongst the nodes of a computer cluster. The use of MPJ-Cache has shown to provide an aggregate data rate of up to 103Gbps. Java applications are executed within a Java Virtual Machine (JVM), which is a managed runtime environment. The execution of applications within such a runtime environment is very different from the execution of native code, that was compiled ahead-of-time. The Java runtime environment consists of several sophisticated components, including the core runtime system, a garbage collector and a Just-In-Time (JIT) compiler. Modern JVMs strive to provide out-of-the-box high-performance, however in some situations, users may want to tune the JVM to better suit the behaviour and needs of a particular application. In order to do this, a profile of the target application should be obtained.
813

Bug-finding and test case generation for java programs by symbolic execution

Bester, Willem Hendrik Karel 12 1900 (has links)
Thesis (MSc)--Stellenbosch University, 2013. / ENGLISH ABSTRACT: In this dissertation we present a software tool, Artemis, that symbolically executes Java virtual machine bytecode to find bugs and automatically generate test cases to trigger the bugs found. Symbolic execution is a technique of static software analysis that entails analysing code over symbolic inputs—essentially, classes of inputs—where each class is formulated as constraints over some input domain. The analysis then proceeds in a path-sensitive way adding the constraints resulting from a symbolic choice at a program branch to a path condition, and branching non-deterministically over the path condition. When a possible error state is reached, the path condition can be solved, and if soluble, value assignments retrieved to be used to generate explicit test cases in a unit testing framework. This last step enhances confidence that bugs are real, because testing is forced through normal language semantics, which could prevent certain states from being reached. We illustrate and evaluate Artemis on a number of examples with known errors, as well as on a large, complex code base. A preliminary version of this work was successfully presented at the SAICSIT conference held on 1–3 October 2012, in Centurion, South Africa. / AFRIKAANSE OPSOMMING: In die dissertasie bied ons ’n stuk sagtewaregereedskap, Artemis, aan wat biskode van die Java virtuele masjien simbolies uitvoer om foute op te spoor en toetsgevalle outomaties voort te bring om die foute te ontketen. Simboliese uitvoering is ’n tegniek van statiese sagteware-analise wat behels dat kode oor simboliese toevoere—in wese, klasse van toevoer—geanaliseer word, waar elke klas geformuleer word as beperkinge oor ’n domein. Die analise volg dan ’n pad-sensitiewe benadering deur die domeinbeperkinge, wat volg uit ’n simboliese keuse by ’n programvertakking, tot ’n padvoorwaarde by te voeg en dan nie-deterministies vertakkings oor die padvoorwaarde te volg. Wanneer ’n moontlike fouttoestand bereik word, kan die padvoorwaarde opgelos word, en indien dit oplaasbaar is, kan waardetoekennings verkry word om eksplisiete toetsgevalle in ’n eenheidstoetsingsraamwerk te formuleer. Die laaste stap verhoog vertroue dat die foute gevind werklik is, want toetsing word deur die normale semantiek van die taal geforseer, wat sekere toestande onbereikbaar maak. Ons illustreer en evalueer Artemis met ’n aantal voorbeelde waar die foute bekend is, asook op ’n groot, komplekse versameling kode. ’n Voorlopige weergawe van die´ werk is suksesvol by die SAICSIT-konferensie, wat van 1 tot 3 Oktober 2012 in Centurion, Suid-Afrika, gehou is, aangebied.
814

Java jämfört med C#, vilken sorterar snabbast på Raspberry Pi? / Java compared to C#, which sorts fastest on Raspberry Pi?

Olofsson, Christoffer January 2015 (has links)
I denna studie skall Java och C# ställas mot varandra och köras på en Raspberry Pi för att se vilken av dem som kan sortera heltalsvektorer snabbast. Som Java-motor kommer Hot-Spot att användas och Mono för C# och de ska sortera vektorer med sorteringsalgoritmer från språkens stödbibliotek och en implementerad algoritm baserad på urvalssortering. Detta arbete är till för att dem som vill arbeta med ett objektorienterat språk på Raspberry Pi, men inte har bestämt sig än för vilket som skall användas. Resultatet visar att Java presterar bättre än C# i de flesta fall och att det finns undantag då C# presterar bättre. / In this study, Java and C# is set against each other and running on a Raspberry Pi to see if they have similar processing times, or if there is a clear difference between the two languages. As Java-engine HotSpot will be used and Mono for C# and they will sort vectors with sorting algorithms from the language's support library and one implemented algorithm based on selection sort. This work is for those who want to work with an object-oriented language on Raspberry Pi, but has not decided yet on which one to choose. The result shows that Java performs better than C# in most cases, but in some cases C# is performing better.
815

Predlog proširenja Android operativnog sistema servisima digitalne televizije / One approach to the extension of Android operating system with digital TV services

Lukić Nemanja 02 October 2014 (has links)
<p>Ova disertacija se bavi istraživanjem u oblasti integracije servisa digitalne televizije u moderne uređaje potrošačke elektronike. Cilj teze je da razvije pristup za sistemsko proširenje Android operativnog sistema servisima digitalne televizije, i da predloži rešenje koje omogućuje rad u realnom vremenu. Kvalitet rešenja se ocenjuje odgovarajućim metrikama preko ocene kvaliteta implementirane Java objektno orijentisane sprege za TV servise. Osnovni doprinos teze se ogleda u definisanju jedinstvene programske sprege servisa digitalne televizije na platformama koje prate paradigmu virtuelne mašine. Predloženo rešenje omogućuje razvoj aplikacija optimizovanih za izvršavanje na TV uređajima i dalje sprezanje podataka TV servisa sa ostatkom Android ekosistema.</p> / <p>This PhD dissertation addresses the problem of integration of the digital TV services inside modern consumer electronic devices. The main focus of the dissertation is a development of systematic approach for extension of Android operating system with support for digital television. Combined with this, the dissertation describes solution in form of hardware platform with accompanying software that closely follows this approach and achieves real-time performance. Quality of proposed solution is benchmarked using metrics for measuring quality of object-oriented program code. The main contribution of the dissertation is unification of system software API for digital television on Android-based platforms. Proposed solution allows development of TV-centric software capable of real-time performance, and further native integration of data coming from DVB broadcast into Android ecosystem.</p>
816

Sur la modélisation et la simulation du couplage thermo-chimio-mécanique au sein des élastomères chargés

Nguyen van, Thien an 29 November 2012 (has links)
Dans ce travail prospectif, nous proposons une modélisation intégrant un couplage thermo-chimio-mécanique pour les élastomères chargés et dissipatifs. En se basant sur les résultats et les observations de la littérature, nous avons développé un cadre thermodynamique général et proposé trois modèles phénoménologiques de comportement. Nos outils principaux sont la thermodynamique des processus irréversibles, la notion d'états intermédiaires, les matériaux standards généralisés. Une variable interne correspondant au degré de réticulation est introduite. L'évolution de cette variable prend en compte une influence thermique et mécanique à travers la pression hydrostatique. Il s'agit d'une des originalités de cette approche. Ce travail se place dans le cadre général des grandes transformations. Un schéma numérique de résolution monolithique des équations bilan par éléments finis est proposé. Ce schéma tient compte de l'hypothèse de faible compressibilité du matériau par un choix judicieux de relations faibles entre inconnues et par le choix des approximations pour ces dernières. La résolution en temps est traitée par un schéma d'Euler implicite associé à une technique de linéarisation de Newton-Raphson. Un modèle orienté objet du matériau thermo-chimio-mécanique est proposé et implémenté en langage Java dans le code FEMJava. Quelques exemples de simulation illustrent le potentiel de ces modèles en reproduisant de manière qualitative des observations expérimentales. / In this prospective study, we propose a new thermo-chemo-mechanical coupled model for dissipative filled rubber. This work is based on experimental observations and results from the literature. In this context, we have developed three phenomenological constitutive laws within a generic thermodynamical framework. The models enters the category of the thermodynamics of irreversible processes. Intermediate states are taken into account in the model which is build within the generalized standard materials framework. The degree of cure is introduced as an internal variable. The evolution of this variable takes into account the thermal influence and the mechanical influence via the hydrostatic pressure. This is one of the features making this model original. A finite strains approach is considered. A finite element model is applied to the global problem. A monolithic solution scheme is built based on an implicit Euler scheme associated to a of Newton-Raphson linearization technique. This scheme takes into account the weak compressibility of the material condition through, first, a judicious choice of weak relations between unknowns, and second, an adequate choice of approximations for the unknowns of problem to enforce the stability of the numerical scheme. An object-oriented model for the constitutive equations of the thermo-chemo-mechanical model is proposed and is implemented in Java into the FEMJava code. Some simulations illustrate the high potential of these models in qualitatively reproducing these experimental observations.
817

[en] A SPECIFICATION FOR A JAVA REGISTER-BASED MACHINE / [pt] UMA ESPECIFICAÇÃO DE MÁQUINA DE REGISTRADORES PARA JAVA

GUILHERME CAMPOS HAZAN 21 May 2007 (has links)
[pt] A linguagem Java foi definida tendo como foco a portabilidade. O código gerado pela compilação é interpretado por uma máquina virtual, e não diretamente pelo processador destino, como um programa em C. Este código intermediário, também conhecido como bytecode, é a chave da portabilidade de Java. Os Bytecodes Java usam uma pilha para manipular os operandos das instruções. O uso de pilha tem suas vantagens e desvantagens. Dentre as vantagens, podemos citar a simplicidade da implementação do compilador e da máquina virtual. A principal desvantagem é a redução na velocidade de execução dos programas, devido à necessidade de se mover os operandos para a pilha e retirar dela o resultado, gerando um aumento no número de instruções que devem ser processadas. Diversos estudos indicam que máquinas virtuais baseadas em registradores podem ser mais rápidas que as baseadas em pilha. Decidimos criar uma nova especificação de bytecodes, específicos para máquinas virtuais baseadas em registradores. Esperamos com isso obter um aumento no desempenho das aplicações. / [en] The Java language was created with a focus on portability. The code generated by the compiler is interpreted by a virtual machine, and not directly by the target processor, like programs written in C. This intermediate code, also known as bytecode, is the key to Java's portability. The Java Bytecodes use a stack to manipulate the instruction operands. The use of stack has its their pros and cons. Among the advantages, we can cite the simplicity of implementation of the compiler and virtual machine. On the other hand, there is a speed reduction in the program's execution, due to the need to move the operands to and from the stack, and retrieve results from it, increasing the number of instructions that are processed. Much study has been done that indicating that register-based virtual machines can be faster than the ones based on stacks. Based on this, we decided to create a new bytecode specification, proper for a virtual machine based on registers. By doing this, we hope to obtain an increase in an application's performance.
818

GNSS undersökning : För bättre precision i smartphones

Fredin, Elias January 2019 (has links)
To be able to receive a position from a smartphone user is very valuable. Wit- hout this many applications would not work at all. For many applications the existing position libraries are not good enough, for example augmented reality applications which requires millimeter precision for a good experience. The goal of this report is to study if GNSS positioning can be improved for smartphones.The study focuses mostly on Android and has the goal of using the method “trilateration” to combine multiple satellites position and their distance to a receiver in order to calculate a real position. The projekt consists of two parts: and Android application and a Java Tomcat server. The android applica- tion uses the programming library “Location” to access raw GNSS-data for cal- culating the distance between the receiver and the satellites, which is called “pseudorange”, and the server functions as a REST API which provides GALI- LEO satellites current position. The project tries to combine these parameters in the Application to create a position. Although the report did not succeed in com- bining these parameters to calculate a position, it does describe of it is still pos- sible; which applications has succeeded before and what others ought to think about when starting similar studies. This project would require a bit more time to reach its end goal, but the fact that raw GNSS-data has become available to all developers on Android is a promising development since others may conti- nue or do their own research. This project focuses solely on GALILEO satelli- tes, mostly to time constraints. In future works all available satellite constella- tions should be used for better results. / Att få en position av en smartphoneanvändare är mycket användbart, utan detta skulle många applikationer inte fungera alls. För många applikationer är den givna positionerings biblioteken inte tillräckligt bra dock, som t.ex. för augmen- ted reality applikationer som kräver millimeter-säker precision för en bra an- vändarupplevelse. Målet med denna rapport är att undersöka om GNSS-positio- nering kan förbättras inom smartphones. Undersökningen fokuserar mest på Android och har som målsättning att använda metoden “trilateration” för att kombinera satelliternas position och dess distans till en mottagare för att sedan räkna ut en verklig position. Projektet består av två delar: en Android applika- tion och en Java TomCat server. Android applikationen använder programme- rings biblioteket “Location” för att få tag på rå GNSS-data för att räkna ut di- stansen mellan satelliter och mottagaren, vilket kallas för “pseudorange”, och servern fungerar som ett REST API som returnerar GALILEO-satelliters nuva- rande position. Applikationen försöker kombinera pseudorange och satelliter- nas position med trilateration för at få ut mottagarens position. Rapporten lyck- as inte uppnå detta mål dock, men den beskriver hur det ändå är möjligt, vilka andra applikationer som lyckats och vad andra bör tänka på om de vill göra lik- nande studier. Det skulle behövas lite mer tid för att avsluta detta projekt, men faktumet att råa GNSS-data har blivit tillgänglig för alla Android-utvecklare, från att ha varit helt gömd, är en lovande utveckling då det låter andra forska på egen hand. Detta projekt fokuserar enbart på GALILEO satelliter, mestadels för tidsbegränsningar.
819

Avaliação de manutenibilidade entre as abordagens de web services RESTful e SOAP-WSDL / Evaluation of maintainability among RESTful and SOAP-WSDL web services approaches

Oliveira, Ricardo Ramos de 27 April 2012 (has links)
A Engenharia de Software tem desenvolvido técnicas e métodos para apoiar o desenvolvimento de software confiável, flexível, com baixo custo de desenvolvimento e fácil manutenção. A avaliação da manutenibilidade contribui para fornecer meios para produzir software com alta qualidade. Este trabalho apresenta um experimento controlado para avaliar a manutenibilidade entre as abordagens de web services: RESTful e SOAP-WSDL. Esta avaliação foi conduzida usando 3 programas implementados na linguagem de programação Java e com a mesma arquitetura. Com base na arquitetura projetada, os web services desenvolvidos foram utilizados como objetos em estudos de caso, possibilitando avaliar e comparar a sua manutenibilidade. Os resultados obtidos demonstraram relações entre as informações sobre o custo e a qualidade dos serviços web, que contribuíram para esclarecer os critérios para a obtenção de uma boa relação entre o custo da manutenção e a evolução dos serviços web. Para concluir, os resultados indica que os web services RESTful são mais manuteníveis do lado do servidor, e os web services SOAP-WSDL são mais manuteníveis do lado do cliente. Os estudos realizados no experimento controlado são promissores e podem auxiliar na redução de custo na manutenção dos serviços web, melhorando dessa forma a qualidade do software no geral / Software Engineering has developed techniques and methods to support the development of reliable software, exible, low development cost and easy maintenance. The evaluation of maintainability contributes in this direction, providing the means to produce software with high quality. This paper presents an controlled experiment to evaluate the maintainability between the approaches of web services: RESTful and SOAP-WSDL. This evaluation was conducted using four programs implemented in the Java programming language, using the same architecture. Based on the designed architecture, Web services were developed as objects used in case studies, allowing to evaluate and compare its maintainability. The results showed relationships between the information on the cost and quality of web services, which contributed to clarify the criteria for obtaining a good relationship between the cost of maintenance and evolution of web services. In conclusion, the results indicate the RESTful web services are more maintainable server side in contrast to the SOAP-WSDL web services are more maintainable client side. Studies in controlled experiments are promising and may help reduce the maintenance cost of web services, thus improving overall software quality
820

Depuração simbólica extensível para sistemas de objetos distribuídos / Extensible symbolic debugging for distributed object systems

Mega, Giuliano 07 March 2008 (has links)
Depurar sistemas distribuídos continua uma tarefa difícil, mesmo após 30 anos de pesquisa intensa. Embora essa situação possa ser parcialmente atribuída à complexidade das execuções concorrentes, o rápido passo de desenvolvimento das plataformas e tecnologias para computação distribuída também carrega a sua parcela de culpa, por encurtar a vida de muitas ferramentas potencialmente úteis. Neste trabalho, apresentamos uma análise dos principais problemas, técnicas e ferramentas ligados à depuração de sistemas concorrentes e discutidos na literatura. Baseados nessa análise, desenvolvemos e apresentamos uma nova técnica, simples e portátil, que pode ser aplicada a sistemas distribuídos que utilizam chamadas síncronas e bloqueantes. Essa técnica, concebida para sobreviver à heterogeneidade, é validada por meio da implementação de um arcabouço escrito para plataforma Eclipse e instanciado para sistemas de objetos distribuídos baseados em Java/CORBA. / After over thirty years of intense research, debugging distributed systems is still regarded as a difficult task. While this situation could be partially blamed on the fact that concurrent executions are complex, the fast pace of evolution witnessed with distributed computing technologies have also played its by shortening the lifespan of many potentially useful debugging tools. This work presents an analysis of the main issues, techniques and tools in the field of parallel, distributed, and concurrent debugging in general. Based on this analysis, we develop and present a simple and portable technique targeted at synchronous-call-based distributed systems. This technique, designed for portability, is validated through the implementation of an Eclipse-based framework that is instantiated for Java/CORBA distributed object systems.

Page generated in 0.0761 seconds